将整个 ipv6 /64 子网范围转发到单个地址的最佳方法(在 Linux 上,obv)?

将整个 ipv6 /64 子网范围转发到单个地址的最佳方法(在 Linux 上,obv)?

我想要将传入连接转发到 VPS 上分配的 ipv6 /64 子网内的任何地址。

显然,我无法向接口添加十亿个单独的地址,但也许我可以使用带有 mangle iptables 规则的虚假路由来假装 1 个地址是子网的路由器,然后只回答到达的数据包而不是转发它们?不确定这是否可能,或者是否有更干净的方法。

答案1

从您的问题来看,您似乎通过以太网连接到了 VPS 提供商的 /64 网络。在这种情况下,您的要求是不可能的。您的上游路由器必须在内存中为每个单独的 IPv6 地址保留一个邻居发现条目,这将占用比可用内存 (1) 多得多的内存。您可以要求提供商将静态前缀路由到您的机器,但使用服务器 LAN 中的那么多地址是不可能的。


1:每个条目至少需要 16 字节的 IPv6 地址 + 8 字节的 MAC 地址,对于 2^64 个地址来说,大约为 393216 PB。

相关内容