找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 14504|回复: 21

抛砖引玉,分享openwrt另一种ipv6的配置

[复制链接]
发表于 2021-3-12 09:46 | 显示全部楼层 |阅读模式
看到最近大家的分享,我也分享一下自己的配置,需要配置的地方和大家分享的基本一样,但我用的无状态方式。

拓扑:光猫桥接→openwrt拨号→其中一个vlan下挂padavan固件路由器→下挂终端
ipv6前缀:openwrt拨号后去pd为/60,openwrt多个vlan,每个vlan分配掩码为/62的地址,其中一个vlan下挂的路由器分配/63的地址,最终终端分配到/64的地址。
各级路由ipv6全采用无状态方式。

1、pppoe拨号获取pd前缀/60


2、多个LAN接口不同vlan,每个LAN口,分配/62的地址。

3、dhcp配置,不采用中继,采用服务器无状态模式

4、dns允许解析

5、下挂padavan路由,采用dhcp获取/63的地址,再对下挂终端分配/64的地址


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

评分

参与人数 1恩山币 +1 收起 理由
出众年华 + 1 大佬真的很详细,对IPV6了解也较深入了.

查看全部评分

发表于 2021-3-12 09:57 | 显示全部楼层
多vlan是去分几个不同的网段么?
回复 支持 反对

使用道具 举报

发表于 2021-3-12 10:47 | 显示全部楼层
回去试试看好不好用。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-12 10:50 | 显示全部楼层
932279632 发表于 2021-3-12 09:57
多vlan是去分几个不同的网段么?

是的。不同网段使用不同ipv4 ipv6。
回复 支持 反对

使用道具 举报

发表于 2021-3-12 10:50 | 显示全部楼层
关键是光猫就没有IPv6
回复 支持 反对

使用道具 举报

发表于 2021-3-12 20:44 | 显示全部楼层
本帖最后由 aximpda 于 2021-3-12 20:49 编辑

这方法是可以的,我现在就在用,我是双WAN,只有 一路开了IPV6,都 是DHCP方式



交换机设置是这样:




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复 支持 反对

使用道具 举报

发表于 2021-3-12 20:57 | 显示全部楼层
本帖最后由 aximpda 于 2021-3-13 10:38 编辑

策略和规则这样





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复 支持 反对

使用道具 举报

发表于 2021-3-12 21:44 | 显示全部楼层
本帖最后由 sasalemma 于 2021-3-13 17:11 编辑


插个图修正一下
============================================================================================================

假设 IPV6-PD 为 /60 的前缀 240e:3c1:5665:dd
XY::/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这个除外的)。

============================================================================================================


以下是具体的案例:




这是个测试用的35元垃圾软路由,配置了 LAN-LAN_5,5个LAN(VLAN只是因为单网口,多网口机器,可以直接用LAN)。

按照前面的描述:

LAN 用了 F310::/62(F310~F313),LAN_2 用了 F31C::/64(F31C),LAN_3 用了 F318::/63(F318~F319),LAN_4 用了 F314::/62(F314~F317),LAN_5 用了 F31A::/63(F31A~F31B)

子网数 4+1+2+4+2 < 16 就能满足分配。F31后面的0-F还能自由分配。


只要满足总子网数的要求,LAN-LAN_5都是支持下发的。这时我们单独看 LAN_2 这个 /64 的特殊情况



LAN_2 常规设置中,ipv6分配长度:/64,ipv6分配提示:C,下面的后缀是分配ipv6地址给LAN_2本身的,可以随意,看个人喜好。



LAN_2 DHCP设置中,按照蓝框设置即可。橙色的总是通告,一般是用于本地唯一地址,就是内网IPV6而设置的。可以不用勾选。

然后就会发现这个特殊的 /64 分配情况了。



二级路由中,WAN口获取的 F31C 这个子网段的IP地址,也就是说,LAN_2下所有设备都在 F31C 这个子网段,但是一级路由中还有3个子网并没有配置(空闲的)【条件1】,而一级路由设置了下发(即:DHCPv6:服务器模式)【条件2】,二级路由WAN也设置了申请前缀的话【条件3】,这几个都满足的前提下,二级路由会获取到一个 F31D::/64 一级路由没有分配的前缀。

就是二级路由 WAN 是 F31C 子网段,LAN 是 F31D 子网段(当然,自动的情况下可能也会分配到 F31E ,但我个人手动设置 F 子网不行)。





二级路由并不需要特殊配置。

我个人设置中并没有跨子网段配置,比如 LAN_2 是 F31C, 不确定 删掉 LAN_3,然后 F318~F61B 这4个子网能不能 下发PD到二级并没有测试。个人有兴趣可以测试。

但是,这样已经能让这些分配出现更多自主性了。

像上面说的,大多家用路由本身没有配备(DHCPv6:服务器模式)LAN只分配IP地址,并没有启用PD下发,才导致二级路由无法获取PD前缀,目前无解,比如像华硕梅林一类固件,怎么个人修改不清楚。。。

那国产中TP,华为,小米一类支持IPV6,也是没有加入这个(DHCPv6:服务器模式),就造成了 /64 无法继续下发的错觉。


完毕。




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

点评

大神,请教一下,你的贴子很详细,大概理解了60% 我用的就是X86OpenWrt,联通宽带,只获取到xxx::/64的PD前缀。无法给同级多个Vlan口获取IPV6前缀下发。 这个是运营商史给我::/64的前缀还是我的设备不支持,  详情 回复 发表于 2022-2-1 14:05
回复 支持 反对

使用道具 举报

发表于 2021-3-12 21:48 | 显示全部楼层


对了,大多家用路由,真的,你无法像ROS。DD,OP一类可以自己配置ipv6的前缀。

给你一个 /56 前缀,都是直接从 /56 里拿一个 /64出来用。所以基本都废了很多子网。

另外有些光猫拨号的情况,LAN这边PD问题,WAN有PD获取到,LAN这边无法把PD通告(路由通告服务:服务器模式),底下设备也是没有IPV6的。更没有PD下发到二级路由(DHCPv6:服务器模式)

回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-12 23:36 | 显示全部楼层
sasalemma 发表于 2021-3-12 21:48
对了,大多家用路由,真的,你无法像ROS。DD,OP一类可以自己配置ipv6的前缀。

给你一个 /56 前缀, ...

我是砖,你是玉!非常专业的分享!一百个赞!!
回复 支持 反对

使用道具 举报

发表于 2021-3-13 00:02 来自手机 | 显示全部楼层
本帖最后由 aximpda 于 2021-3-13 13:25 编辑

解决了接入设备要WAN6 reset一下问题。后接的机器只要连上就马上可以IPV6



config dhcp 'lan'
        option interface 'lan'
        option start '100'
        option limit '150'
        option leasetime '12h'
        option dhcpv4 'server'
        option dhcpv6 'server'
        option ra 'relay'
        option ndp 'relay'

config dhcp 'wan'
        option interface 'wan'
        option ignore '1'

config dhcp 'wan6'
        option interface 'wan'
        option ra 'relay'
        option ndp 'relay'
        option dhcpv6 'relay'
        option master '1'

config odhcpd 'odhcpd'
        option maindhcp '0'
        option leasefile '/tmp/hosts/odhcpd'
        option leasetrigger '/usr/sbin/odhcpd-update'
        option loglevel '4'

config dhcp 'wanb'
        option start '100'
        option leasetime '12h'
        option limit '150'
        option interface 'wanb'

点评

这个模式就是俗称的passthrough,或者叫中继。把上游的PD中继给下一个网段,好处就是都是处在同一子网中,能让下级路由使用公网ip,不太好的地方是中继中ipv6的流量问题。 区分子网的另外一个意义是,相同前  详情 回复 发表于 2021-3-13 20:01
回复 支持 反对

使用道具 举报

发表于 2021-3-13 20:01 | 显示全部楼层
aximpda 发表于 2021-3-13 00:02
解决了接入设备要WAN6 reset一下问题。后接的机器只要连上就马上可以IPV6



这个模式就是俗称的passthrough,或者叫中继。把上游的PD中继给下一个网段,好处就是都是处在同一子网中,能让下级路由使用公网ip,不太好的地方是中继中ipv6的流量问题。

区分子网的另外一个意义是,相同前缀的机器,实际上数据中转不会发出去子网又回来。

举例就是一级路由是240e:3c1:5665:dd74::/64,二级路由是240e:3c1:5665:dd75::/64的情况,二级路由的240e:3c1:5665:dd75::22和240e:3c1:5665:dd75::33相互发送信息不会出二级路由WAN口,因为同级中子网已经找到了。而中继过来的情况,要是NDP没有成功,比如设备的防火墙拦截了数据,寻址可能会出二级的WAN到1级路由中再回来二级路由LAN。

另外一级中多LAN,因为默认情况下 uhttpd或者 luci-Nginx 都是监听 [::] 这样任意的地址,所以不单是WAN口的ipv6地址,还有LAN下所有地址只要开放web端口,比如 443,那么LAN下所有不同网段的子网都能用来访问web。关注安全性的,注意修改web配置和防火墙。


回复 支持 反对

使用道具 举报

发表于 2021-3-13 22:40 来自手机 | 显示全部楼层
今天设一台DD-WRT的机器,硬没有设好
回复 支持 反对

使用道具 举报

发表于 2021-3-13 23:10 来自手机 | 显示全部楼层
重度依赖ipv6的话就用官方最新的编译,全是默认,完全不用折腾

点评

20.02也要设,开机即用好像也不行  详情 回复 发表于 2021-3-14 11:59
回复 支持 反对

使用道具 举报

发表于 2021-3-14 11:59 | 显示全部楼层
本帖最后由 aximpda 于 2021-3-14 12:36 编辑
hcyme 发表于 2021-3-13 23:10
重度依赖ipv6的话就用官方最新的编译,全是默认,完全不用折腾

21.02也要设,开机即用好像也不行
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-6-8 10:22

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

快速回复 返回顶部 返回列表