Existe-t-il un paramètre de démarrage du noyau Linux pour configurer une adresse IPv6?

16

Je sais qu'il existe un paramètre nommé ipqui vous permet de configurer les adresses IPv4 sur le noyau Linux via le chargeur de démarrage. Cela ressemble à ceci:

ip=192.0.2.1::192.0.2.62:255.255.255.192::eth0:none

Je recherche un paramètre égal pour la configuration IPv6. Je n'ai rien trouvé à ce sujet dans les documentations du noyau.

Mise à jour : Beaucoup d'entre vous ont demandé pourquoi j'en aurais besoin: l'idée d'utiliser une configuration du noyau est venue liée à ce problème. Je soupçonne que la configuration régulière de l'interface de démarrage n'est pas effectuée, car les interfaces sont déjà en place. La raison pourrait être que j'utilise un environnement de pré-démarrage avec un serveur Dropbear SSH pour me permettre de déverrouiller ma partition racine chiffrée. Les adresses IP de cet environnement sont configurées via GRUB avec le ip=paramètre. Il n'y a pas de DHCP ou de publicité de routeur disponible sur ce segment Ethernet et comme il s'agit du segment de liaison montante fourni par une grande société d'hébergement, il n'y a aucun moyen de changer ce fait.

aef
la source
En fait, il n'y en a pas. Vous pouvez activer la configuration automatique IPv6, mais ce n'est probablement pas ce que vous recherchez. Y a-t-il un résultat spécifique que vous essayez d'atteindre (c.-à-d. Quelle est la raison pour laquelle vous voulez éviter la configuration IPv6 dans le processus d'initialisation de la machine?) Le ip=paramètre était initialement destiné à configurer la pile IP avant que le noyau essaie de monter un système de fichiers racine NFS , mais je pense que vous devez vous fier à autre chose pour obtenir le même résultat avec IPv6 (très probablement SLAAC).
pino42
Je connais SLAAC. Mais je dois le configurer manuellement.
aef
3
Mon sentiment est que depuis l'introduction de la fonctionnalité "early userspace" (initramfs soit incorporé dans le noyau ou en tant que fichier séparé comme initrd traditionnel), vous êtes encouragé à faire des choses telles que la configuration des adresses IP là-bas au lieu d'une spéciale unique Paramètres de ligne de commande. C'est probablement pourquoi il existe un paramètre de ligne de commande historique pour IPv4, mais aucun n'a été ajouté pour IPv6.
Celada
À quelle heure du processus de démarrage avez-vous besoin qu'il soit défini?
pino42
Il est extrêmement peu probable que vous en ayez besoin. Qu'est - ce exactement que vous essayez d'accomplir?
Michael Hampton

Réponses:

7

Désolé, mais si vous le souhaitez, vous devrez le créer vous-même ou, plus probablement, réutiliser l'implémentation de quelqu'un d'autre.

L' ip=option de ligne de commande que vous avez utilisée fait en fait partie du code de démarrage du noyau pour monter un système de fichiers racine NFS . Il n'a jamais été étendu pour IPv6, et il n'y a pas de paramètre de démarrage du noyau pour configurer IPv6 au démarrage.

Cela dit, certaines distributions Linux telles que Red Hat ont implémenté leur propre ipv6=paramètre de démarrage pour leur support d'installation. Vous pourrez peut-être réutiliser ce code dans vos initramfs personnalisés.

Michael Hampton
la source
3

Selon Fedora, le paramètre ip = peut être utilisé avec des adresses IPv4 ou IPv6. Les adresses IPv6 doivent être placées entre crochets. Si vous avez besoin des deux, vous pouvez utiliser plusieurs options ip = sur la ligne du noyau comme dans:

... ip = [2001: db8 :: dead: beef] :: [2001: db8 :: cafe: babe]: 64 :: eth0: aucun ip = 192.0.2.5 :: 192.0.2.1: 255.255.255.0 :: eth0: aucun ...

Owen
la source
Cette réponse contredit la réponse acceptée. Cela peut être dû au fait que la réponse acceptée est obsolète. Pour supprimer tout doute quant à la réponse correcte, il serait judicieux d'inclure un lien vers la source de ces informations.
kasperd
1
Il s'agit probablement d'une évolution de la chose mise en œuvre par RedHat, qui a été mentionnée dans la réponse de Michael Hampton. Je l'ai testé dans Debian Jessie et cela n'a pas fonctionné. Je suis toujours à la recherche d'une façon générique Linux de le faire.
2015
2

Tous vos paramètres de démarrage sont disponibles via / proc / cmdline après le démarrage. Ainsi, vous pouvez simplement configurer toutes les options nécessaires via le crochet mkinitcpio personnalisé, qui analyserait cmdline à la recherche de paramètres spécifiques. Vous pouvez utiliser ipv6 = comme ip = one.

Alex Laskin
la source
Ouais. Je pourrais le construire moi-même, mais ce n'était pas ce que je cherchais. Merci encore pour l'idée.
aef