我们刚刚为我们公司获得了IPv6 / 48范围(一个网关和一个IP地址),但我不确定如何设置它。 我们使用FreeBSD 8.4(pfSense 2.1)作为路由器/防火墙。
目前,我们已经有了一个IPv4的设置,一个WAN连接到互联网,一个NAT连接的LAN连接到办公电脑。
我们希望保持LANnetworking的安全性,并且我们希望所有办公室PC(不含NAT)的/ 48的IPv6地址。
WANconfiguration有IPv6网关1111:2222:3333 :: 1/48和接口地址1111:2222:3333 :: 2/48。 但是当这样configuration的时候,我想不可能把局域网安装在/ 48之内的一个/ 64上?
我相信我应该在1111:2222:3333:1 :: / 64上configurationWAN子网,并在1111:2222:3333:2 :: / 64子网上configurationLAN。 这是我可以自己configuration,还是我必须要求ISP为我configuration路由?
目前的testing设置:
netstat -r显示:
Destination Gateway Flags Netif Expire default 1111:2222:3333::1 UGS em3 localhost localhost UH lo0 1111:2222:3333:: link#4 U em3 1111:2222:3333::2 link#4 UHS lo0 1111:2222:3333:1:: link#2 U em1 1111:2222:3333:1::1 link#2 UHS lo0
我可以从路由器ping通WAN网关。 从testing客户端,我可以Ping LAN和WAN接口,但不能 WAN网关。
如果我尝试添加一个显式路由,我得到一个错误:
$ route add -inet6 -net 1111:2222:3333:1::/64 1111:2222:3333::2 route: writing to routing socket: File exists add net 1111:2222:3333:1::/64: gateway 1111:2222:3333::2: route already in table
你在这里有正确的想法,你需要问你的ISP究竟是什么路由给你。
通常情况下,如果您获得地址的子网,则您的边缘路由器的WAN地址将位于一个较小的分配的linknet / 64上,因此您的LAN侧接口上有较大的/ 48而不会丢失用于与ISP通话的任何networking,您可以根据需要从较小的networking进行子网划分,ISP将始终将stream量发送到边缘路由器的WAN接口。
一个/ 48内有许多/ 64个。 使用第一个/ 64(网关所在的那个)作为点对点子网(在IPv4环境中,这将是用于连接到中心局的ppp连接的/ 30)。
您可以从下一个/ 64(1 :: / 64)开始为您的局域网开始分配子网,
如果他们为你分配了/ 48,他们已经有了一个静态路由,把所有的stream量都引向你的pipe道。
实际例子:
我的WAN IPv6网关(我通过wan0谈话)是2001:470:1f0a:314::1/64
我的广域网IPv6是2001:470:1f0a:314::2/64 (下一个ip,分配给wan0)
确保你的路由器上有一个默认的wan0路由。
如果在此之后,您的路由器上已连接,则表示您的WAN正常工作。 如果没有的话,你必须用你的isp修复它,这和局域网上的路由没有任何关系。
我的LAN子网是2001:470:1f0b:314::/64
只需在路由器上configuration2001:470:1f0b:314::1作为eth0 IP即可。
将2001:470:1f0b:314::2分配2001:470:1f0b:314::2 eth0相同lan上的PC,并将PC 2001:470:1f0b:314::1 (您的路由器地址)设置为默认网关。
如果你没有任何阻止这种stream量的iptables规则,你的边界路由器(我们假设它是一个linux盒子)将简单地路由到2001:470:1f0b:314::/64从wan0到eth0,因为这是一个直接连接的networking,因此路由表已经“知道”它。
在eth0上,如果路由器知道最终目的地的MAC地址(你的officepc是从互联网上理论上ping的),它将直接在那里发送。 否则,它会发出一个ARP请求,询问“谁知道这个地址?” 如果目标PC在线并且具有正确configuration的地址并且具有默认网关集合,则它将回答build立通信。
请记住,有关IPv4的最常见的知识也适用于IPv6。 不要总是以不同的方式工作:P
编辑#2:
我的答案提供了许多假设。 请记住,您不需要直接声明直接连接的networking。 你有没有给你的路由器分配一个局域网子网的IP? 您是否将IP作为您正在testing的LAN计算机上的默认网关?
我想我倒在了“过度复杂的ipv6”陷阱:P
编辑#3:
如果我们谈论直接连接,这部分是愚蠢的错误。 无视它。
简单地把最后一个子网的路由添加到eth0中
route -A inet6 add 2001:470:1f0b:314::/64 eth0.