同一台设备,延续熟悉的出口选择

一次浏览或播放可能同时产生 IPv4 和 IPv6 连接。让设备的 IPv6 默认路由也指向 OpenSurge 后,两类连接便可使用该设备的分流规则与出口选择:为它指定独立出口,或让它继续跟随网关规则。

OpenSurge 在 IPv6 数据包进入网关时保留来源 MAC,并关联到已登记的设备。即使客户端使用的 IPv6 地址发生变化,策略仍以设备为单位组织,也便于在控制面查看连接归属与实际去向。

三种拓扑,对应三种接入方式

三种网关拓扑都可在 TUN 透明模式下使用实验性下游 IPv6。区别在于设备如何获得地址、默认路由和 DNS。

  • 独立下游 LAN:由 OpenSurge 在独立网络发布 IPv6 路由与 DNS 信息,客户端通过 SLAAC 自动配置本地 IPv6 地址,适合上下游接口清楚分开的接入环境。
  • DHCP 接管:在共享局域网自动提供 IPv6 配置。启用前先关闭主路由的 RA / DHCPv6,或通过 RA Guard 消除竞争的路由通告,再在界面确认共享网络的接入条件。
  • 旁路由:只为选定客户端手工配置 ULA 地址,并将 Mac 下游接口的链路本地地址设为网关和 DNS。按“网络”页的 IPv6 填写速查操作,按需填写客户端接口作用域,并移除该客户端上竞争的 IPv6 默认路由。

分别设置域名解析与流量接管

“下游 IPv6”卡片将两个相关设置放在一起:AAAA 响应决定应用能否从 OpenSurge DNS 获得 IPv6 目标;接管模式决定网关何时建立 IPv6 流量路径。日常双栈使用应同时配置两者。

  • 关闭(off):停用 OpenSurge 的下游 IPv6 路径。
  • 自动(auto):选定上游接口具有公网 IPv6 地址,并存在该接口的 IPv6 默认路由时启用。
  • 始终启用(always):即使上游没有原生 IPv6,也建立下游路径;此时可选择具备相应能力的代理出口访问公网 IPv6 目标。
  • 自动路由通告用于独立下游 LAN 与 DHCP 接管;旁路由在 auto 和 always 下仍使用客户端手工配置。

独立接收 IPv6,共用 mihomo 分流

Mac 本机透明流量与下游 IPv4 通过 mihomo 系统 TUN 处理。下游 IPv6 由 macOS BPF 数据包代理从选定物理接口接收,再通过本地 Unix socket,将 IPv6 数据包与来源 MAC 交给项目适配的 mihomo opensurge-packet 监听器。

监听器通过 gVisor 用户态网络栈处理 TCP 与 UDP,并将连接交给设备身份、规则匹配和出口选择逻辑。在自动接入拓扑中,dnsmasq 同时提供路由器通告(RA)、SLAAC 地址配置与 RDNSS DNS 信息,让客户端的网络配置与实际转发路径配合工作。

根据应用与上游条件选择出口

即使 Mac 的上游只有 IPv4,具备 IPv6 访问能力的代理仍可帮助设备连接公网 IPv6 目标。使用 DIRECT 原生 IPv6 出站时,则需要上游提供可用的 IPv6 地址与路由。always 模式负责建立本地接入路径,后续连接由所选出口承载。

当前转发路径支持 TCP 与 UDP;HTTP/3、QUIC 使用 UDP,因此也需要出口支持 UDP 转发。ICMP 转发不在这条路径的支持范围内,建议用 HTTPS 和实际应用流量检查连通性,避免只凭 ping 结果判断。

从一台设备开始,看清连接与恢复过程

在“网络”页确认下游接口、拓扑、IPv6 模式和 AAAA 设置,应用并启动网关后,先检查一台客户端的 IPv6 地址、默认路由与 DNS,再打开支持 IPv6 的服务。

在 OpenSurge 连接视图中核对设备、IPv6 目标、命中规则与实际出口链;切换该设备出口后,再建立新连接确认变化。应用需要 UDP 时,单独检查相应业务。

自动接入模式停止时,OpenSurge 会发送路由器生存期为零的 RA,撤销其默认路由,并清理运行期间建立的网络资源。手工旁路由停止使用时,需要恢复客户端的网关与 DNS。该能力目前保留实验性标签,建议先完成一台测试设备的接入、业务访问与恢复,再扩大使用范围。

阅读 IPv6 设计故事了解 Wind Rose 如何让两条流量路径共用一套设备策略。独立下游 LAN 接入指南划分上下游接口,并接入第一台客户端。

FAQ

改变网络前常见的问题

必须有运营商原生 IPv6 吗?

DIRECT 公网 IPv6 需要原生上游。在 always 模式下,也可以通过具备 IPv6 访问能力的代理使用 IPv4 上游连接公网 IPv6 目标;出口还需要支持应用使用的协议。

只开启 AAAA 就能接管 IPv6 吗?

AAAA 负责 DNS 回答。客户端还需要 IPv6 地址、经过 Mac 的路由,以及已经启用的下游 IPv6 路径。请在“网络”页一起配置;使用手工接入时,还需完成客户端设置。

可以保留主路由的 IPv6 通告吗?

共享局域网的自动接管需要先消除竞争的路由器通告和默认路由。旁路由则需要单独安排选定客户端的路由,使其 IPv6 流量经过 Mac。

实验性对日常使用有什么影响?

使用效果与客户端、局域网拓扑、上游网络和出口能力有关。建议先在小范围确认常用应用、设备策略切换与停止后的网络恢复,再为更多设备开启。