Surge Mac 网关模式配置指南

Surge 可作为网络网关,用于接管局域网内其他设备的全部网络流量。此功能通常被称为“旁路由”或“透明网关”。

工作模式

Surge Mac 提供两种网关模式:

  1. 增强模式 (Surge VIF): 利用 Surge 的虚拟网络接口作为网关。

  2. Surge VM 网关: 提供更优的性能和更丰富的功能,但无法与其他虚拟机软件的桥接模式(如 Parallels Desktop, VMware Fusion)同时运行。此模式仅在 Surge Mac 6.0 及以上版本中可用。

circle-info

增强模式可同时用作接管当前设备的网络请求,但 VM 网关仅可用于接管其他设备的网络请求。

配置方法

  1. 在 Surge Mac 中启用“增强模式”或“VM 网关”。

  2. 在需要被接管的设备上,进入其网络设置。

  3. 将其网关地址修改为 Surge Mac 所在设备的 IP 地址(若使用 VM 网关,则修改为 VM 网关的 IP 地址)。

  4. 将其 DNS 服务器地址修改为 198.18.0.2

triangle-exclamation

完成以上步骤后,Surge 即开始接管该设备的网络流量。

自动化配置 (Surge DHCP)

您可以使用 Surge 的 DHCP 功能来自动为客户端配置网络设置,从而实现自动接管。

使用前请注意:

  1. 基本知识: 您需要了解 DHCP 的基本工作原理。

  2. DNS 配置: 必须在 Surge 的配置文件中至少配置一个有效的上游 DNS 服务器。

  3. 禁用现有 DHCP: 您必须禁用当前网络中的其他 DHCP 服务器(通常由主路由器提供)。

  4. 有线连接: 运行 Surge 的 Mac 设备应使用有线网络连接,强烈不建议使用 Wi-Fi。

  5. 静态 IP: Surge Mac 自身必须使用静态 IP。当启用 Surge DHCP 功能时,Surge 会自动将设备的网络设置为静态 IP。

  6. 稳定性: 开启此功能后,请勿随意移动或关闭运行 Surge 的 Mac 设备,否则可能导致整个网络中断。

  7. 紧急恢复: 如果网络出现问题,请关闭 Surge DHCP 功能,并重新开启主路由器的 DHCP 服务以恢复网络。

默认情况下,新设备加入网络后不会被自动接管。您可以在 Surge 的设备列表中,右键点击目标设备并选择“使用 Surge 作为网关”。如需自动接管所有新设备,可在网关模式配置中勾选“默认使用 Surge 作为网关”选项。

triangle-exclamation

IPv6 RA 覆盖

对于存在 IPv6 的网络环境,仅通过 DHCP 修改 IPv4 设置可能导致流量接管不完整。Surge Mac 6.0 新增了 IPv6 RA (Router Advertisement) 覆盖功能,以确保 IPv6 流量也能被正确接管。

  • 此功能不影响客户端的 IPv6 地址分配。

  • 如果主路由器的 RA 消息优先级被设为“高”,Surge 可能无法成功覆盖。请将路由器的 RA 优先级调整为“普通”或“低”。

circle-info

如果您不使用 IPv6,也可以直接在路由器设置中禁用整个网络的 IPv6 功能。

常见问题排查

Q: 请求查看器中为何只显示 IP 地址,不显示域名?

A: 这是因为客户端的 DNS 未被正确指向 198.18.0.2fd00:6152::2,导致 Surge 无法通过其 Fake IP 机制将 IP 地址映射回域名。

解决方案:

  1. 检查配置: 检查客户端 DNS 设置是否正确。

  2. 强制劫持 DNS: 对于无法手动修改 DNS 的设备,可以在 Surge 网关模式配置中,勾选“劫持所有发送到 53 端口的 UDP DNS 查询”。此选项能解决大部分问题。

  3. 处理 IPv6 RA DNS: 在某些情况下,即使勾选了劫持选项也无效。这可能是因为网络的 IPv6 RA 广播了一个本地链接地址 (link-local) 或路由器自身的 IPv6 地址作为 DNS,导致 DNS 查询绕过了 Surge。请在路由器的 IPv6 设置中,将 RA 的 DNS 地址设置为空,或改为一个公共 DNS 地址(如 Google Public DNS 2001:4860:4860::8888)。(在配置 Surge IPv6 RA 覆盖时,若检测到此问题会发出警告)

circle-info

部分路由器(如华硕 ASUS 原厂固件)无法自定义 IPv6 RA 的 DNS 设置。可以考虑刷入 Merlin 或 OpenWRT 等第三方固件来解决。

  1. 处理加密 DNS (DoH/DoT): 如果设备或应用内置了加密 DNS 功能,Surge 的 Fake IP 机制将失效。此时,虽然无法显示域名,但仍可通过规则进行流量分流。请为相关规则启用 extended-matching 标记,利用 HTTP Host 或 TLS SNI 嗅探结果进行匹配。

circle-info

如果仅仅是少数 Apple 相关域名,如 gateway.icloud.com 和 tether.edge.apple,以 IP 形式进行了请求,这是预期行为,iOS/macOS 对部分域名有特殊的加密 DNS 解析逻辑阻止了 Fake IP 机制。

已知兼容性问题

P2P 客户端

在被接管的设备上运行 P2P 下载软件(如 BT、迅雷)、游戏下载器或直播应用时,可能会因瞬时并发连接数过高而导致 Surge 出现性能问题甚至中断。建议避免在此类设备上使用网关模式。我们将在未来的更新中优化此问题。

circle-info

技术说明: 传统路由器在数据包层面工作,处理大量并发连接(如 1000 个)仅涉及 NAT 表的少量开销,压力很低。 而 Surge 工作在应用层,需要对每个连接进行协议嗅探、规则匹配和日志记录。单个大流量连接不成问题,但瞬间产生数千个新连接会带来巨大的处理开销。

PlayStation Portal™ Remote Player

当 PS Portal 被 Surge 网关模式接管时,异地串流无法正常开启。

这是因为 PS Portal 异地串流的逻辑与 Surge 的工作模式存在冲突,由于 Surge 需要进行 Protocol Sniffing,会对所有 TCP 请求先接受握手再进行处理,而 PS Portal 检查是否是同局域网的方式是直接访问 PS5 的内网 IP,检查是否能完成 TCP 握手,所以导致误判为同局域网。

可以通过增加一条规则的方式解决该问题,如:

IP-CIDR,192.168.0.100/32,REJECT-DROP,pre-matching,no-resolve

其中的 IP 地址为 PS5 的内网 IP 地址,规则一定需要带上 pre-matching 标记,这样 PS Portal 便不会误判,可以正常启用异地串流流程。

另外,也可以利用该机制,欺骗 PS Portal PS5 处于同一局域网中,这样便可使用自己的私有网络畅玩 PS Portal。如果使用的是 Surge Ponte,只需增加规则将 PS Portal 对 PS5 的访问转至 PS5 所在网络即可。

Last updated