上峰拍了桌子,要求 2018 年底之前商用 ipv6。移动响应非常积极,已经可以用了。ipv6 带来的第一个好处就是削除了NAT,对万恶的私网ip地址说再见!

在继续之前,首先讲下,ipv6 同 ipv4 在配置上的不同。

对于家庭宽带,ipv4 是 pppoe 拨号的时候自动配置的。isp 给且仅给一个 ipv4 地址。 如果有多台设备需要上网,就需要使用一种叫 NAT 的技术进行网址共享。由于NAT隐藏了内网的细节,在 isp 看来,所有的数据都是来自同一个 ip 地址的。 因此isp和家庭网关之间不需要什么路由协议。但是 ipv6 得益于超长地址,不再需要节约地址了,于是内网仍然分配全球可路由地址。 这个时候 isp 其实就需要分配两次地址,一次是给家庭网关的WAN口,另一次是给家庭网关的 LAN 口。

第一次分配给 WAN 口分配 ipv4 和 ipv6 是一样的, 都是在 PPPoE 拨号完成后动态分配。

只是 ipv4 时代,LAN 口地址是固定的一个内网地址。而 ipv6 时代即使 ip地址再丰富,运营商也不会给用户分配固定的 ip 地址,因此,需要一种 动态的给 LAN 口分配地址(准确的说是分配前缀)的协议。

这个协议就是 DHCP-PD,LAN 口分配好前缀后,整个子网就分配下来了, 至于这个子网里哪个机器用哪个地址,那就和 isp 没有关系了。而且实际上 isp 下发子网前缀后, 路由器其实是可以把下发的子网再细分的,这个适用于有多个 LAN 的情况。

ipv6 因为有 RA 协议,所以只要路由器的 LAN 口分配了前缀,LAN 口下的在同一个交换域里的主机就都可以自动分配ipv6地址。

那么EdgeRouter 里如何使用 dhcp-pd 为 LAN 口分配地址呢?

配置的办法其实很简单, 就是

ubnt@ubnt:~$ configure
[edit]
ubnt@ubnt# set interfaces ethernet eth0 pppoe 0 ipv6 address autoconf
ubnt@ubnt# set interfaces ethernet eth0 pppoe 0 dhcpv6-pd pd 1 prefix-length /56
ubnt@ubnt# set interfaces ethernet eth0 pppoe 0 dhcpv6-pd pd 1 interface switch0 prefix-id 1
ubnt@ubnt# set interfaces ethernet eth0 pppoe 0 dhcpv6-pd pd 1 interface switch0 host-address ::7788
ubnt@ubnt# set interfaces ethernet eth0 pppoe 0 dhcpv6-pd pd 1 interface switch0 service slaac
ubnt@ubnt# commit; save; exit ubnt@ubnt:~$ reboot

解析:

set interfaces ethernet eth0 pppoe 0 ipv6 address autoconf

 启用了 pppoe 的 ipv6 地址配置,pppoe 认证通过后, 路由器即从 isp 为 pppoe 链接分配 ipv6 地址。 这时候, 路由器本身就可以通过 ipv6 上网了。

ubnt@ubnt# set interfaces ethernet eth0 pppoe 0 dhcpv6-pd pd 1 prefix-length /56

 这个命令就是启用了 dhcp-pd 的总开关,向 isp 申请 /56 长度的前缀。不同的 isp 这个数字是不同的,大多数运营商都是 /56。 也有少数运营商是分配的 /60 的前缀, 这个自己尝试即可。因为 edgerouter 是多功能的路由器,不限定为一个wan口的,所以 dhcp-pd 客户端需要编号。这里我就用编号1了。如果有第二个 pppoe 链接(多isp的话) 就可以在别的 pppoe 下再创建 pd 2 了。

ubnt@ubnt# set interfaces ethernet eth0 pppoe 0 dhcpv6-pd pd 1 interface switch0 prefix-id 1

这条命令创建第一个子前缀。 如果家里只划分了一个 LAN 那就只有这一条 prefix-id 为 1 的子前缀了。如果有多个 LAN 网络, 就可以用 perfix-id 区分不同的 lan。 这里 switch0 的意思,就是这个子前缀是为 switch0 分的。 如果你有多个子网, 可能就没有把 eth1234 聚合成 swtich0, 可以在这里使用 eth1 eth2 eth3 分别配置3条子网下去。当然可可能是通过 VLAN 划分子网的话,那就是 switch0.vlanid 了。具体自己灵活即可。

点赞 ({{click_count}}) 收藏 (0)

ubnt ER-X会支持 MAC-based VLANs 吗?

ubnt路由器登陆IP地址

Ubnt EdgeRouter 初次设置

Ubnt EdgeRouter 路由器中国电信原生IPv6配置