僅當目標電腦回傳 ping 時才可進行 IPv6 ping

僅當目標電腦回傳 ping 時才可進行 IPv6 ping

我有一個典型的“a 可以 ping b 但 b 不能 ping a”問題。我使用 IPv6 進行 ping 操作。在我的例子中,特殊之處在於「b」可以在「b」ping「a」之後立即ping「a」。經過一番試驗,我意識到,如果我指定應與「-I eth0」一起使用的網路介面(是的,Linux 電腦上的兩個介面位於同一子網路中),一切都會正常運作。我仍然想了解機器“b”返回後會發生什麼變化,並且希望了解一些專業知識。使用 IPv4 的 Ping 在兩個方向上都可以正常運作。如果我停止“b”的 ping,“a”仍然可以 ping“b”,直到我使用 Ctrl-C 停止它。即使我立即嘗試,重試也會失敗,所以我相信這不是升級快取問題。一些資訊:

機器“一”

作業系統:Windows(在防火牆例外中新增了「ICMPv6」)

IPv6 位址:fe80::21c:1cff:fe00:3de3

機器“b”:

作業系統:Linux Busybox

IPv6 位址:fe80::21c:1cff:fe00:3de4

嘗試了“ping”和“ping6”二進位文件

答案1

鏈路本地 IPv6 位址 您始終需要指定介面。原因是每個網路都使用相同的位址區塊(前綴):位址fe80::21c:1cff:fe00:3de3僅在特定連結(介面)上唯一。在不同的鏈路上,相同的位址可能用於完全不同的設備。

因此,鏈路本地地址通常對於手動使用來說不是很有用,因為您每次都需要指定介面。在另一台電腦上,介面名稱可能不同,因此您不能只向某人發送帶有地址的鏈接,因為您不知道該連結的介面名稱在他們這邊。

為了避免指定接口,您需要具有可路由的全域範圍的「真實」IPv6 位址。

例如,您可以使用 https://cd34.com/rfc4193/,您在其中輸入 MAC 位址,它將進行計算並傳回要使用的 IPv6 位址區塊。

在您的情況下,一台計算機 ping 另一台計算機後,其 IPv6 位址 及其介面目標計算機已知,因此它可以 ping 回來。

相關內容