Linux
單獨的GRE隧道不能互相ping通
我有兩個系統都通過隧道連接到核心路由伺服器。這些系統都具有來自相同 /64 IPv6 前綴的客戶端地址。從每個客戶端,我都可以毫無問題地 ping 伺服器,反之亦然。
但是,我無法 ping 其他客戶端。我想知道是否有任何方法可以做到這一點。
這是我嘗試 ping 另一個客戶端時的錯誤:
PING 2602:fed2:7706::4(2602:fed2:7706::4) 56 data bytes From 2602:fed2:7706::2 icmp_seq=1 Time exceeded: Hop limit
2602:fed2:7706::2
本地客戶端在哪裡,2602:fed2:7706::4
我要 ping 的另一個客戶端在哪裡。編輯:客戶端仍然需要能夠 ping 伺服器。本質上,我想在所有客戶端和伺服器之間創建一個大型網狀網路。
由於對原始文章的一些評論,我設法讓它工作。
最初,所有不同的客戶端都共享/64之外的地址,並且它們都被添加為/64(
ip addr add <ip>/64 <etc..>
)。但是,我最終解決了這個問題,而是給每個系統一個 /127(2 個地址。一個用於伺服器,一個用於客戶端)來自相同的 /64。在一個系統上,我確實需要將整個 /64 和 /127 添加到客戶端的 GRE 介面,以便系統認為地址是可路由的,但這僅發生在我的一個系統上。
請記住,這只是因為我使用了未公佈的地址(如果您使用私有地址也可能發生這種情況),如果您在隧道上使用的每個系統都有公共的、可路由的地址,您就不會遇到這種情況問題。