IPv6 pingはターゲットマシンがpingを返す場合にのみ可能

IPv6 pingはターゲットマシンがpingを返す場合にのみ可能

典型的な「a は b に ping できるが、b は a に ping できない」という問題があります。ping には IPv6 を使用しています。私の場合、特別なのは、「b」が「a」に ping した直後に「b」が「a」に ping できるということです。何度か試してみたところ、「-I eth0」で使用するネットワーク インターフェイスを指定すると、すべて正常に機能することがわかりました (そうです、Linux マシン上の 2 つのインターフェイスは同じサブネットにあります)。マシン「b」が ping を返すと何が変わるのかをまだ理解したいので、専門家の知識をいただければ幸いです。IPv4 を使用した ping は両方向で正常に機能します。「b」からの ping を停止すると、「a」は引き続き「b」に ping できますが、Ctrl-C で停止する必要があります。すぐに再試行しても失敗するので、upcache の問題ではないと思います。情報:

機械「a」

OS: Windows (ファイアウォールの例外に「ICMPv6」を追加)

IPv6 アドレス: fe80::21c:1cff:fe00:3de3

マシン「b」:

OS: Linuxビジーボックス

IPv6 アドレス: fe80::21c:1cff:fe00:3de4

「ping」と「ping6」バイナリの両方を試しました

答え1

リンクローカル IPv6 アドレス 常にインターフェースを指定する必要があります。その理由は、すべてのネットワークで同じアドレス ブロック (プレフィックス) が使用されるためです。アドレスはfe80::21c:1cff:fe00:3de3特定のリンク (インターフェース) 上でのみ一意です。別のリンクでは、まったく異なるデバイスに同じアドレスが使用される場合があります。

このため、リンク ローカル アドレスは、毎回インターフェイスを指定する必要があるため、手動での使用にはあまり役立ちません。他のコンピューターではインターフェイス名が異なる場合があり、相手側でそのリンクのインターフェイス名が何であるかがわからないため、アドレス付きのリンクを誰かに送信することはできません。

インターフェースの指定を避けるには、ルーティングできるグローバル スコープを持つ「実際の」 IPv6 アドレスが必要になります。

例えば、 https://cd34.com/rfc4193/、MAC アドレスを入力すると計算が行われ、使用する IPv6 アドレスのブロックが返されます。

あなたの場合、1台のコンピュータが他のコンピュータにpingを実行した後、そのIPv6アドレス およびそのインターフェースターゲット コンピュータに通知されるため、ping を返すことができます。

関連情報