Чи є параметр завантаження ядра Linux для налаштування адреси IPv6?


16

Я знаю, що є параметр з ім'ям, ipякий дозволяє налаштувати IPv4 адреси на ядрі Linux через завантажувач. Це виглядає наступним чином:

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

Я шукаю рівний параметр для конфігурації IPv6. Я нічого не міг знайти про це в документаціях на ядро.

Оновлення : Через те, що багато з вас запитували, навіщо мені це потрібно: з'явилася ідея використовувати конфігурацію ядра, пов'язану з цією проблемою. Я підозрюю, що звичайна конфігурація інтерфейсу завантаження не робиться, оскільки інтерфейси вже налаштовані. Причиною цього могло бути те, що я використовую середовище перед завантаженням із сервером Dropbear SSH, щоб дозволити мені розблокувати зашифрований кореневий розділ. 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 :: мертвий: яловичина] :: [2001: db8 :: кафе: немовля]: 64 :: eth0: немає ip = 192.0.2.5 :: 192.0.2.1: 255.255.255.0 :: eth0: немає ...


Ця відповідь суперечить прийнятій відповіді. Це може бути наслідком застарілої відповіді. Щоб усунути будь-які сумніви щодо правильності відповіді, було б добре включити посилання на джерело цієї інформації.
kasperd

1
Це, мабуть, еволюція того, що RedHat реалізував, про що згадувалося у відповіді Майкла Гемптона. Я перевірив це в Debian Jessie, і це не спрацювало. Я все ще шукаю загальний спосіб Linux це зробити.
aef

2

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


Так. Я міг би сам це побудувати, але це було не те, що я шукав. Ще дякую за ідею.
афе
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.