NAT 端口映射后外网还是进不来?四层常见坑位
在路由器或防火墙上做端口映射(NAT/虚拟服务器)是最常见的远程访问手段,但配完外网仍访问不了。问题集中在公网 IP、端口冲突、运营商封禁和回环。下面逐个击破。
一、确认公网地址与出口
- 先确认 WAN 口拿到的是 真公网 IP 还是运营商内网 CGNAT 地址(100.64.x.x 段),后者无法被外网直连。
- 用 搜索引擎查本机 IP 或在路由器看 WAN IP,与映射填的地址要一致。
- 若有多 WAN,确认映射绑定到了有公网的那条,且回包从同一出口出。
二、检查映射规则本身
- 确认 外部端口、内部 IP、内部端口 三要素正确,内部 IP 写错是最高频错误。
- 确认协议(TCP/UDP)选对,把 TCP 服务配成 UDP 会直接连不上。
- 避免内外端口不一致又忘记改客户端访问端口,建议内外一致减少出错。
三、运营商与防火墙封禁
- 部分运营商封锁 80/443/8080 等家宽常用端口,换高位端口(如 12345)测试。
- 确认边缘防火墙和 Windows Defender/iptables 放通了该端口的入站。
- 目标主机自身防火墙也要允许对应端口,很多人只配了路由器忘了主机。
四、NAT 回环(Hairpin)
- 用 内网设备访问公网IP:端口 不通,多半是缺 NAT 回环(hairpinning),需开启『NAT 环回』。
- 内网访问建议直接用内网 IP,只在真正外网环境验证映射是否生效。
五、用公网环境验证
- 用 手机流量(非同一网络)或外部服务器 telnet/nc 测试,排除内网干扰。
- 用 curl / telnet 公网IP 端口 看是否 open,比浏览器更准。
技术总结:NAT 映射后外网进不来,先确认是真公网 IP(非 CGNAT),再查三要素与协议,换高位端口绕开运营商封锁,别忘了主机防火墙和 NAT 回环。用手机流量做公网验证最可靠。