logo NodeSeekbeta

关于ipv6绕过了旁路由的问题

佬们,我先说下遇到的问题的背景:
1、主路由是ikuia,桥接拨号,负责移动v4+v6的DHCP。
2、旁路由是istore,装了passwall和openlash。
3、原先用jp的鸡没有v6,所以旁路由一直没开启V6。
4、今天买了只hk小鸡有v6,因为一直听说是v6移动快乐鸡就想试试效果。
5、我在旁路由开启v6后正常分配了移动v6地址,但ip检索时不像v4那样显示hk的v4,检查v6发现它一直是显示内地v6.
6、我用手机+5g,开启shadowrocket,hk的v6却是正常的。
请问下,我该怎么设置才能解决v6不经过旁路由的问题,或有其他建议吗?感谢!

  • @coupile #10 问了ai才知道信息量这么大!贴出来给有需要的小伙伴也做个参考:这位教你的人是个懂 OpenWrt 路由底层和 IPv6 协议的“老江湖”。他说的这段话信息量很大,直接切中了旁路由 IPv6 的痛点。
    为了让你彻底明白,我们把这段话拆成三部分来解释:什么是 NDP Relay、什么是 IPv6 PD,以及为什么说 OpenWrt 有 Bug。

    1. 什么是 "NDP Relay" 和 "IPv6 PD"?
      在 IPv4 的世界里,旁路由可以用 NAT(网络地址转换)或者单纯改网关来伪装流量。但在 IPv6 的世界里,每个设备都要拿一个独立的公网 IP。这就涉及到主路由怎么把 IP 分给旁路由和手机的问题。
      这两种方式代表了两种分发 IP 的思路:
      IPv6 PD (Prefix Delegation,前缀授权):
      原理:主路由从运营商那里拿到一个大网段(比如 /56),然后切出一小块(比如 /64)直接下发给旁路由。旁路由自己当“小队长”,再去给手机分发 IP。
      缺点:在旁路由架构下,主路由和旁路由容易打架。很多主路由(比如官方原厂固件、小米、华为等)根本不支持把前缀二次授权给旁路由,导致旁路由下的设备拿不到 IPv6。
      NDP Relay (邻居发现协议中继):
      原理:这是目前旁路由最完美的解法。旁路由自己不当“小队长”了,它变成一个“传话筒”。主路由发出的 IPv6 广播,旁路由通过 NDP 中继直接复制、转发给手机。
      优点:手机和主路由在同一个 IPv6 层面上,手机能完美拿到移动的公网 IPv6。同时,因为所有流量在经过旁路由时被“中继”了一手,旁路由的 PassWall 就能在这个时候神不知鬼不觉地把流量劫持下来。这就是他说的“最优雅的方式”。
    2. “抛弃 IPv6 PD”是什么意思?
      意思是在旁路由的 LAN 口配置里,不要开启“IPv6 接口分配长度”(即关闭 PD 关联)。
      你要把旁路由的 IPv6 模式彻底从“主路由模式(路由分配)”切换到 “中继模式 (Relay)”。让旁路由彻底放弃自己去分配 IP 的想法,一心一意做主路由和手机之间的“桥梁”。
    3. “OpenWrt 的 IPv6 NDP 多少有点问题,Snapshot 好像修了”是什么意思?
      这是 OpenWrt 社区一个历史悠久的“老坑”:
      稳定版 OpenWrt(如 22.03, 23.05 等):内置的 IPv6 管理组件(主要是 odhcpd)在处理 NDP 中继 (Relay) 时存在不稳定的 Bug。经常表现为:刚开机时手机能上网,但过几个小时或者到了第二天,中继邻居表失效了,手机的 IPv6 就断网了,或者旁路由突然就劫持不到流量了。
      Snapshot(快照版/开发版):这是 OpenWrt 每天更新的最前沿版本。这位朋友记得,社区的开发者后来在源码里修正了 odhcpd 的这个中继 Bug,修复后的版本在中继模式下非常稳定,不会再莫名其妙断流。
      🛠️ 总结:你现在该怎么办?
      这位高手给你的建议,技术上确实是“最优雅”的(能完美兼顾国内 IPv6 直连 + 国外流量被旁路由劫持)。但由于 OpenWrt 稳定版的 Bug,折腾起来会比较搞心态。
      如果你想尝试他的“最优雅方式”,核心操作是:
      登录旁路由,进入 “网络” -> “接口” -> “LAN”。
      在“IPv6 设置”里,把 “路由器通告服务 (RA)” 和 “DHCPv6 服务”、“NDP 代理” 全部改成 “混合模式 (hybrid)” 或 “中继模式 (relay)”。
      把“IPv6 分配长度”设为 设置为“已禁用”(也就是抛弃 PD)。
      谢谢佬们,我继续琢磨下…
  • op可能误解了
    v4/v6都做nat,才能所有流量都经过旁路网关,不过,其实有一个方法可以做到类似

    ipv4的设置不变,将客户机ipv6的dns设置为旁路网关的link address,就是fe80那个地址,同时mihomo开启fakeip。

    解释下:ipv4跟原来的一样。ipv6设置后,本地发起的所有域名解析,返回的都是198.18.x.x的fakeip地址,然后下行流量都是本地 --> 旁路网关(198.18.x.x) --> 主路由 --> 远端vps
    此时,只要你的vps具有ipv6,你访问境外网站就是优先ipv6。
    分流的话,譬如国内地址不要fakeip,则ipv4/ipv6都直接放行,也就是你本机ipv4/ipv6直接访问
    弊端:境外纯ipv6访问,则是 本地 --> 主路由 --> 网站。不会经过旁路网关。

    export_j1m1jp

    我一直使用这个方案,配合分流,国内访问,直接本机ipv4/ipv6,国外 vps ipv4/ipv6

  • @qqqasdwx #1
    V6可以做旁路由,只不过思路和传统的IPV4有点不一样,首先软路由的设定必须是PVE或ESXI环境不直通用虚拟网卡,主路由ikuai上面的IPV6 PD获取后缀长度60或者62,旁路由IPV4的设定还是按照传统的方法来,旁路由IPV6这里新建一个WAN6挂在主路由后面,相当于IPV6部分做主路由下面的二级路由,IPV6的PD后缀长度获取改成62或者64,这样你的旁路由获得的IPV6是通过主路由发布的,然后在passwall里开启tproxy就行了,因为IPV6不存在什么NAT4这种东西,IPV6做二级路由它也是公网,只是路由节点多一跳而已,并且你所有手机设备获取到的IPV6也不会直连,都会经过openwrt这个ipv6的网关进行分流,更加不会导致开了IPV6导致DNS污染的问题

  • v6我记得是不能做旁路由的,之前折腾过,具体什么原因忘了,好像是主路由回包会直接回到设备,不会经过旁路由网关。

    蹲一个懂行的大佬,抄下方案。

  • 无解! 手机连接的WiFi是主路由的v6 就算你把网关指向旁路游 也是走的v4代理 v6 一样出问题
    除非istore 拨号

  • 旁路由必关主路由ipv6功能,如果真要ipv6就得主路由梅林或串个性能好点的软路由拨号

  • @qqqasdwx #1 对的,似乎全部都自行绕过了旁路由。

  • @393227705 #2 好可惜,我用ikuia管理设备来着,看来希望渺茫了

  • @samaloyo #3 不懂请问下:它这个原理到底是什么呢,为什么软路由拨号就能解决绕过旁路由的问题,是ipv6的特性如此么?

  • 可以只给旁路由ipv6其它设备不给。这样旁路由就可以使用ipv6节点。我就是这样用的

  • 旁路由IPv6是个难题,好像跟IPv6的RA广播有关系。主路由开启IPv6 RA广播之后,所有二级设备的IPv6都会连接主路由,除非把主路由的IPv6 RA广播关了让旁路由来广播,但是这样不需要代理的设备也被影响了。硬路由基本都没法修改主路由的IPv6 RA广播,ikuai不知道行不行

  • 没掌握比较好的计算机知识那就直接iKuai-软路由-上网终端。用级联路由,不要旁路由。不想双重NAT就配置iStoreOS出站不伪装IP,在iKuai添加到iStoreOS的静态路由

  • 目前最优雅的方式是ndp relay 但是这样的话 你就得抛弃ipv6pd 但话又说回来了 这几个稳定版本openwrt的ipv6 ndp多少有点问题 我只记得snapshot好像修了

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有62751位seeker

🎉欢迎新用户🎉