[求助] 移动华为 F50 (V271-20) 光猫 + 旁路由 (sing-box) 的 IPv6 解决方案探讨 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zw963258852147

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

  •  
  •   zw963258852147 3 月 31 日 1740 次点击

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

    当前网络环境

    • 运营商: 中国移动
    • 主路由/光猫: 华为 F50 (V271-20)
    • 旁路由: 运行 sing-box ,IP 手动指定为 192.168.1.100
    • 目前权限: 暂无光猫的超级密码

    目前的尝试与痛点

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

    • 操作: 终端设备手动指定网关为旁路由 (192.168.1.100)。
    • 结果: IPv4 的科学和直连上网均正常,但彻底失去了 IPv6 环境。

    2. 光猫开启 RA

    • 结果: 局域网内所有设备会自动获取光猫下发的 IPv6 ,并将其作为默认路由,直接绕过了旁路由
    • 补救尝试: 尝试在旁路由也开启 RA ,并设置了 AdvDefaultPreference high;。但发现部分终端设备根本不遵守优先级配置,依然会优先走光猫的 IPv6 链路,导致部分流量泄漏。

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

    • 结果: sing-box 中 DIRECT(直连)部分的 IPv6 流量无法正常访问外部网络。
    • 附加灾难: 部分国产 APP (典型如微信)有强烈的 IPv6 偏好。在 IPv6 实际不通的情况下,它们依然会优先尝试连接 IPv6 ,必须等待请求失败超时后,才会 fallback 到 IPv4 。这导致日常使用时网络体验极度卡顿。

    请教各位大佬

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

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

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

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

    你个人的家用设备我记得想要让要跑到旁路由上的网关,就要在 openwrt 上装个插件之类的,也就是 9 楼说的那个东西,要提到比主路由的优先级更高。不过这都是很冷门的方案,我研究下来这东西很不成熟,支持也很差,基本等于用不了。。
    jieyitang
        14
    jieyitang  
       23 天前 via iPad
    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
        15
    txydhr  
       22 天前 via iPhone
    旁路由不是正常的网络结构
    txydhr
        16
    txydhr  
       22 天前 via iPhone
    @xy323527470 其实 ipv4 本身也没有这种设计,属于卡 bug ,哈哈哈
    jieyitang
        17
    jieyitang  
       22 天前 via iPad
    @Cheons 照理来说 IPv6 no NAT 也不是不行,毕竟直连去程绕路网关,回程光猫直接发回来也不是不能跑,IPv4 也同理。记得把 output 方向的 ICMP 重定向给 DROP 一下。
    //觉得去回程不同路不能跑,典型的 NAT 思维
    @xy323527470 IPv6 RA 的逻辑就是,你别管网关了,谁发的谁就是网关。大部分情况下,谁回答得快谁就是网关,所以我的 OpenWrt/RouterOS 总是 IPv6 默认网关。至于 IPv4 的 DHCP 特性,为何手动修改网关选项?你也可以开第二个 DHCP 服务器,手动抢答。
    xy323527470
        18
    xy323527470  
       22 天前
    @jieyitang ipv4 不需要啊,你一个网段里面只要有一个 dhcp 就行了,任何一个路由器的 dhcp 服务器的选项面板,都可以手动指定网关,手动指定 dns 。你在主路由上 dhcp 打开,然后手动指定到旁路的网关(也就是旁路由的同网段 ip 地址)上不就完了,然后旁路由上 dhcp 关闭,连抢答都不用。
    xy323527470
        19
    xy323527470  
       22 天前
    @txydhr 旁路由这种指来指去的操作,正统来讲就应该去改路由表下一跳,谁叫 ipv4 这东西所有设备都可以去静态设置网关,这就变相等于所有设备都可以自己去改自己的下一跳了,所以 ipv4 搞旁路由这种骚操作就很方便。。。。
    jieyitang
        20
    jieyitang  
       22 天前 via iPad
    @xy323527470 我个人认为这不是正经的网络配置实践(虽然 RFC 也没说什么 SHOULD NOT/MUST NOT )。我的需求是任何一个设备爆了也不会断网。华为光猫可以设置 dhcp server pool 中的 Gateway 和 DNS ,但是代价是旁路爆炸全家断网。我现在的网络是两条线路,互不干扰,这也是正经的多路由该完成的事情。
    @zw963258852147 现在的问题不是你的你的 RA 优先级的问题,你或许应该屏蔽一下 ICMPv6 重定向,因为很显然你的旁路网关知道你的 IPv6 路由别走它更快,这才是原因。
    xy323527470
        21
    xy323527470  
       22 天前
    @jieyitang 大家想法不一样吧,家庭网络,挂了就挂了呗,又不是公司能有个多大影响,拔插电源重启一下的事情
    jieyitang
        23
    jieyitang  
       10 天前 via iPad
    @Chengnan049 在 Google 更新之后,新的 Android 请求的依旧是一个支持 SLAAC 大小的 PD 前缀(/64 )。所以,如果运营商只分配了个/64 ,那非常遗憾,这必须得开 NAT 了。
    华为猫有个 bug (特性?),DHCPv6 配置静态接口 ID ,会 PD 通告 LAN 的/64 前缀,按照 Google 的思路,Android 请求 PD 获取前缀,然后自己拿这个前缀 SLAAC 恰好能用……离谱
    不过既然是修改网关的话,倒也可以利用相同的方法,PD 分发 LAN 的前缀,但是网关为软路由。
    //前提是网内别用二级路由,那个 PD 的 LAN 前缀在不开邻居代理的情况下用不了。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     875 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 81ms UTC 21:15 PVG 05:15 LAX 14:15 JFK 17:15
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86