第42篇:NAT 基础——静态 NAT、动态 NAT、PAT

一、写在前面

IPv4 地址严重不足,而企业内部大量使用私有 IP 地址(10.0.0.0/8、172.16.0.0/12、192.168.0.0/16)。私有 IP 不能在公网上路由,因此需要NAT(Network Address Translation,网络地址转换) 将私有 IP 转换为公网 IP。

一句话:NAT 就是把内网的"门牌号"换成外网能认的"门牌号"。


二、NAT 的三种类型

类型 转换方式 IP 映射 适用场景
静态 NAT 1 对 1 一个私网 IP 固定对应一个公网 IP 服务器对外发布
动态 NAT 多对多 私网 IP 动态从公网 IP 池中获取 少量用户上网
PAT(NAPT) 多对 1 多个私网 IP 共享一个公网 IP(用端口区分) 企业上网(最常用)

三、静态 NAT(1 对 1)

3.1 原理

内网服务器 10.0.1.100 → 公网 100.1.1.100

10.0.1.100 永远对应 100.1.1.100
100.1.1.100 也永远转换回 10.0.1.100

3.2 配置

[Router] interface gigabitethernet 0/0/1
[Router-GigabitEthernet0/0/1] ip address 100.1.1.1 255.255.255.0   ← 公网接口

# 静态 NAT 映射
[Router] nat static global 100.1.1.100 inside 10.0.1.100
[Router] nat static enable

3.3 验证

[Router] display nat static
Static NAT mappings:
  Inside IP        Global IP        Netmask          Status
  10.0.1.100       100.1.1.100      255.255.255.255  Active

外网用户访问 100.1.1.100 的 80 端口 → 路由器转换成 10.0.1.100 的 80 端口。


四、动态 NAT(多对多)

4.1 原理

公网 IP 池:100.1.1.10 ~ 100.1.1.20(10 个公网 IP)
内网用户:50 人

谁先上网 → 从池中分配一个公网 IP
谁后来 → 如果没有空闲公网 IP 了 → 无法上网
用完释放 → 公网 IP 回收

4.2 配置

[Router] nat address-group 1 100.1.1.10 100.1.1.20

[Router] acl 2000
[Router-acl-basic-2000] rule 5 permit source 10.0.1.0 0.0.0.255
[Router-acl-basic-2000] quit

[Router] interface gigabitethernet 0/0/1
[Router-GigabitEthernet0/0/1] nat outbound 2000 address-group 1

4.3 缺点

  • 公网 IP 有限,内网用户多于公网 IP 时可能没 IP 可用
  • 动态 NAT 已基本被 PAT 取代

五、PAT(端口地址转换)——多对 1

5.1 原理

PAT 是所有 NAT 技术中最常用的一种。它让多个内网用户共享一个公网 IP,通过端口号区分不同的连接。

内网用户                 路由器                  Internet
10.0.1.5:12345  ──→   100.1.1.1:10001  ──→   www.baidu.com
10.0.1.6:12345  ──→   100.1.1.1:10002  ──→   www.baidu.com
10.0.1.7:12345  ──→   100.1.1.1:10003  ──→   www.baidu.com
                           ↑
                  同一个公网 IP,不同端口

5.2 配置

[Router] acl 2000
[Router-acl-basic-2000] rule 5 permit source 10.0.0.0 0.0.255.255
[Router-acl-basic-2000] quit

[Router] interface gigabitethernet 0/0/1
[Router-GigabitEthernet0/0/1] ip address 100.1.1.1 255.255.255.0
[Router-GigabitEthernet0/0/1] nat outbound 2000

只有两行命令(ACL + nat outbound),企业上网就这么简单。


六、NAT 转换表示例

[Router] display nat session all
  NAT Session Table Information:
    Protocol    : TCP(6)
    Src IP      : 10.0.1.5          ← 内网 IP
    Src Port    : 12345
    Dest IP     : 110.242.68.3      ← 百度
    Dest Port   : 80
    Global IP   : 100.1.1.1         ← 转换后的公网 IP
    Global Port : 10001             ← 转换后的端口

    Protocol    : TCP(6)
    Src IP      : 10.0.1.6
    Src Port    : 12345
    Dest IP     : 110.242.68.3
    Dest Port   : 80
    Global IP   : 100.1.1.1         ← 同一个公网 IP
    Global Port : 10002             ← 不同端口

七、三种 NAT 对比

特性 静态 NAT 动态 NAT PAT
IP 映射 1:1 N:N N:1
公网 IP 利用率
端口复用
配置复杂度 简单 简单
适用场景 服务器发布 极少用 企业上网

八、NAT 的优缺点

优点 说明
节省公网 IP 几个公网 IP 就可以让几百人上网
隐藏内网结构 外网看不到内网 IP
灵活管理 结合 ACL 控制哪些 IP 可以上网
缺点 说明
增加延迟 NAT 转换需要额外处理
端到端地址透明性丢失 有些协议需要端到端 IP 不变(如 IPsec)
某些协议不支持 NAT FTP、ICMP、SIP 等需要 ALG
无法从外网主动访问内网 除非配 NAT 映射

九、思考

  1. 静态 NAT、动态 NAT、PAT 三者的核心区别是什么?
  2. PAT 是如何用"1 个公网 IP"支持"上千个内网用户"上网的?
  3. 为什么 PAT 是现网最常用的 NAT 类型?
  4. 查看 NAT 转换表用什么命令?关键看哪几个字段?
  5. NAT 有什么缺点?哪些网络协议可能因为 NAT 出现问题?
  6. 企业 200 人上网,公网只有 2 个 IP,该用哪种 NAT?

下篇预告:第43篇《企业上网少不了NAT_EasyIP配置》——掌握企业上网场景中NAT EasyIP的配置方法。