AnyIP 功能与 ndppd 结合在某些 VPS 上有效,但在另一些 VPS 上无效。为什么?

AnyIP 功能与 ndppd 结合在某些 VPS 上有效,但在另一些 VPS 上无效。为什么?

我的 VPS 大多来自同一提供商,但位于不同的地方。它们带有一个 IPv4 和一个 /112 IPv6 子网。我正在尝试使用 Linux 的 AnyIP 功能,如所述这里使我的 vps 响应对 IPv6 子网中任何 IP 的全局 ping,而不必将子网中的每个单独的 IP(超过 65000 个 IP)分配给我的接口。

考虑两个全新安装 Ubuntu 20.04 的 VPS,我的配置方式如下:

首先,我添加本地路线:

ip -6 route add local aa:bb:cc:dd:ee:ff:11::/112 dev lo

在两个 VPS 上,我都可以从 VPS 内部本地 ping 子网中的任何 IP。到目前为止一切顺利。然后我在两台服务器上安装 ndppd 作为邻居发现协议工具:

apt-get install ndppd -y

然后我将创建如下配置文件/etc/ndppd.conf

proxy eth0 {
    router no
    rule aa:bb:cc:dd:ee:ff:11::/112 {
        static
    }
}

然后重新启动 ndppd 守护进程:

systemctl restart ndppd

执行此操作后,我可以从任何支持全局 IPv6 的服务器 ping 通 VPS1 的所有子网 IP,但执行过相同过程的 VPS2 只能 ping 通直接分配给其接口的单个​​ IPv6。

ip -6 route show两个服务器上的和的输出sysctl -a | grep ipv6相同。

这可能是因为 VPS2 连接的路由器吗?这是否意味着我无法在 VPS2 上使用 AnyIP?

我该如何进一步探究这个问题?也许检查一下 VPS2,看看为什么 ping 数据包没有到达或没有响应?

提供商本身说您必须为 VPS1 和 VPS2 的接口分配 IP。他们不知道 Linux 的 AnyIP 功能吗?

更新: 在 VPS2 上,如果将子网中的任何候选 IP 添加到接口并快速将其删除,则该单个候选 IP 变得可用。奇怪!

ip -6 addr add aa:bb:cc:dd:ee:ff:22:1234 dev eth0
ip -6 addr del aa:bb:cc:dd:ee:ff:22:1234 dev eth0

然后 IPaa:bb:cc:dd:ee:ff:22:1234就可用了,并且可以全局 ping 通。执行此添加/删除操作后,我发现路由没有变化。

相关内容