Apakah ada parameter boot kernel Linux untuk mengkonfigurasi alamat IPv6?


16

Saya tahu ada parameter bernama ipyang memungkinkan Anda mengkonfigurasi alamat IPv4 pada kernel Linux melalui boot loader. Itu terlihat seperti berikut:

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

Saya mencari parameter yang sama untuk konfigurasi IPv6. Saya tidak dapat menemukan apa pun tentang ini di dokumentasi kernel.

Pembaruan : Karena banyak dari Anda bertanya mengapa saya memerlukan ini: Gagasan untuk menggunakan konfigurasi kernel muncul terkait dengan masalah ini . Saya menduga konfigurasi antarmuka boot-up biasa tidak dilakukan, karena antarmuka sudah naik. Alasannya mungkin karena saya menggunakan lingkungan pra-boot dengan server Dropbear SSH untuk memungkinkan saya membuka kunci partisi root yang dienkripsi. Alamat IP untuk lingkungan ini dikonfigurasikan melalui GRUB dengan ip=parameter. Tidak ada DHCP atau Iklan Router yang tersedia pada segmen Ethernet dan karena ini adalah segmen uplink yang disediakan oleh perusahaan hosting besar, tidak ada cara untuk mengubah fakta itu.


Sebenarnya tidak ada. Anda dapat mengaktifkan konfigurasi otomatis IPv6, tetapi itu mungkin bukan yang Anda cari. Apakah ada hasil spesifik yang Anda coba capai (yaitu apa alasan Anda ingin menghindari konfigurasi IPv6 dalam proses inisialisasi mesin?) ip=Parameter ini awalnya dimaksudkan untuk mengkonfigurasi tumpukan IP sebelum kernel mencoba memasang sistem file root NFS , tapi saya rasa Anda harus mengandalkan sesuatu yang lain untuk mencapai hasil yang sama dengan IPv6 (kemungkinan besar, SLAAC).
pino42

Saya tahu tentang SLAAC. Tapi saya perlu mengaturnya secara manual.
aef

3
Perasaan saya adalah bahwa sejak diperkenalkannya fitur "ruang pengguna awal" (initramfs baik tertanam dalam kernel atau sebagai file terpisah seperti initrd tradisional), Anda didorong untuk melakukan hal-hal seperti mengkonfigurasi alamat IP di sana alih-alih dengan satu kali khusus parameter baris perintah. Itu mungkin mengapa ada parameter baris perintah historis untuk IPv4 tetapi tidak ada yang ditambahkan untuk IPv6.
Celada

Pada jam berapa dalam proses boot, Anda perlu mengaturnya?
pino42

Sangat tidak mungkin Anda membutuhkan ini. Apa yang sebenarnya ingin Anda capai?
Michael Hampton

Jawaban:


7

Maaf, tetapi jika Anda menginginkan ini, Anda harus membuatnya sendiri, atau lebih mungkin, menggunakan kembali implementasi orang lain.

The ip=opsi baris perintah Anda telah menggunakan sebenarnya adalah bagian dari kode boot kernel untuk pemasangan NFS filesystem root . Tidak pernah diperpanjang untuk IPv6, dan tidak ada parameter boot kernel untuk mengkonfigurasi IPv6 pada saat boot.

Yang mengatakan, beberapa distribusi Linux seperti Red Hat telah menerapkanipv6= parameter boot mereka sendiri untuk media instalasi mereka. Anda mungkin dapat menggunakan kembali kode ini di initramfs khusus Anda.


3

Menurut Fedora, parameter ip = dapat digunakan dengan alamat IPv4 atau IPv6. Alamat IPv6 harus dilampirkan dalam tanda kurung. Jika Anda membutuhkan keduanya, Anda dapat menggunakan beberapa opsi ip = pada baris kernel seperti pada:

... 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: tidak ada ...


Jawaban ini bertentangan dengan jawaban yang diterima. Ini mungkin karena jawaban yang diterima sudah ketinggalan zaman. Untuk menghilangkan keraguan tentang jawaban mana yang benar, sebaiknya menyertakan tautan ke sumber informasi ini.
kasperd

1
Ini mungkin merupakan evolusi dari hal yang diimplementasikan RedHat, yang disebutkan dalam jawaban Michael Hampton. Saya mengujinya di Debian Jessie dan tidak berhasil. Saya masih mencari cara generik Linux untuk melakukannya.
aef

2

Semua parameter boot Anda tersedia melalui / proc / cmdline setelah boot. Jadi, Anda bisa mengatur semua opsi yang diperlukan melalui hook mkinitcpio kustom, yang akan mengurai cmdline dalam mencari param tertentu. Anda dapat menggunakan ipv6 = seperti ip = satu.


Ya. Saya bisa membangunnya sendiri, tetapi bukan itu yang saya cari. Masih terima kasih untuk idenya.
aef
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.