Czy istnieje parametr rozruchowy jądra systemu Linux, aby skonfigurować adres IPv6?


16

Wiem, że istnieje parametr o nazwie, ipktóry pozwala skonfigurować adresy IPv4 w jądrze Linuksa za pomocą modułu ładującego. To wygląda następująco:

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

Szukam równego parametru do konfiguracji IPv6. Nie mogłem nic na ten temat znaleźć w dokumentacji jądra.

Aktualizacja : Ponieważ wielu z was pytało, dlaczego powinienem tego potrzebować: wpadł na pomysł użycia konfiguracji jądra związanej z tym problemem. Podejrzewam, że zwykła konfiguracja interfejsu rozruchowego nie została wykonana, ponieważ interfejsy są już uruchomione. Powodem tego może być to, że korzystam ze środowiska przed uruchomieniem z serwerem Dropbear SSH, aby umożliwić mi odblokowanie zaszyfrowanej partycji głównej. Adresy IP dla tego środowiska są konfigurowane przez GRUB za pomocą ip=parametru. W tym segmencie sieci Ethernet nie jest dostępna reklama DHCP ani reklama routera, a ponieważ jest to segment łącza w górę oferowany przez dużą firmę hostingową, nie ma sposobu, aby zmienić ten fakt.


W rzeczywistości nie ma jednego. Możesz włączyć autokonfigurację IPv6, ale prawdopodobnie nie tego szukasz. Czy jest jakiś konkretny wynik, który próbujesz osiągnąć (tj. Z jakiego powodu chcesz uniknąć konfiguracji IPv6 w procesie inicjalizacji komputera?) Ten ip=parametr początkowo miał na celu skonfigurowanie stosu IP, zanim jądro spróbuje zamontować główny system plików NFS , ale uważam, że powinieneś polegać na czymś innym, aby osiągnąć ten sam wynik w przypadku IPv6 (najprawdopodobniej SLAAC).
pino42,

Wiem o SLAAC. Ale muszę to ustawić ręcznie.
aef

3
Mam wrażenie, że od czasu wprowadzenia funkcji „wczesnej przestrzeni użytkownika” (initramfs osadzony w jądrze lub jako osobny plik, taki jak tradycyjny initrd), zachęca się do takich czynności, jak konfiguracja adresów IP zamiast specjalnego jednorazowego działania Parametry wiersza polecenia. Prawdopodobnie dlatego istnieje historyczny parametr wiersza poleceń dla IPv4, ale nie dodano żadnego dla IPv6.
Celada

W którym momencie procesu rozruchu potrzebujesz go ustawić?
pino42,

Jest bardzo mało prawdopodobne, że potrzebujesz tego. Co dokładnie próbujesz osiągnąć?
Michael Hampton

Odpowiedzi:


7

Przykro nam, ale jeśli tego chcesz, musisz sam go zbudować, a raczej użyć ponownie implementacji innej osoby.

Opcja ip=wiersza poleceń, której używasz, jest właściwie częścią kodu rozruchowego jądra do montowania głównego systemu plików NFS . Nigdy nie został rozszerzony dla IPv6 i nie ma parametru rozruchowego jądra do konfigurowania IPv6 podczas uruchamiania.

To powiedziawszy, niektóre dystrybucje Linuksa, takie jak Red Hat, wprowadziły własny ipv6=parametr rozruchowy dla swoich nośników instalacyjnych. Możesz być w stanie ponownie użyć tego kodu w swoich niestandardowych initramfs.


3

Według Fedory parametru ip = można używać z adresami IPv4 lub IPv6. Adresy IPv6 muszą być ujęte w nawiasy kwadratowe. Jeśli potrzebujesz obu, możesz użyć wielu opcji ip = w linii jądra, jak w:

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


Ta odpowiedź jest sprzeczna z przyjętą odpowiedzią. Może to być spowodowane tym, że przyjęta odpowiedź jest nieaktualna. Aby usunąć wszelkie wątpliwości, która odpowiedź jest prawidłowa, dobrym pomysłem byłoby zamieszczenie linku do źródła tych informacji.
kasperd

1
Jest to prawdopodobnie ewolucja rzeczy, którą wdrożył RedHat, o której wspomniano w odpowiedzi Michaela Hamptona. Testowałem to w Debian Jessie i nie działało. Nadal szukam ogólnego sposobu na Linux-a.
aef

2

Wszystkie parametry rozruchowe są dostępne po / proc / cmdline. Możesz więc ustawić wszystkie potrzebne opcje za pomocą niestandardowego haka mkinitcpio, który analizowałby cmdline w poszukiwaniu określonego parametru. Możesz użyć ipv6 = like ip = one.


Tak. Mógłbym sam go zbudować, ale nie tego szukałem. Wciąż dziękuję za pomysł.
aef
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.