将所有IPV6子网分配给本地主机

我有一个像2001年的子网:face:feed:beef :: / 64。 我想分配所有这些到我的服务器,而不是手动分配每个地址,如2001:face:feed:beef :: [123456789abcdef] …

在ipv4中,我们可以使用DNAT来做到这一点,但是在ipv6中没有NAT概念,所以我想知道这是否可行,是否有一些解决方法。

你不能(使用普通的IP协议栈)。 IP地址不打算这样工作。 你几乎可以肯定甚至不能分配到接口的许多地址(使用脚本或类似的地方)的任何地方; 在数据结构中会有硬编码的限制来阻止这种事情的发生。

在209203和236626回答。

总之,你需要三件事情:

  1. 一个静态路由到你的机器(它不会回答NDP)
  2. 机器知道它应该处理stream量的内部路由
  3. 如果您希望能够侦听这些地址,您还必须设置sysctl net.ipv6.ip_nonlocal_bind=1 (Linux内核> = 4.3)