web-dev-qa-db-ja.com

IPv6アドレスが設定されていません

Ubuntu10.04でIPv6アドレスを設定する際に問題が発生しました。ネットワークマネージャーを無効にしました。私の/ etc/network/interfaceファイルは次のようになります。

iface eth0 inet6 static
pre-up modeprobe ipv6
address fe80::1
netmask 10
gateway fe80::2

IPアドレスをfe80 :: 1として設定しましたが、eth0を起動するとifconfigが表示されます

inet6 addr:  fe80::a00:27ff:fe1e:5edf/64 Scope:Link

なぜ異なるIPアドレスが表示されるのですか?

走ると

ping6 fe80::a00:27ff:fe1e:5edf/64

不明なホストを教えてくれます。どうして ?

2
Akshit Khurana

コメントで、ifconfigを使用してインターフェイスを起動すると述べました。この場合、問題はifconfiginterfacesファイルを使用しないことです(パケットの受信を開始するようにインターフェイスに指示するだけです) 。この設定ファイルはDebian/Ubuntuに固有であり、ifupdownツールifupおよびifdownによってのみ読み取られます。したがって、以下を使用する必要があります。

ifup eth0

それでも、構成ファイルの構文では、新しい論理インターフェースを示すために「iface」ではなく「interface」が使用されるため、構成は拒否されます。 (完全な構文の説明については、interfaces(5)マニュアルを参照してください。)

pre-up行も1)不要:自動的に実行され、2)入力ミス: "modprobe"です。)


fe80::a00:27ff:fe1e:5edfアドレスは、構成のためではなく、IPv6がそれを必要とするために表示されます。すべてのインターフェースには、「インターフェースID」(そのMACアドレス)に基づくリンクローカルアドレスが必要です。これらのアドレスは、Linuxカーネルによって自動的に追加されます。

(インターフェイスには多くのアドレスを含めることができます。同じインターフェイスにfe80::1fe80::a00:27ff:fe1e:5edfの両方を含めることができますが、それでも機能します。)

また、fe80::/10アドレスはlink-local –つまり、 ルーティングされることはありません であり、gateway構成設定は無意味であることを忘れないでください。 。

つまり、リンクローカルアドレスにアクセスしようとするときは常に、使用するインターフェイスを手動で指定する必要があります。これは、アドレスに ゾーンインデックス を追加することによって行われます。 (Linuxでは、ゾーンインデックスはインターフェイス名と同じです。)たとえば、eth0を介して接続するには、%eth0を追加する必要があります。

ping6 fe80::a00:27ff:fe1e:5edf%eth0

(Oliver Salzburgの答えも正しいです。単一のホストを参照する場合は、サブネットマスクを指定しないでください。)

3
user1686

pingのサブネットマスクを指定する必要はないと思います。

ping6 fe80::a00:27ff:fe1e:5edf

大丈夫なはずです。

0
Der Hochstapler