マシンのping可能なIPv6アドレスを取得するにはどうすればよいですか?


13

私が試したとき: $ ip -6 addr 私は次のようなものを得ます:

inet6 fe80::d773:9cf0:b0fd:572d/64 scope link

マシン自体からそれをpingしようとすると:

$ ping6 fe80::d773:9cf0:b0fd:572d/64
unknown host

$ ping6 fe80::d773:9cf0:b0fd:572d
connect: Invalid argument

私は何を間違えていますか?

回答:


23

で始まるすべてのIPv6アドレスfe80:はIPv4 169.254.*.*アドレスと同等です。つまり、リンクローカルアドレスであり、直接接続されているネットワークセグメントでのみ到達可能で、そのセグメントに具体的に接続するNICを使用します。ただし、IPv4とは異なり、NICがリンクローカルIPv6アドレス 1つ以上のグローバルIPv6アドレスの両方を同時に持つことは完全に正常です。

以来fe80:IPv6アドレスがリンクローカルである、あなたはそれをpingするときに使用するネットワークインターフェイスを指定する必要があります。

例:

$ ping6 fe80::beae:c5ff:febe:a742
connect: Invalid argument

$ ping6 -I eth0 fe80::beae:c5ff:febe:a742
PING fe80::beae:c5ff:febe:a742(fe80::beae:c5ff:febe:a742) from fe80::beae:c5ff:febe:a742%eth0 eth0: 56 data bytes
64 bytes from fe80::beae:c5ff:febe:a742%eth0: icmp_seq=1 ttl=64 time=0.182 ms
64 bytes from fe80::beae:c5ff:febe:a742%eth0: icmp_seq=2 ttl=64 time=0.167 ms
...

次の%記号を使用して、アドレスの最後にインターフェイスを追加することもできますping6 fe80::beae:c5ff:febe:a742%eth0

この要件は、リンクローカルIPv6アドレス専用です。インターフェイスを指定せずに、グローバルにルーティング可能なIPv6アドレスにpingを実行できます。

$ ping6 2a00:1450:400f:80a::200e  # that's ipv6.google.com
PING 2a00:1450:400f:80a::200e(2a00:1450:400f:80a::200e) 56 data bytes
64 bytes from 2a00:1450:400f:80a::200e: icmp_seq=1 ttl=55 time=17.6 ms
64 bytes from 2a00:1450:400f:80a::200e: icmp_seq=2 ttl=55 time=19.6 ms
...

また、言うscope link:)右の出力に
ホッブズ

4
答えの付録と同じように、アドレスの末尾にインターフェイスを指定することもできますping6 fe80::beae:c5ff:febe:a742%eth0
。– Ferrybig

@Ferrybig:思い出させてくれてありがとう、私の答えを更新しました。
telcoM 2018

1
リモートipv6アドレスにpingを実行する場合、ホームルーターもipv6をサポートする必要があることに注意してください。古いルーターは、ipv6経由の接続をサポートするためのソフトウェア/ファームウェアのアップデートを常に備えているわけではありません。:あなたは、ほとんどの場合、次のメッセージを取得しますping6: UDP connect: No route to host
ダニエル・ゲル化

4

からman ping6、使用しているインターフェイスをpingに伝える必要があります。

-Iインターフェースアドレス

送信元アドレスを指定されたインターフェイスアドレスに設定します。引数は、数値のIPアドレスまたはデバイスの名前です。IPv6リンクローカルアドレスにpingする場合、このオプションは必須です。

たとえば、インターフェースがeth0次の場合:

ping6 -I eth0 fe80::xxxxxx

または、-Iオプションなし:

ping6 fe80:xxxxxx%eth0
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.