Существует ли параметр загрузки ядра Linux для настройки адреса IPv6?


16

Я знаю, что есть параметр с именем, ipкоторый позволяет вам настраивать адреса IPv4 в ядре Linux через загрузчик. Это выглядит следующим образом:

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

Я ищу равный параметр для конфигурации IPv6. Я не мог найти ничего об этом в документации ядра.

Обновление : из-за того, что многие из вас спросили, зачем мне это нужно: возникла идея использовать конфигурацию ядра, связанную с этой проблемой. Я подозреваю, что обычная конфигурация интерфейса загрузки не сделана, потому что интерфейсы уже работают. Причиной этого может быть то, что я использую предзагрузочную среду с SSH-сервером Dropbear, чтобы позволить мне разблокировать мой зашифрованный корневой раздел. IP-адреса для этой среды настраиваются через GRUB с ip=параметром. В этом сегменте Ethernet нет ни DHCP, ни объявления маршрутизатора, и, поскольку это сегмент восходящей линии связи, предоставленный крупной хостинговой компанией, изменить этот факт невозможно.


На самом деле, нет ни одного. Вы можете включить автоконфигурацию IPv6, но это, вероятно, не то, что вы ищете. Есть ли конкретный результат, которого вы пытаетесь достичь (то есть, по какой причине вы хотите избежать настройки IPv6 в процессе инициализации компьютера?) Этот ip=параметр изначально предназначался для настройки стека IP до того, как ядро ​​попытается смонтировать корневую файловую систему NFS. , но я чувствую, что для достижения того же результата с IPv6 нужно полагаться на что-то другое (скорее всего, SLAAC).
pino42

Я знаю о SLAAC. Но мне нужно настроить его вручную.
AEF

3
У меня такое ощущение, что с момента появления функции «раннее пользовательское пространство» (initramfs, либо встроенный в ядро, либо в виде отдельного файла, такого как традиционный initrd), вам рекомендуется делать такие вещи, как настройку IP-адресов там, а не со специальным одноразовым параметры командной строки. Вероятно, поэтому существует исторический параметр командной строки для IPv4, но ни один не был добавлен для IPv6.
Селада

В какое время в процессе загрузки он должен быть установлен?
pino42

Крайне маловероятно, что вам это нужно. Что именно вы пытаетесь достичь?
Майкл Хэмптон

Ответы:


7

Извините, но если вы хотите этого, вам придется создать его самостоятельно или, что более вероятно, использовать чужую реализацию.

Используемая ip=вами опция командной строки на самом деле является частью загрузочного кода ядра для монтирования корневой файловой системы NFS. . Он никогда не был расширен для IPv6, и нет параметра загрузки ядра для настройки IPv6 во время загрузки.

Тем не менее, в некоторых дистрибутивах Linux, таких как Red Hat, реализован собственный ipv6=загрузочный параметр для их установочного носителя. Возможно, вы сможете повторно использовать этот код в своих пользовательских initramfs.


3

Согласно Fedora, параметр ip = может использоваться с адресами IPv4 или IPv6. Адреса IPv6 должны быть заключены в квадратные скобки. Если вам нужны оба, вы можете использовать несколько опций ip = в строке ядра, как в:

... 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: нет ...


Этот ответ противоречит принятому ответу. Это может быть связано с устаревшим принятым ответом. Чтобы устранить любые сомнения относительно того, какой ответ является правильным, было бы неплохо добавить ссылку на источник этой информации.
Касперд

1
Вероятно, это эволюция того, что реализовал RedHat, о котором говорилось в ответе Майкла Хэмптона. Я проверил это в Debian Jessie, и это не сработало. Я все еще ищу общий способ Linux сделать это.
AEF

2

Все ваши параметры загрузки доступны через / proc / cmdline после загрузки. Таким образом, вы можете просто настроить все необходимые параметры с помощью пользовательского хука mkinitcpio, который будет анализировать cmdline при поиске определенного параметра. Вы можете использовать ipv6 = как ip = one.


Да. Я мог бы построить это сам, но это было не то, что я искал. Еще спасибо за идею.
2012 г.
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.