IPv6路由设置(使用本地IPv6)

我pipe理一个小型组织的networking。 只有IPv4的经验,我不确定如何最好的方法IPv6。

现有的IPv4设置

我们有13个公有IPv4地址,这些地址全部NAT到内部的RFC 1918地址(一个映射到用户一对多,其余映射到服务器一对一)。 所有传出stream量都通过我们的ISP(单个)上游网关。 我们自己的路由器运行Linux。

在美丽的ASCII艺术,networking看起来类似于这样的:

client <- LAN -> router <- WAN -> upstream 10.0.0.x 10.0.0.1 <- NAT -> 192.0.2.2 192.0.2.1 

IPv6设置

当然,对于IPv6,由于我们已经分配了四个/ 64个networking(比如“9:9:9 :: 0 :: / 62”),所以不需要NAT,其中一个包含上游路由器。 什么是类似的IPv6networking的规范?

A)可能的IPv6networking布局:

 client <- LAN -> router <- WAN -> upstream 9:9:9:1::x 9:9:9:1::1 9:9:9:0::2 9:9:9:0::1 

那么问题是,如何让上游网关通过我们的路由器来路由数据包。 使用NAT和IPv4,很简单:我们的路由器拥有这些地址并响应ARP请求。 但是现在,上游网关希望在自己的子网上findLAN主机,并且失败。

1)我研究了NDP代理(ARP代理的IPv6版本),让路由器通告9:9:9:1/64中的所有地址。 但是,Linux似乎至less需要为每个IP地址分配一个Netfilter条目,这对于IPv6来说当然是完全不可能的。 我错过了什么吗?

2)似乎应该可以使用NDP路由器通告来通告我们的路由器作为9:9:9:1 :: / 64的“下游网关”。 尽pipe如此,还是无法实现。 也许我们的ISP忽略路由器广告?

3)我们是否需要问我们的ISP手动configuration他们的上游网关使用我们的路由器? 看起来很奇怪,在IPv6下应该是必须的,而不是在IPv4下。

上游路由器不应该假设完整的9:9:9:0/62在本地接口上,它应该使用路由器的IP和中间networking的前缀len来编程。 他们的路由器需要基本上像你的程序。

(请注意,WANnetworking不需要使用您分配的9:9:9:0/62networking的子集;您的ISP可能会为此链接分配一个特殊的126或127networking,细节因ISP而异)

您的ISP上游路由器必须经过编程,IPv4或IPv6。 “问题”是大多数IPv4部署只有外围networking,大多数IPv6networking将完全(正确)路由。