https://www.right.com.cn/forum/thread-4090898-1-1.html
插个图修正一下
============================================================================================================
假设 IPV6-PD 为 /60 的前缀 240e:3c1:5665:ddXY::/60 。就是意味着:
X 这个 60 位是 ISP 分配给你的,也是固定的,Y 这个位才是子网的位数,而 IPV6 都是 16 进制,各位大佬都知道就是 0-F 这样,也就是说后 64 位 SLAAC 方式能分出 16 个子网 /64 的。
240e:3c1:5665:dd70::/60 这个前缀可以分成
2 个 /61 子网:
240e:3c1:5665:dd70::/61
240e:3c1:5665:dd78::/61
4 个 /62 子网
240e:3c1:5665:dd70::/62
240e:3c1:5665:dd74::/62
240e:3c1:5665:dd78::/62
240e:3c1:5665:dd7c::/62
8 个 /63 子网
240e:3c1:5665:dd70::/63
240e:3c1:5665:dd72::/63
240e:3c1:5665:dd74::/63
240e:3c1:5665:dd76::/63
240e:3c1:5665:dd78::/63
240e:3c1:5665:dd7a::/63
240e:3c1:5665:dd7c::/63
240e:3c1:5665:dd7e::/63
16 个 /64 子网
240e:3c1:5665:dd70::/64~240e:3c1:5665:dd7F::/64
这个理解了的话。
============================================================================================================
下面开始说路由了:
先说非级联(只有一级路由),非级联就是多口 LAN ( VLAN )分子网
一级路由
WAN 获取 IPV6-PD 240e:3c1:5665:dd70::/60
LAN1,LAN1 可以 以 240e:3c1:5665:dd70::/60 下发,只有一个大子网。
和上面划分子网方式一样,可以分 LAN1-LAN16 。每个不同的 LAN 口分配 240e:3c1:5665:dd70::/64~240e:3c1:5665:dd7F::/64 的不同子网。来区分不同的使用情况,比如 LAN1 对应于家里的物联设备。LAN2 是普通上网设备云云。
但大多数路由,默认情况下,不会直接使用 /60 这么大的一个子网,为了方便使用和节省运力,还有所谓的兼容性,反正只有一级,所以默认下是从 /60 里随意抽了一个 /64 的子网,一般是抽 0,也就是 240e:3c1:5665:dd70::/64 开始分配 LAN1 下的设备。
LAN1 设备获取的 ip 地址均为 240e:3c1:5665:dd70:开头,也是大多家用的路由的默认下对IPV6-PD的配置。
============================================================================================================
级联,IPV6-PD 就要算算子网问题了
一级路由
WAN 获取 240e:3c1:5665:dd70::/60 前缀。
LAN 以 240e:3c1:5665:dd70::/60 下发
LAN 的 IPV6 地址 240e:3c1:5665:dd70::1 (假设设定为::1)
二级路由
WAN 获取的 IPv6 地址永远都是 /64 的,240e:3c1:5665:dd70:1111:2222:3333:4444/64
WAN 获得了一个 IPV6-PD 前缀:240e:3c1:5665:dd78::/61
LAN 以 240e:3c1:5665:dd78::/61 下发
LAN 的 IPV6 地址为 240e:3c1:5665:dd78::1
这样二级路由下发PD就只有剩下的一半子网了。
因为 240e:3c1:5665:dd70::/61 这段,一级路由的 LAN 段抽了 240e:3c1:5665:dd70::/64 用了啊。
虽然 240e:3c1:5665:dd71::/64~240e:3c1:5665:dd77::/64 这段并没有使用。
当然一级路由也可以 分子网一样,用了 LAN2~LAN8 (均以 /64 分配)
三级路由( WAN 接二级 LAN )
WAN 获取的 IPv6/64,240e:3c1:5665:dd78:aaaa:bbbb:cccc:dddd/64
WAN 获得前缀:240e:3c1:5665:dd7c::/62
LAN 下发 240e:3c1:5665:dd7c::/62
LAN 的 IPV6 地址为 240e:3c1:5665:dd7c::1
四级路由( WAN 接二级 LAN )同理
WAN 获取的 IPv6/64,240e:3c1:5665:dd7c:aaaa:1111:cccc:2222/64
WAN 获得前缀:240e:3c1:5665:dd7e::/63
LAN 下发 240e:3c1:5665:dd7e::/63
LAN 的 IPV6 地址为 240e:3c1:5665:dd7e::1
五级路由( WAN 接二级 LAN )同理
WAN 获取的 IPv6/64,240e:3c1:5665:dd7e:aaaa:3333:cccc:4444/64
WAN 获得前缀:240e:3c1:5665:dd7f::/64
LAN 下发 240e:3c1:5665:dd7f::/64
LAN 的 IPV6 地址为 240e:3c1:5665:dd7f::1
好了,到了这里就是 /64 了,如果还接一个路由,如果还是以 SLAAC 方式
就只能用 NAT6,一类本地地址了。当然这里用 WAN 接 LAN,去掉 ipv4 协议的穿透方式让六级路由获取五级同级的 ipv6 子网段也是可以的。
当然,可以继续用statful模式,占用主机位继续下发。能一直到 /128位。(注:目前全球公网地址前缀,在op中不能申请小于/64的前缀)
另外:特殊情况是,从一个/60的大子网中抽取了一个/64的 0,假如没有其他子网使用后面的/64段位,实际上可以 级联16个子网。(跨子网段并没有测试,有兴趣可以自己尝试,图在最后。)
简单说,看下面图示了。
============================================================================================================
然后变种一下。假如一级路由。分了 4 个 VLAN,一开始就分了 /62 4 个子网。按上面的说法,就是最多挂 3 级路由就 over 了。
当然对于家用,已经 100%够用了。
============================================================================================================
所以说白了,不是说给的 ip 地址不够多,是多,说人话就是说,你一个 /64 的子网能接入 NNNN 多个设备,毕竟 SLAAC 都好,后面 64 位的主机位能让你的 IP 地址数量数不完,只是子网这个货色,一般是用来区分网络分区作用多些。
就好比非子网,不同网段 192.168.1.0~192.168.254.0,你都能设置 1~254 这样的区域,如 192.168.1.0 和 192.168.2.0 这样的不同网段LAN。
而 IPV6 中除了一开始从一级路由平层分开或者级联 /60 前缀为 /64 的 16 个子网外,用 ip6tabel 禁止每个子网相互通信外,或者 vlan 隔离,级联中就得考虑只有这 16 个子网的 1 、2 、4 、8 、16 的分配法而已。
============================================================================================================
然后关于PD下发的LAN设置和PD的获取。
WAN口要获得PD前缀
一级路由PPPoE是try
二级路由在WAN6口,为DHCPv6中设置请求指定长度的ipv6前缀,也可以写上想要请求的位数(上文能理解的话),获得ipv6地址可以disable。
一级路由的LAN的配置中,如果不需要继续下发PD,DHCP中ipv6设置,只需要第一项,路由通告服务:服务器模式,即可。LAN下所有设备都会获得WAN的PD的IPV6地址。
如果需要把PD下发到二级路由,第二项才需要设置,DHCPv6:服务器模式。这个才是把IPV6-PD下发到二级路由。
第三个配置。NDP这个是网络邻居发现,关闭也不影响。
============================================================================================================
举例就是
假如你有一个一级路由,给你240e:3c1:5665:dd70::/60 前缀,你有三个LAN,其中一个LAN口接了个二级路由。
那 LAN1 【常规】配置页面,指定长度的ipv6前缀:/61,ipv6分配提示:0;在LAN1的【DHCP服务器-IPV6设置】中配置:路由通告服务:服务器模式,DHCPv6:服务器模式,DHCPv6 模式:无状态。LAN1可以继续接二级路由。
LAN1 的 /61 用去了 0-7,但LAN1这个LAN段本身要用去一个子网,所以二级路由的PD前缀,最多也只能是240e:3c1:5665:dd74::/62了(240e:3c1:5665:dd70::/62段用去了LAN1下设备了。),当然默认情况,路由还是从240e:3c1:5665:dd74::/62中选 240e:3c1:5665:dd74::/64子网段的。如果不去设置它,那也就无法继续接三级路由了。
LAN2 【常规】配置页面,指定长度的ipv6前缀:/64,ipv6分配提示:8;在LAN1的【DHCP服务器-IPV6设置】中配置:路由通告服务:服务器模式,DHCPv6:已禁用,DHCPv6 模式:无状态。LAN2不接二级路由。
LAN3 【常规】配置页面,指定长度的ipv6前缀:/64,ipv6分配提示:e;在LAN1的【DHCP服务器-IPV6设置】中配置:路由通告服务:服务器模式,DHCPv6:已禁用,DHCPv6 模式:无状态。LAN2不接二级路由。
当然ipv6分配提示不填也行,如果自己想有些主动权,想用不同的0-f标识不同的LAN,就可以根据子网的计算来自行设定。另外,LAN1+LAN2+LAN3子网数 不超过 /60 就行。就是LAN1 /61 + LAN2 /62+ LAN3 /62
============================================================================================================
实际要是有 /56 。个人的可选择的空间就多了。/60 只有区区16个子网数,IP地址数是上亿,子网只有16个而已。
毕竟如果 一开始分了 /62 四个子网 LAN ,继续接二级路由,可用子网数就少了。
说这么多,看得懂得话,就知道,次一级得路由得子网因为WAN-LAN这样得模式PD,实际上二级路由的子网就是被包含在一级的子网内的。 /61 0-7或者 8-F 。那么 /62 0-3 和 /62 4-7 就在 /61 0-7子网内的(/64这个除外的)。
============================================================================================================
以下是具体的案例:




