web-dev-qa-db-ja.com

IPv6アドレスを構成するためのLinuxカーネルブートパラメーターはありますか?

ipという名前のパラメーターがあることを知っています。これにより、ブートローダーを介してLinuxカーネルにIPv4アドレスを構成できます。次のようになります。

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

IPv6構成の同等のパラメーターを探しています。カーネルのドキュメントではこれについて何も見つかりませんでした。

更新:多くの方から、なぜこれが必要なのかと尋ねられたため、カーネル構成を使用するというアイデアが に関連して登場しましたこれ 問題。インターフェースがすでに起動しているため、通常の起動時のインターフェース設定が行われていないようです。これは、暗号化されたルートパーティションのロックを解除できるように、Dropbear SSHサーバーでプリブート環境を使用していることが原因である可能性があります。この環境のIPアドレスは、GRUB with ip=パラメータ。そのイーサネットセグメントで利用できるDHCPまたはルーターアドバタイズメントはありません。これは大規模なホスティング会社によって提供されるアップリンクセグメントであるため、その事実を変更する方法はありません。

16
aef

申し訳ありませんが、これが必要な場合は、自分でビルドするか、他の誰かの実装を再利用する必要があります。

ip=使用しているコマンドラインオプションは、実際には NFSルートファイルシステムのマウント のカーネルのブートコードの一部です。これはIPv6用に拡張されたことはなく、ブート時にIPv6を構成するためのカーネルブートパラメーターはありません。

つまり、Red Hatなどの一部のLinuxディストリビューションには 実装 が含まれていますipv6=インストールメディアのブートパラメータ。このコードをカスタムinitramfsで再利用できる場合があります。

7
Michael Hampton

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:なし...

3
Owen

すべてのブートパラメータは、ブート後に/ proc/cmdlineから利用できます。そのため、特定のパラメーターを検索するためにコマンドラインを解析するカスタムmkinitcpioフックを介して、必要なすべてのオプションを設定できます。 ipv6 =はip = oneのように使用できます。

2
Alex Laskin