You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac下WireGuard嵌套路由异常:内层隧道未使用外层隧道而是走主机默认网关

Mac下WireGuard嵌套路由异常:内层隧道未使用外层隧道而是走主机默认网关

我之前在Mac上折腾WireGuard嵌套隧道时也碰到过几乎一模一样的问题,核心矛盾就是wg-quick的自动路由逻辑“好心办坏事”——它会默认给内层隧道的Endpoint地址加一条走主机默认网关的路由,但你的内层服务器IP根本无法从主机直接访问,必须走外层隧道才行。结合你提供的信息,咱们一步步来解决:

问题拆解

你已经确认了几个关键信息:

  • 外层隧道配置正确,能正常访问内层服务器IP(因为外层客户端的AllowedIPs已经包含了内层公网IP,启动后这条路由会自动指向utun3)
  • 内层隧道本身能建立连接(wg show能看到握手记录)
  • 手动给单个网站加路由到utun4能正常工作,说明只是全局路由的配置出了问题

具体解决方案

1. 完善外层客户端配置细节

外层客户端里你已经加了内层公网IP到AllowedIPs,这一步非常关键要保留。另外建议给外层隧道加上MTU配置,避免后续内层隧道的数据包分片出问题:

[Interface]
PrivateKey = ...
Address = 10.0.0.2/32
MTU = 1440  # 新增:适配WireGuard的封装开销,给内层留足空间
# FwMark = 51820

[Peer]
PublicKey = ...
AllowedIPs = <inner external ip>/32, 10.0.0.1/32
Endpoint = <outer external ip>:51820

启动外层隧道后,用route -n get <inner external ip>验证,输出里的interface应该是utun3,确认这条路由生效。

2. 修改内层客户端配置,禁用自动路由

wg-quick自动添加的那条内层IP→主机默认网关的路由是罪魁祸首,所以必须禁用它的自动路由功能,加上Table = off:

[Interface]
PrivateKey = ...
Address = 10.1.0.2/32
MTU = 1380  # 保持这个设置,1440-60=1380,适配外层MTU
Table = off  # 关键:阻止wg-quick自动生成错误路由

[Peer]
PublicKey = ...
AllowedIPs = 0.0.0.0/0
Endpoint = <inner external ip>:51820

3. 手动添加全局路由到内层隧道

先启动外层隧道(wg-quick up ./outer.conf),再启动内层隧道(wg-quick up ./inner.conf),然后执行以下命令把所有IPv4流量导向内层隧道:

# 方式一:直接添加默认路由
sudo route -q -n add -inet 0.0.0.0/0 -interface utun4

# 或者用wg-quick默认的分段方式,效果一致
# sudo route -q -n add -inet 0.0.0.0/1 -interface utun4
# sudo route -q -n add -inet 128.0.0.0/1 -interface utun4

4. 验证配置是否生效

  • 检查默认路由:route -n get 8.8.8.8,输出的interface应该是utun4
  • 检查内层服务器IP的路由:route -n get <inner external ip>,输出的interface应该是utun3
  • 测试互联网访问:随便打开个网站,或者用curl https://example.com,同时用wg show utun4 transfer看流量是否增加,确认走的是内层隧道

为什么之前手动加路由会失败?

大概率是MTU的问题——你之前外层隧道没设置MTU,默认的1500会导致内层隧道的数据包(1380字节)加上WireGuard的封装后超过外层的MTU,触发分片甚至丢包。给外层加上1440的MTU后,就能完美适配内层的1380了。

备注:内容来源于stack exchange,提问作者Romeo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 08:08:22