Ubuntu 10.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
不明なホストだと表示されます。なぜですか?
答え1
コメントで言及されていたが、ifconfigインターフェースを起動します。この場合、問題はifconfiginterfaces
ファイルを使用しない(インターフェイスにパケットの受信を開始するよう指示するだけです)。この設定ファイルはDebian/Ubuntuに固有のもので、アップダウンツールifup
とifdown
。したがって、次のものを使用する必要があります。
ifup eth0
それでも、設定ファイルの構文では「iface
interface
新しい論理インターフェースを表すには、「 」ではなく「 」を使用します。(インターフェース(5)完全な構文の説明についてはマニュアルを参照してください。
(あなたのpre-up
行は、1) 不要です: 自動的に行われます。2) 誤入力です: 「modprobe
」です。)
アドレスfe80::a00:27ff:fe1e:5edf
は設定によるものではなく、IPv6で必要なため表示されます。すべてのインターフェースにはリンクローカルアドレスは「インターフェース ID」(MAC アドレス) に基づいて作成されます。これらのアドレスは Linux カーネルによって自動的に追加されます。
(インターフェースには複数のアドレスを設定できることに注意してください。 と を同じインターフェースに設定してもfe80::1
、fe80::a00:27ff:fe1e:5edf
問題なく動作します。)
また、fe80::/10
住所はリンクローカルつまり、彼らは決してルーティングされない、gateway
構成設定は意味がありません。
つまり、リンクローカルアドレスにアクセスしようとするたびに、使用するインターフェースを手動で指定する必要があります。これは次のように行います。追加するゾーンインデックスアドレスに追加します。(Linuxでは、ゾーンインデックスはインターフェース名と同じです。)たとえば、eth0、以下を追加する必要があります%eth0
:
ping6 fe80::a00:27ff:fe1e:5edf%eth0
(Oliver Salzburg の回答も正しいです。単一のホストを参照する場合は、サブネット マスクを指定しないでください。)
答え2
サブネットマスクを指定する必要はないと思いますping
。
ping6 fe80::a00:27ff:fe1e:5edf
大丈夫だと思います。