很多人装机配服务器、搭内网环境时,天天跟 NAT 打交道——路由器一拨号,自动给你分配 192.168.x.x,外网访问得端口映射、DMZ、UPnP……久而久之就默认:‘所有网络都得靠 NAT’。
但大型网站真这么干?
答案很干脆:基本不用。不是不能用,是压根没必要,甚至会拖后腿。
举个最直白的例子:你打开淘宝首页,背后是成千上万台服务器在跑。这些服务器每台都有独立的公网 IP(比如 203.208.60.123),直接挂载在骨干网交换机或负载均衡器后面。用户请求过来,走的是 BGP 路由直达,中间不经过任何地址转换设备。NAT 那套“一个 IP 映射一堆内网地址”的逻辑,在这里完全反过来了——是“一个域名背后对应海量真实 IP”,靠 DNS 轮询、Anycast、LVS/DPDK 等技术分流。
NAT 在哪还活着?
它没消失,只是换地方站岗了:
- 边缘接入层:CDN 节点回源时,可能用私网地址 + SNAT 去访问中心机房,避免暴露核心服务 IP;
- 容器平台内部:Kubernetes 的 Pod 网络常用 CNI 插件做网络地址隔离(比如 Calico 的 IPIP 模式),底层仍有 NAT 成分,但这是虚拟化层面的封装,和传统路由器 NAT 不是一回事;
- 运维跳板机:管理员连生产服务器前,先过一台带防火墙和 NAT 日志的堡垒机,这属于安全策略,不是为了省 IP。
为什么大型网站弃用传统 NAT?
三条硬伤:
① 性能瓶颈:NAT 表要实时维护连接状态,万级并发下查表、改包头、校验和重算,CPU 和内存压力远高于纯路由转发;
② 故障难定位:客户端看到的源 IP 是 NAT 设备的,真实用户 IP 被吞了,日志里全是“10.10.10.1”,查攻击、限流、灰度都抓瞎;
③ 协议不友好:FTP 主动模式、SIP、IPSec 这类依赖 IP 地址字段的协议,在 NAT 后经常失联,得额外加 ALG(应用层网关)补丁,越补越脆弱。
所以一线大厂的数据中心设计图里,你几乎看不到“NAT 网关”这个模块,取而代之的是:BGP 全互联、ECMP 多路径、VLAN/VXLAN 隔离、IPv6 原生部署——IP 地址够用,就别折腾翻译了。
顺手提一句 IPv6
现在新上架的云服务器,默认都配 IPv6 地址段(比如 240e:xx::/64)。一个 /64 子网能塞下 2^64 个地址,整栋楼的 IoT 设备都够分。这时候再搞 NAT,就像给法拉利装马车轱辘——有劲使不上。
装机时记住一点:家用路由器的 NAT 是为“4 个 LAN 口+1 个 WAN 口”场景设计的;而大型网站的网络架构,是从“百万级 QPS+毫秒级延迟+零单点故障”倒推回来的。别拿自己家的光猫配置,去猜腾讯云怎么扛双十一流量洪峰。