[求助] 移动华为 F50 (V271-20) 光猫 + 旁路由 (sing-box) 的 IPv6 解决方案探讨

3 月 31 日
 zw963258852147

大家好,最近在折腾家里的网络,遇到了 IPv6 和旁路由配合上的痛点,想请教一下各位 V 友。

📡 当前网络环境


🛑 目前的尝试与痛点

1. 光猫关闭 DHCPv6 和 RA (目前勉强的折中方案)

2. 光猫开启 RA

3. 光猫关闭 RA ,仅旁路由开启 RA


💡 请教各位大佬

  1. 现状求生: 在没有光猫超密的情况下,针对这种“光猫拨号 + 旁路由”的拓扑,有什么优雅的 IPv6 解决方案吗?如何让设备既能正常使用 IPv6 ,又能让流量乖乖经过 sing-box 处理?
  2. 获取超密后的路线: 如果我花精力去搞到了光猫的超级密码:
    • 路线 A: 是否可以直接在这款华为 F50 (V271-20) 光猫内部安装 ShellCrash ?这款设备的底层系统限制和性能支持这么做吗?
    • 路线 B: 拿到超密后,能否通过在光猫上配置 VLAN 的方式(比如单臂路由),从根本上解决 IPv6 旁路由网关无法全局接管和下发的问题?

提前感谢各位大佬的解答和建议!

3358 次点击
所在节点    宽带症候群
23 条回复
sonnetbreeze
3 月 31 日
ipv6 优雅,openwrt 直接拨号,这种奇奇怪怪操作,几年前玩过,最后还是拨号养老
yyysuo
3 月 31 日
下发 v6 ip ,但是不下发 v6 dns 。使用 fakeip 网关方案,需要代理的域名发 fakeip ,把 fakeip 静态路由到旁路。可以搜我的帖子。
cxtrinityy
3 月 31 日
换个思路,为啥一定要旁路由,买个便宜点能刷 op 的路由器,装上你的骑墙软件,直接接在光猫下,拿到 v6 前缀,然后其他设备接 op ,op 既能帮你下发 v6 ,又能上墙,不想翻的设备直接绕过,要翻的设备自己也能配规则,就算骑墙出了问题也不影响你国内上网。
dude4
3 月 31 日
1.不需要超密,找负责你这块的师傅,让他给你改桥接,用自己的路由拨号,这是最稳的方法,也不用去折腾光猫里的 shell 环境了,变量太多,有的光猫甚至连基本的 busybox 都会阉割。
2.如果运营商不让改桥接,那就没什么好方法,客户端对 V6 支持各异,而安卓系统默认不支持 DHCPv6 ,只支持 SLAAC ,你要配置网关需要 NDP ,如果光猫那边 V6 选项不全就无解。
sonnetbreeze
3 月 31 日
@dude4 明白人
@cxtrinityy 明白人
mangmaimu
3 月 31 日
为啥不旁路由变主路由拨号
xkcore
3 月 31 日
不是早就有解决方案了吗,radvd 用优先级 high 就行了,然后关闭 ipv6 的 dns
zhcode
3 月 31 日
我就是因为旁路由 ipv6 难题换成主路由跑 singbox 了
azio7
3 月 31 日
v6 的 ra 有个路由优先级,一般是中等,你旁路由需要装一个服务端发优先等级更高的路由,你的客户端就有两条 v6 路由并且优先使用旁路由发的那条,服务端还可以指定 mac 发 rs 包。
坑点:windows 默认用主路由的 fe80 请求 dns ,会绕过旁路由向主路由请求 dns 导致 dns 泄漏
xy323527470
3 月 31 日
按照 ipv6 的设计,这个东西基本就不能跑旁路由的网络拓扑。这个东西我研究过,结论就是 ipv6 和 ipv4 在设计根本上就是有区别的,ipv4 能跑的网络拓扑,ipv6 根本就不在一个频道上,就算有人说 ipv6 也能跑这个 ipv4 的奇异拓扑,那么它就是用了 ipv6 中的冷门支持特性,支持度一塌糊涂的那种。
Cheons
3 月 31 日
家里几个人?
1 个人?改桥连 or 下挂路由
多人?改客户端方案

懒。在用 fttr ,设备客户端科学上网。
本地无服务,全使用云服务( onedrive 、VPS 、emby )。
Cheons
3 月 31 日
ipv6 本来是为了“no NAT”(透明网关)的。
你想解决旁路由科学问题,套一层 NAT66 ?
xy323527470
3 月 31 日
ipv4 这个东西,每一个设备联网都需要配置网关,dhcp 手动下发也可以改下发的网关,这是任何一台垃圾路由器都支持的东西。但 ipv6 在设计上他的网关就是自动下发的,而且下发的技术也是在各种争论当中,比如安卓也就是谷歌就是不支持 dhcpv6,人家谷歌就不认可这个东西。
搞旁路由拓扑的关键就是在改网关问题上,然后我记得 ipv6 改网关设计原则上他就不想让你手动改这个东西,要想能有这个功能随便改也是在大型设备上有这种功能,比如说思科华为路由器交换机这种东西。

你个人的家用设备我记得想要让要跑到旁路由上的网关,就要在 openwrt 上装个插件之类的,也就是 9 楼说的那个东西,要提到比主路由的优先级更高。不过这都是很冷门的方案,我研究下来这东西很不成熟,支持也很差,基本等于用不了。。
jieyitang
4 月 2 日
1.尝试降低 RA 应答延迟,在我的印象里,华为光猫的 RA 相对会有一些延迟(可能是 3-5ms ),这是故意为之的,你可以去抢答一个 RA 。对于 DNS 问题,建议 fakedns ,然后在光猫上设置 DNS ( HGWProxy 改完静态,fe80 开头的你的服务器 IP )。
2.
1 )很遗憾你是移动光猫,没有电信/联通的容器系统,移动的 osgi 插件基于 Java ,并非 OpenWrt 。
2 )可以,你需要优先检查你的运营商有没有给你一个/60 的前缀,如果是/64 ,你需要自行对 IPv6 设置 NAT ,这很不好。
华为设置 VLAN 的方式为先新建一个桥接带 VLAN 的 WAN ,然后端口 VLAN 绑定,注意不要和运营商冲突。如果是中兴光猫就不能这么干,他们会把默认 VLAN 透出来。
txydhr
4 月 2 日
旁路由不是正常的网络结构
txydhr
4 月 2 日
@xy323527470 其实 ipv4 本身也没有这种设计,属于卡 bug ,哈哈哈😂
jieyitang
4 月 2 日
@Cheons 照理来说 IPv6 no NAT 也不是不行,毕竟直连去程绕路网关,回程光猫直接发回来也不是不能跑,IPv4 也同理。记得把 output 方向的 ICMP 重定向给 DROP 一下。
//觉得去回程不同路不能跑,典型的 NAT 思维
@xy323527470 IPv6 RA 的逻辑就是,你别管网关了,谁发的谁就是网关。大部分情况下,谁回答得快谁就是网关,所以我的 OpenWrt/RouterOS 总是 IPv6 默认网关。至于 IPv4 的 DHCP 特性,为何手动修改网关选项?你也可以开第二个 DHCP 服务器,手动抢答。
xy323527470
4 月 2 日
@jieyitang ipv4 不需要啊,你一个网段里面只要有一个 dhcp 就行了,任何一个路由器的 dhcp 服务器的选项面板,都可以手动指定网关,手动指定 dns 。你在主路由上 dhcp 打开,然后手动指定到旁路的网关(也就是旁路由的同网段 ip 地址)上不就完了,然后旁路由上 dhcp 关闭,连抢答都不用。
xy323527470
4 月 2 日
@txydhr 旁路由这种指来指去的操作,正统来讲就应该去改路由表下一跳,谁叫 ipv4 这东西所有设备都可以去静态设置网关,这就变相等于所有设备都可以自己去改自己的下一跳了,所以 ipv4 搞旁路由这种骚操作就很方便。。。。
jieyitang
4 月 2 日
@xy323527470 我个人认为这不是正经的网络配置实践(虽然 RFC 也没说什么 SHOULD NOT/MUST NOT )。我的需求是任何一个设备爆了也不会断网。华为光猫可以设置 dhcp server pool 中的 Gateway 和 DNS ,但是代价是旁路爆炸全家断网。我现在的网络是两条线路,互不干扰,这也是正经的多路由该完成的事情。
@zw963258852147 现在的问题不是你的你的 RA 优先级的问题,你或许应该屏蔽一下 ICMPv6 重定向,因为很显然你的旁路网关知道你的 IPv6 路由别走它更快,这才是原因。

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

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

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

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

© 2021 V2EX