我有两个系统,它们都通过隧道连接到核心路由服务器。这两个系统都具有来自相同 /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 服务器。本质上,我想在所有客户端和服务器之间创建一个大型网状网络。
答案1
由于原始帖子中的一些评论,我设法使其工作正常。
最初,所有不同的客户端都共享 /64 中的地址,并且它们都作为 /64 添加(ip addr add <ip>/64 <etc..>
)。但是,我最终解决了这个问题,方法是为每个系统分配一个 /127(2 个地址。一个用于服务器,一个用于客户端),这些地址都来自同一个 /64。
在一个系统上,我确实需要将整个 /64 以及 /127 添加到客户端的 GRE 接口,以便系统认为这些地址是可路由的,但这只发生在我的一个系统上。
请记住,这种情况只会因为我使用未公布的地址而发生(如果您使用私有地址,也可能会发生这种情况),如果您对每个系统都有通过隧道使用的公共、可路由的地址,那么您就不会遇到这个问题。