如何让光猫的下级路由也能获取到公网 IPv6?

2021-09-03 17:15:20 +08:00
 LxnChan

重新整理了一下思路,昨天在这发了问了一下大家关于移动公网 IPv6 的事(详见 https://www.v2ex.com/t/799498 )。 现在是这样的,我家宽带出口是光猫,下级接了个小米的路由器。上级光猫是 SLAAC,到路由器这只能设置为 Native 、NAT6 和静态。小米的路由器肯定是基于 OpenWRT 的,也能获取到 root 权限,我想能不能让小米路由也通过 SLAAC 配置从而获得公网的 IPv6 。 另外那个 Native 是什么配置方式?有没有大佬来给我讲一下,刚入门 IPv6 相关的不长时间,很多东西都不是很懂,希望大家不吝赐教,先谢谢大家了。

6362 次点击
所在节点    宽带症候群
17 条回复
raysonx
2021-09-03 18:41:15 +08:00
家用路由器的 Native 模式一般是指用 DHCPv6 向 WAN 口请求 PD (prefix delegation)前缀(国内运营商一般是给 /56 或者 /60 前缀),然后将获得的前缀分配给 LAN 口,这样 LAN 口就也能获取到公网地址了,并且和 WAN 口不在同一网段。
raysonx
2021-09-03 18:50:10 +08:00
> 我想能不能让小米路由也通过 SLAAC 配置从而获得公网的 IPv6
没用过小米路由器,所以不能提供具体配置方式,只能给你一些技术上的建议。
SLAAC 是不能向下级路由器分配前缀的。所以你的光猫下面只能直接接终端设备。下挂路由器后,二级路由器的 LAN 口就没有 IPv6 了。
解决方式:
1. 你的光猫实际上从它的 WAN 口(光纤口)通过 DHCPv6-PD 获取到了一个前缀,你需要从这个前缀中挑一个子前缀,让光猫向 LAN 口通过 DHCPv6-PD 下发这个子前缀。然而我从来没见过有光猫支持这个功能。
2. 把你的路由器改成 AP 模式,也就是做一个二层设备(无线交换机)。这样你路由器下面的设备就相当于是直连光猫 LAN 口了。
3. 有的路由器支持 Passthough 模式,实际上它会运行一个 ND Proxy 让 LAN 口和 WAN 口共享同一网段。
4. 光猫改桥接,用自己的路由器拨号,一劳永逸。
xarthur
2021-09-03 18:50:48 +08:00
feng0vx
2021-09-03 19:38:44 +08:00
Native 模式就是获取一个 60 位长度的前缀,可以用 4 位就是划分 16 个 64 位的子网,一般用就是补 0 变成 64 位。拨号设备正常情况应该就是 Native 模式
二级路由的话就用 dhcpv6 中继,这个 openwrt 是支持的,华硕的话我猜是 passthrough 没有验证
LxnChan
2021-09-03 22:11:32 +08:00
@raysonx 非常感谢您的耐心回答。也就是说我可以理解为[相当于上级 DHCP 给下级分配了 1.1.x.x 这样的前缀,然后下级就可以在 1.1.1.1-1.1.255.255 随意创建对外的 IP 地址了]这样么。
LxnChan
2021-09-03 22:20:46 +08:00
@raysonx 您完全可以将“小米路由器”替换为“基于 arm 架构的 OpenWrt 路由器”。小米路由器的固件就是 OpenWRT 阉割了 opkg 和 OpenWRT 中家用宽带不常用的功能演变而来的,实际上可以通过获取 root 权限重新加上这些功能。
现在我的光猫是 SLAAC 自动配置,路由器采用 Native 方式,通过 test-ipv6 可以得到一个公网 IPv6 地址,该地址在 Windows 中的网络信息中显示为“临时的 IPv6 地址”,也可以访问到纯 IPv6 网站。
您提到光猫从上级获取到一个前缀,然后需要光猫下发一个子前缀,那么在光猫前缀不变的前提下我能否静态配置这个子前缀?
稍后我将查一下有关透传功能的信息,感谢您的耐心回复!
LxnChan
2021-09-03 22:24:40 +08:00
@feng0vx 您提到 DHCPv6 中继,是否是类似于让 IPv6 达到类似于桥接到上级路由的功能?
guanyin9cn
2021-09-03 22:46:24 +08:00
桥接模式?

光猫 改 路由模式,lan - lan 连接 到小米路由器,小米 lan 接口配置 192.168.1.2,关闭小米路由器的 dhcp,dnsmasq,v4 和 v6 都关。

参照 这个 dumb ap 设置。

openwrt.org/docs/guide-user/network/wifi/dumbap
guanyin9cn
2021-09-03 22:47:58 +08:00
参照我之前做的,把拓扑的中 8545m5,看成小米路由。
v2ex.com/t/798483
jim9606
2021-09-03 23:49:19 +08:00
家庭环境通常是用 DHCPv6-PD 委派。举个例子
1. 一级网关(光猫拨号的话就是光猫)通过 DHCPv6-PD 拿到了个 240e:1234:5678:9a00::/56 前缀
2. 一级网关在 /56 中挑一个前缀作为下游网络(LAN)的网络前缀,例如 240e:1234:5678:9a10::/60
3. 一级网关设立 DHCPv6 服务器用于分发 /60 前缀,并通过 RA 向 LAN 宣布这个前缀
4. 二级网关通过 DHCPv6-PD 向一级网关申请前缀,选择一个,例如 240e:1234:5678:9a12::/64
5. 二级网关,RA 向下游宣布 /64 前缀, 因为 SLAAC 最长使用 /64 前缀,通常不会继续委派下去

问题是常见光猫和家用路由,不管通过 PD 拿到什么前缀,下游统统用 /64 前缀,等于没法用委派了。
所以要么拨号路由器用 openwrt,这个可以设置为向下委派前缀。要么除了拨号路由全部用 AP 模式。

Openwrt 通过在 LAN 接口设置 ip6assign 和 ip6hint 实现这个功能。

参考 ( https://openwrt.org/docs/guide-user/network/ipv6/start#downstream_configuration_for_lan_interfaces)
feng0vx
2021-09-03 23:53:58 +08:00
@LxnChan 是的,你如果是光猫桥接路由器拨号的话,光猫的 ipv6 完全不用理会
leido
2021-09-04 04:37:32 +08:00
光猫桥接, 路由器拨号
GhostiKing
2021-09-04 09:39:58 +08:00
openwrt 二级路由按照 koolshare 的帖子设置的
https://koolshare.cn/thread-194066-1-1.html
raysonx
2021-09-04 10:30:58 +08:00
@LxnChan
> 非常感谢您的耐心回答。也就是说我可以理解为[相当于上级 DHCP 给下级分配了 1.1.x.x 这样的前缀,然后下级就可以在 1.1.1.1-1.1.255.255 随意创建对外的 IP 地址了]这样么。
理解正确。

> 您提到光猫从上级获取到一个前缀,然后需要光猫下发一个子前缀,那么在光猫前缀不变的前提下我能否静态配置这个子前缀?
国内三大运营商提供的 PD 前缀都是动态的,重新拨号会变,所以静态配置是不行的。对 PD 支持良好的路由器(比如原版 OpenWRT )可以动态下发子前缀。
问题的关键是需要一级路由器(也就是你的光猫)向你的二级路由通过 DHCPv6 PD 下发这个子前缀,而实际上光猫的路由功能很有限,我没见过哪家的光猫支持这个功能。
826540272
2021-09-04 11:14:55 +08:00
华为新款光猫支持前缀下发,旧的一般都不支持
jousca
2021-09-04 23:19:04 +08:00
光猫下的路由没有必要拿到地址。我在路由器上 IPV6 直接开的穿透。这样我客户机就是 V6 公网。
angeltop
2021-09-06 18:11:34 +08:00
下级路由 ipv6 wan 口桥接模式就 OK 了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/799717

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX