双 NAT 配置之后,公网 IP 咋消失了……

号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部

很多网工第一次接触 NAT(网络地址转换)时,觉得它就是个“内网转公网”的工具,简单易用。

可一旦在网络里叠加了 双 NAT(比如防火墙、路由器同时做 NAT),就经常会遇到一个令人头疼的问题:

明明申请的公网 IP 在哪?怎么一查发现全是私网地址,公网 IP 好像“凭空消失”了?

今天我们就来彻底讲清楚:

双 NAT 背后的逻辑是什么,为什么公网 IP 会“消失”,以及实际环境中如何避免这种坑。

1. NAT 的基本逻辑回顾

  • 源 NAT(SNAT):把内网地址(10.x、172.x、192.168.x)转换成公网地址,对外访问。

  • 目的 NAT(DNAT):把公网 IP 映射到内网服务器,供外部访问。

  • NAT 表:记录源地址/端口与转换后的地址/端口的映射关系。

一句话:NAT 就是改地址+改端口,靠状态表维持双向通信。

2. 双 NAT 场景长啥样?

常见场景:

  • 企业出口:

    • 防火墙做了一层 NAT,把内网转成一个私有地址池。

    • 出口路由器再做一层 NAT,把这个私有地址池转成公网 IP。

    • 结果:外网看不到真实公网 IP,甚至 trace 发现出站流量跳的全是“私网”。

  • ISP 场景:

    • 运营商在小区宽带前面加了一层 NAT(CGNAT,大规模 NAT)。

    • 用户再在自家路由器做 NAT。

    • 结果:家里电脑根本拿不到公网 IP,公网访问全靠运营商 NAT 池。

3. 为啥公网 IP 会“消失”?

(1)被“掩盖”

第一层 NAT 已经把源地址改掉,公网 IP 压根没有参与到 NAT 映射里,后续所有流量都走私网 NAT。

(2)路由不可达

双 NAT 里如果路由没配好,公网地址段根本不会下发到内网路由表,设备只认 NAT 后的私网。

(3)运营商限制

有些宽带套餐不给真正的公网地址,而是直接丢你到 CGNAT 池里。即便申请了公网 IP,但没配置到位,仍然是“消失”状态。

4. 双 NAT 带来的实际问题

  1. 公网服务发布失败

    • DNAT 一层可以,双 NAT 基本“废掉”,因为外层 NAT 根本不知道你内层的私网怎么对应。
  2. 排障难度翻倍

    • ping 不通?trace 一下全是私网跳点,根本定位不到真实问题。
  3. VPN/游戏/远程桌面异常

    • 双 NAT 场景下,点对点应用最容易崩。
  4. 性能损耗

    • NAT 本质是状态表,双 NAT 需要维护两份表项,CPU/内存压力大。

5. 如何避免公网 IP “消失”?

  1. 明确 NAT 角色分工

    • 出口设备最好只保留一层 NAT,避免防火墙/路由器重复做转换。
  2. 桥接模式(Bypass NAT)

    • 防火墙只做安全策略,不做 NAT;统一在路由器完成地址转换。
  3. 申请真正的公网 IP

    • 避免被 CGNAT“套娃”,有公网需求必须向运营商要“独享公网 IP”。
  4. 内网分层规划

    • 内层 NAT 使用私网地址,外层 NAT 负责公网出口,保持映射关系清晰。

结语

双 NAT 最大的问题就是——

公网 IP 没有“消失”,只是被 NAT 层层掩盖了。这类问题在家庭宽带(运营商 NAT)和企业多层出口(防火墙+路由器)场景最常见。

如果你发现网络出口查不到公网 IP,首先要想清楚:到底哪台设备在做 NAT?公网 IP 是在谁手里?

搞清楚这一点,你就能精准定位问题,不至于再“怀疑人生”。

原创:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值