Saya tahu ada parameter bernama ip
yang 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.
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).Jawaban:
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 menerapkan
ipv6=
parameter boot mereka sendiri untuk media instalasi mereka. Anda mungkin dapat menggunakan kembali kode ini di initramfs khusus Anda.sumber
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 ...
sumber
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.
sumber