双重 NAT:运营商路由器后面的 Mesh 系统
当 Mesh 系统作为路由器接在运营商的路由器后面时,两台设备都会转换地址。这就是双重 NAT。大多数网页浏览仍能正常使用,但端口转发、部分游戏和部分远程访问可能会失败。
我的 Mac 出现了这个问题:双重 NAT:运营商路由器后面的 Mesh 系统。请阅读 https://kilobat.app/zh-hans/guides/double-nat-mesh.md,并和我一起逐步处理。如果缺少 Kilobat CLI,请安装:brew install seifip/kilobat/kilobat。请你自己运行指南中的终端和 kilobat 检查,并告诉我发现了什么。列出只有我才能完成的步骤。更改任何设置之前先问我。
症状
- Mesh App 或游戏主机提示双重 NAT,或显示严格或中等的 NAT 类型。
- Mesh 路由器上的端口转发对来自互联网的连接没有效果。
- UPnP 在 Mesh 上打开了端口,但其他人仍然无法连接到你的游戏或服务器。
- 添加 Mesh 后,对家里的 Mac、NAS 或摄像头的远程访问停止了。
- 家里的 VPN 服务器不接受连接。
- 运营商 Wi-Fi 上的设备看不到 Mesh Wi-Fi 上的打印机或电视。
可能的原因
- 两台路由器都在做 NAT。运营商的路由器给 Mesh 分配一个私有地址。Mesh 再从第二个地址范围给你的设备分配私有地址。
- 端口转发止步于第一台路由器。传入连接首先到达运营商的路由器。仅在 Mesh 上设置的端口转发或 UPnP 映射无法越过它。
- 两个独立的本地网络。运营商 Wi-Fi 上的设备和 Mesh Wi-Fi 上的设备处于不同的子网。Bonjour 发现无法在它们之间传递。
- 两个 DHCP 服务器。Apple 建议只在一台路由器上运行 DHCP 服务器和 NAT。Apple 表示,双重 NAT 可能会让设备无法访问某些资源。
如何检查
找到 Mac 使用的路由器。记下
gateway:后面的地址。route -n get default | grep gateway追踪通往互联网的前几跳。
traceroute -n -m 4 1.1.1.1输出第 1 跳是你的 Mesh 路由器。如果第 2 跳也是私有地址,例如 192.168.1.254 或 10.0.0.1,那么家里很可能有第二台路由器。
打开 Mesh App,找到主 Mesh 节点的 WAN 或互联网地址。
将它与私有地址范围 10.x.x.x、172.16–31.x.x 和 192.168.x.x 对比。WAN 地址是私有地址,就说明存在双重 NAT。
从 100.64.0.0 到 100.127.255.255 的地址是运营商侧的运营商级 NAT。在家里使用桥接模式无法消除它。
如何修复
选择一台路由器来做 NAT 和 DHCP。另一台设备只能转发流量或提供 Wi-Fi。
方案 1:将运营商的路由器设为桥接模式。这样 Mesh 会获得公网地址,并继续担任路由器。
在 Xfinity 网关上,于 10.0.0.1 打开 Admin Tool。选择 Gateway > At a Glance,然后点击 Bridge Mode 旁边的 Enable。
Xfinity 表示,桥接模式会关闭网关自身的 Wi-Fi、xFi Pods 和 Xfinity CyberSecure。
在 AT&T 网关上,使用 IP Passthrough。AT&T 表示,其网关无法使用桥接模式。
AT&T 提供了 Firewall > IP Passthrough。将 Allocation Mode 设为 Passthrough,并选择 DHCPS-fixed。
将 Mesh 路由器的 MAC 地址输入为 Passthrough Fixed MAC Address。重新启动 Mesh 路由器。
AT&T 表示,只有一台设备可以使用直通。网关的防火墙将不再保护它。
方案 2:将 Mesh 设为接入点或桥接模式。这样运营商的路由器仍是唯一的路由器。
在 TP-Link Deco 上,将 Deco 切换为 Access Point 模式。TP-Link 表示,这样多台 Deco 可以通过网线连接。
在 eero 上,打开 Settings > Advanced networking > DHCP & NAT。将 Automatic 改为 Bridge。
eero 表示,桥接模式会关闭 eero Plus 的功能,例如 Advanced security、广告拦截和内容过滤器。
Google 表示,Nest Wifi 的桥接模式只适用于单台 Wifi 设备,不适用于 Mesh。
对于 Nest Wifi,Google 建议在运营商的路由器上使用桥接模式;如果调制解调器是独立的,则移除那台路由器。
完成任一更改后,重新启动 Mac 的 Wi-Fi。检查
traceroute中是否只剩一个私有跳。如果保留双重 NAT,请在两台路由器上都设置端口转发。先把端口转发到 Mesh,再转发到设备。
你的路由器的确切菜单,从 FRITZ!Box、Xfinity 到 eero 和 Livebox:路由器指南。
使用 Kilobat
用 Kilobat 追踪路由。开头有两个私有跳,说明家里有两台路由器。
kilobat trace 1.1.1.1显示流量从 Mac 的哪里离开,以及 Cloudflare 看到的公网地址。
kilobat ip --publicKilobat 读取路由和地址,无法更改路由器上的模式。
常见问题
双重 NAT 会让我的网速变慢吗?
Google 表示,对大多数人来说,双重 NAT 不会影响 Wi-Fi 性能。它会影响在线游戏、端口转发和 UPnP。
在运营商的路由器上还是在 Mesh 上使用桥接模式更好?
在运营商的路由器上使用桥接模式,可以保留 Mesh 的功能,例如安全功能、过滤器和端口转发。在 Mesh 上使用桥接模式,则保留运营商的功能。
为什么 IP Passthrough 之后,我的 Mesh 仍显示私有 WAN 地址?
更改后重新启动 Mesh 路由器,让它重新申请地址。检查网关中的 MAC 地址是否是 Mesh 路由器 WAN 端口的地址。
桥接模式能解决运营商级 NAT 吗?
不能。运营商级 NAT 在运营商的网络中。请向运营商申请公网 IPv4 地址,或在可用的地方使用 IPv6。
参考资料
- Apple 支持:Wi-Fi 路由器和接入点的推荐设置
- Google Nest 帮助:修复两台路由器同时运行造成的双重 NAT
- TP-Link:Deco 与现有路由器:Router Mode 和 Access Point Mode
- eero 支持:什么是桥接模式?
- Xfinity:在无线网关上使用桥接模式
- AT&T Business 支持:配置 IP Passthrough 和 DMZplus
- traceroute(8) 和 route(8),随 macOS 27.2 安装的手册页
核对于 2026 年 11 月 7 日。