第十二章 网络地址转换
文章目录
- 一、NAT定义
- 二、NAT的工作原理
- 三、NAT的主要应用场景
- 四、NAT的分类
- 1、静态NAT(Static NAT)
- 2、动态NAT(Dynamic NAT)
- 3、NAPT(Network Address Port Translation) / PAT(Port Address Translation)
- 4、Easy IP(也称直连NAT)
- 5、NAT Server(端口映射 / 端口转发)
- 五、NAT的优缺点
- 六、NAT与ACL的关系
- 1、ACL 控制谁可以做 NAT
- 2、ACL 可以限制 NAT Server 的访问来源
- 七、实验
- 1、静态NAT
- (1)、拓扑图
- (2)、需求
- (3)、AR1配置过程
- (4)、AR2配置过程
- 2、动态NAT
- (1)、拓扑图
- (2)、需求
- (3)、AR1配置过程
- (4)、AR2配置过程
- 3、NAPT
- (1)、拓扑图
- (2)、需求
- (3)、AR1配置过程
- (4)、AR2配置过程
一、NAT定义
NAT(Network Address Translation,网络地址转换) 是一种将一个IP地址域映射到另一个IP地址域的技术,通常用于将私有(保留)IP地址转换为公有IP地址,以便访问互联网。
✅ 简单理解:NAT 就像“翻译官”,把内部局域网的私有语言(私有IP)翻译成外部公网能听懂的语言(公网IP)。
二、NAT的工作原理
当内网主机使用私有IP地址(如 192.168.1.x)访问外网时,数据包必须经过具备NAT功能的设备(如路由器或防火墙)。该设备会执行以下操作:
- 捕获数据包:检测来自内网的数据包。
- 替换源IP地址:将原始私有IP替换为公网IP。
- 记录映射关系:在NAT表中保存“内网IP+端口 ↔ 公网IP+端口”的映射。
- 转发数据包:将修改后的数据包发送到外网。
- 反向处理响应包:收到外网返回的数据包后,根据NAT表还原目标IP和端口,再转发给内网主机。
内网主机 A: 192.168.1.100:5000 → 访问 www.google.com:80↓
NAT设备(公网IP: 202.96.1.1)↓
实际发出的数据包:
源IP: 202.96.1.1, 源端口: 50000 → 目的IP: www.google.com:80
并在NAT表中记录:
(192.168.1.100:5000) ↔ (202.96.1.1:50000)↓
Google 回复数据包给 202.96.1.1:50000↓
NAT设备查找NAT表,发现对应关系 → 转发给 192.168.1.100:5000
三、NAT的主要应用场景
| 应用场景 | 描述 |
|---|---|
| IPv4地址节约 | 多个内网用户共享少量甚至一个公网IP访问互联网,缓解IPv4地址枯竭问题。 |
| 网络安全隔离 | 内部主机不直接暴露在公网中,隐藏真实IP地址,防止外部攻击。 |
| 网络整合与迁移 | 当两个使用相同私网地址的网络合并时,可通过NAT避免地址冲突。 |
| 负载均衡与服务器发布 | 使用NAT将公网IP映射到多个内网服务器,实现对外服务发布(如Web、FTP)。 |
四、NAT的分类
1、静态NAT(Static NAT)
- 定义:一对一永久映射,一个私有IP固定对应一个公网IP。
- 特点:双向可达,常用于服务器对外发布。
- 适用场景:企业将内部Web/FTP服务器映射到公网供外部访问。
示例:
# 内网:192.168.1.100 映射到公网:202.96.1.100
interface GigabitEthernet0/0/1ip address 202.96.1.1 255.255.255.0nat static enablenat static inside 192.168.1.100 outside 202.96.1.100
2、动态NAT(Dynamic NAT)
- 定义:从公网IP地址池中动态分配IP给内网主机使用,仍是一对一映射。
- 特点:需要足够的公网IP数量;支持多用户轮流上网。
- 局限性:成本高,不适合大规模部署。
示例:
# 当来自192.168.1.0/24 网段的内网主机,通过 GigabitEthernet0/0/1接口访问外部网络时,将其私有IP地址动态替换为202.96.1.10 ~ 202.96.1.20范围内的某个公网IP地址,从而实现上网功能。
nat address-group 1 202.96.1.10 202.96.1.20 # 定义公网IP池
acl number 2000rule permit source 192.168.1.0 0.0.0.255 # 允许哪些内网地址做NATinterface GigabitEthernet0/0/1nat outbound 2000 address-group 1
3、NAPT(Network Address Port Translation) / PAT(Port Address Translation)
-
定义:多对一映射,多个私有IP共享同一个公网IP,通过端口号区分不同连接。
-
特点:
- 最常用的NAT形式(也称为“宽带路由器模式”);
- 节省大量公网IP;
- 支持上千个内网用户共用一个公网IP。
-
原理说明:
# 所有流量都走同一个公网IP,但用不同源端口区分。 192.168.1.100:5000 → 202.96.1.1:10000 192.168.1.101:6000 → 202.96.1.1:10001 192.168.1.102:7000 → 202.96.1.1:10002
示例:
acl number 2000rule permit source 192.168.1.0 0.0.0.255interface GigabitEthernet0/0/1nat outbound 2000 # 默认使用接口IP作为转换后的地址(即NAPT)
✅ 这是最常见的家庭/企业出口NAT配置方式。
4、Easy IP(也称直连NAT)
- 定义:NAPT的一种特殊形式,直接使用出接口的公网IP作为转换地址,无需单独配置地址池。
- 特点:
- 适用于PPPoE拨号、DHCP获取动态公网IP等场景;
- 配置简单,自动适应变化的公网IP。
acl number 2000rule permit source 192.168.1.0 0.0.0.255interface Dialer1nat outbound 2000 # 自动使用Dialer接口获得的公网IP进行NAT
5、NAT Server(端口映射 / 端口转发)
- 定义:将公网IP的某个端口映射到内网服务器的特定IP和端口。
- 用途:让外网用户可以访问内网服务器(如Web、FTP、远程桌面)。
示例:将公网IP:202.96.1.1:80 映射到内网:192.168.1.100:80
# 外部用户访问 http://202.96.1.1 时,请求被转发到内网Web服务器。
interface GigabitEthernet0/0/1nat server protocol tcp global 202.96.1.1 80 inside 192.168.1.100 80
五、NAT的优缺点
| 优点 | 缺点 |
|---|---|
| ✅ 缓解IPv4地址短缺问题 | ❌ 破坏端到端通信模型,影响某些应用(如P2P、VoIP、FTP主动模式) |
| ✅ 提高安全性,隐藏内部结构 | ❌ 增加延迟,降低性能(需查表、改包头) |
| ✅ 支持灵活的网络扩展与整合 | ❌ 日志追踪困难(多个用户共用一个公网IP) |
| ✅ 实现内外网隔离 | ❌ 不支持所有协议(如ICMP、GRE需特殊处理) |
六、NAT与ACL的关系
1、ACL 控制谁可以做 NAT
# 只有匹配ACL 2000的流量才允许进行NAT
nat outbound 2000
2、ACL 可以限制 NAT Server 的访问来源
# 只允许ACL 3001允许的IP访问该服务器
nat server ... acl 3001
七、实验
1、静态NAT
(1)、拓扑图

(2)、需求
1、使用静态NAT,让PC1可以访问Server1。
(3)、AR1配置过程
<Huawei>system-view
# 进入系统视图模式(System View),开始进行设备的全局配置
# 在此模式下可以配置路由、接口、ACL、NAT等所有功能Enter system view, return user view with Ctrl+Z.
# 提示信息:按 Ctrl+Z 可退出回到用户视图[Huawei]sysname AR1
# 将设备主机名从默认的 "Huawei" 修改为 AR1
# 便于在网络中识别该设备,常用于多设备拓扑环境中[AR1]interface GigabitEthernet 0/0/1
# 进入千兆以太网接口 GigabitEthernet 0/0/1 的配置模式
# 通常用于连接内网(LAN),例如连接一个交换机或PC所在的局域网[AR1-GigabitEthernet0/0/1]ip address 192.168.1.254 24
# 配置该接口的 IP 地址为 192.168.1.254,子网掩码为 /24(即 255.255.255.0)
# 作为 192.168.1.0/24 网段的默认网关,供内部主机使用[AR1-GigabitEthernet0/0/1]quit
# 退出当前接口配置模式[AR1]interface GigabitEthernet 0/0/0
# 进入另一个接口 GigabitEthernet 0/0/0
# 通常用于连接外部网络(WAN),如连接到 ISP 或另一台路由器(AR2)[AR1-GigabitEthernet0/0/0]ip address 12.1.1.1 24
# 配置该接口 IP 地址为 12.1.1.1/24
# 此地址用于与对端设备通信(例如 AR2 的 12.1.1.2)[AR1-GigabitEthernet0/0/0]quit
# 退出接口配置模式[AR1]ip route-static 0.0.0.0 0.0.0.0 12.1.1.2
# 配置一条静态默认路由:
# 目标网络:0.0.0.0/0(表示所有未知目的地)
# 下一跳地址:12.1.1.2(通常是 AR2 的接口地址)
# 意义:当 AR1 收到目的地址不在本地直连网段的数据包时,全部转发给 12.1.1.2
# 常用于将私网流量导向互联网出口或核心路由器[AR1]interface GigabitEthernet 0/0/0
# 再次进入 WAN 接口 G0/0/0,准备在其上应用 NAT 静态映射[AR1-GigabitEthernet0/0/0]nat static global 12.1.1.100 inside 192.168.1.1 netmask 255.255.255.255
# 配置静态 NAT 映射:
# 内部本地地址(inside):192.168.1.1(内网服务器或主机)
# 全局公网地址(global):12.1.1.100(对外暴露的“公网IP”)
# 子网掩码指定为 255.255.255.255,表示精确匹配单个主机
# 功能说明:
# - 外部网络可以通过访问 12.1.1.100 来访问内网的 192.168.1.1
# - 同时允许 192.168.1.1 主动发起对外通信,并被映射为 12.1.1.100 出去(双向静态NAT)
# 应用场景:常用于发布内网 Web 服务器、FTP 服务器等服务到外网
(4)、AR2配置过程
<Huawei>system-view
# 进入系统视图(System View)模式,开始进行设备的全局配置
# 在此模式下可以配置接口、路由、ACL、NAT 等所有功能Enter system view, return user view with Ctrl+Z.
# 提示信息:按 Ctrl+Z 可退出当前视图,返回用户视图[Huawei]sysname AR2
# 将设备主机名从默认的 "Huawei" 修改为 AR2
# 便于在网络环境中识别该设备,常用于多路由器拓扑中区分角色[AR2]interface GigabitEthernet 0/0/0
# 进入千兆以太网接口 GigabitEthernet 0/0/0 的配置模式
# 此接口通常作为广域网(WAN)接口,用于连接另一台路由器(如 AR1)[AR2-GigabitEthernet0/0/0]ip address 12.1.1.2 24
# 配置该接口的 IPv4 地址为 12.1.1.2,子网掩码为 /24(即 255.255.255.0)
# 与对端设备(例如 AR1 的 G0/0/0 接口 12.1.1.1)处于同一网段,实现直连通信[AR2-GigabitEthernet0/0/0]quit
# 退出当前接口配置模式,返回系统视图[AR2]interface GigabitEthernet 0/0/1
# 进入另一个千兆以太网接口 GigabitEthernet 0/0/1
# 通常作为局域网(LAN)接口,连接本地内网设备(如 PC、服务器等)[AR2-GigabitEthernet0/0/1]ip address 2.2.2.254 24
# 配置该接口 IP 地址为 2.2.2.254,子网掩码为 /24(255.255.255.0)
# 作为 2.2.2.0/24 网段的网关地址,供该网段内的主机设置默认网关使用[AR2-GigabitEthernet0/0/1]quit
# 退出接口配置模式,完成配置
2、动态NAT
(1)、拓扑图

(2)、需求
1、使用动态NAT,让PC1和PC2可以访问Server1。
(3)、AR1配置过程
<Huawei>system-view
# 进入系统视图模式(System View)
# 只有在此模式下才能进行全局性配置,如接口、路由、ACL、NAT 等Enter system view, return user view with Ctrl+Z.
# 提示信息:按 Ctrl+Z 可退出当前配置模式,返回用户视图[Huawei]sysname AR1
# 将设备主机名从默认的 "Huawei" 修改为 AR1
# 便于在网络拓扑中识别该设备,常用于多路由器环境[AR1]interface GigabitEthernet 0/0/1
# 进入千兆以太网接口 GigabitEthernet 0/0/1 的配置模式
# 此接口通常连接内网(LAN),例如交换机或 PC 所在的局域网[AR1-GigabitEthernet0/0/1]ip address 192.168.1.254 24
# 配置该接口 IP 地址为 192.168.1.254,子网掩码 /24(即 255.255.255.0)
# 作为 192.168.1.0/24 网段的默认网关,供内网主机使用[AR1-GigabitEthernet0/0/1]quit
# 退出接口配置模式,返回系统视图[AR1]interface GigabitEthernet 0/0/0
# 进入另一个接口 GigabitEthernet 0/0/0
# 通常作为广域网(WAN)接口,连接对端路由器(如 AR2)[AR1-GigabitEthernet0/0/0]ip address 12.1.1.1 24
# 配置该接口 IP 地址为 12.1.1.1/24
# 用于与对端设备 AR2(IP: 12.1.1.2)建立直连通信[AR1-GigabitEthernet0/0/0]quit
# 退出接口配置模式[AR1]ip route-static 0.0.0.0 0.0.0.0 12.1.1.2
# 配置一条静态默认路由:
# 目标网络:0.0.0.0/0(匹配所有未知目的地)
# 下一跳地址:12.1.1.2(AR2 的接口地址)
# 功能:当 AR1 收到一个目的地址不在本地直连网段的数据包时,
# 统一转发给 12.1.1.2,实现访问外部网络的能力[AR1]nat address-group 1 12.1.1.100 12.1.1.200
# 创建一个 NAT 地址组(编号为 1),包含公网 IP 范围:
# 起始地址:12.1.1.100
# 结束地址:12.1.1.200
# 用途:这些公网 IP 将用于内网主机上网时做源地址转换(NAT Pool)
# 注意:此地址池必须位于运营商分配的合法公网 IP 段内[AR1]acl number 2000
# 创建一个基本 ACL(访问控制列表),编号为 2000
# 基本 ACL 只能基于源 IP 地址进行过滤,适用于简单的流量匹配[AR1-acl-basic-2000]rule 5 permit source any
# 配置 ACL 规则:
# rule 5:优先级为 5 的规则
# permit:允许通过
# source any:匹配任意源 IP 地址(即允许所有内网主机)
# 作用:定义哪些内网主机可以使用 NAT 上网
# 注:在华为设备中,"permit" 表示“允许参与 NAT 转换”[AR1-acl-basic-2000]quit
# 退出 ACL 配置模式[AR1]interface GigabitEthernet 0/0/0
# 再次进入 WAN 接口 G0/0/0,准备在其上启用 NAT 功能[AR1-GigabitEthernet0/0/0]nat outbound 2000 address-group 1
# 在该接口的出方向(outbound)启用 NAT:
# - 使用 ACL 2000 匹配需要进行 NAT 的流量(这里是所有内网主机)
# - 使用地址组 1 中的公网 IP(12.1.1.100~12.1.1.200)作为转换后的源地址
# 工作机制:
# 当来自 192.168.1.0/24 的主机访问外网时,
# 其私网 IP 被替换为地址池中的某个公网 IP(可动态轮询或复用)
# 实现多个私网主机共享少量公网 IP 访问互联网(也称为 NAPT 或 PAT)[AR1-GigabitEthernet0/0/0]quit
# 完成配置并退出接口模式
(4)、AR2配置过程
<Huawei>system-view
# 进入系统视图(System View)模式,开始进行设备的全局配置
# 在此模式下可以配置接口、路由、ACL、NAT 等所有功能Enter system view, return user view with Ctrl+Z.
# 提示信息:按 Ctrl+Z 可退出当前视图,返回用户视图[Huawei]sysname AR2
# 将设备主机名从默认的 "Huawei" 修改为 AR2
# 便于在网络环境中识别该设备,常用于多路由器拓扑中区分角色[AR2]interface GigabitEthernet 0/0/0
# 进入千兆以太网接口 GigabitEthernet 0/0/0 的配置模式
# 此接口通常作为广域网(WAN)接口,用于连接另一台路由器(如 AR1)[AR2-GigabitEthernet0/0/0]ip address 12.1.1.2 24
# 配置该接口的 IPv4 地址为 12.1.1.2,子网掩码为 /24(即 255.255.255.0)
# 与对端设备(例如 AR1 的 G0/0/0 接口 12.1.1.1)处于同一网段,实现直连通信[AR2-GigabitEthernet0/0/0]quit
# 退出当前接口配置模式,返回系统视图[AR2]interface GigabitEthernet 0/0/1
# 进入另一个千兆以太网接口 GigabitEthernet 0/0/1
# 通常作为局域网(LAN)接口,连接本地内网设备(如 PC、服务器等)[AR2-GigabitEthernet0/0/1]ip address 2.2.2.254 24
# 配置该接口 IP 地址为 2.2.2.254,子网掩码为 /24(255.255.255.0)
# 作为 2.2.2.0/24 网段的网关地址,供该网段内的主机设置默认网关使用[AR2-GigabitEthernet0/0/1]quit
# 退出接口配置模式,完成配置
3、NAPT
(1)、拓扑图

(2)、需求
1、使用NAPT,让PC1和PC2可以访问Server1。
2、将内网192.168.1.2的TCP/80端口,静态转换为12.1.1.100的80端口。
(3)、AR1配置过程
<Huawei>system-view
# 进入系统视图模式(System View)
# 只有在此模式下才能进行全局配置,如接口、路由、ACL、NAT 等Enter system view, return user view with Ctrl+Z.
# 提示信息:按 Ctrl+Z 可退出当前配置模式,返回用户视图[Huawei]sysname AR1
# 将设备主机名从默认的 "Huawei" 修改为 AR1
# 便于在网络中识别该设备,常用于多路由器拓扑结构中[AR1]interface GigabitEthernet 0/0/1
# 进入千兆以太网接口 GigabitEthernet 0/0/1 的配置模式
# 此接口通常连接局域网(LAN),例如交换机或 PC 所在的内网[AR1-GigabitEthernet0/0/1]ip address 192.168.1.254 24
# 配置该接口 IP 地址为 192.168.1.254,子网掩码 /24(即 255.255.255.0)
# 作为 192.168.1.0/24 网段的默认网关,供内网主机设置网关使用[AR1-GigabitEthernet0/0/1]quit
# 退出当前接口配置模式,返回系统视图[AR1]interface GigabitEthernet 0/0/0
# 进入另一个千兆以太网接口 GigabitEthernet 0/0/0
# 通常作为广域网(WAN)接口,连接对端设备(如 AR2 或 ISP 路由器)[AR1-GigabitEthernet0/0/0]ip address 12.1.1.1 24
# 配置该接口 IP 地址为 12.1.1.1/24
# 与对端设备(如 AR2 的 12.1.1.2)处于同一网段,实现直连通信[AR1-GigabitEthernet0/0/0]quit
# 退出接口配置模式[AR1]ip route-static 0.0.0.0 0.0.0.0 12.1.1.2
# 配置一条静态默认路由:
# 目标网络:0.0.0.0/0(匹配所有目的地址)
# 下一跳地址:12.1.1.2(通常是 AR2 或上游路由器)
# 功能:将所有非本地直连网段的数据包转发给下一跳,实现访问外网能力[AR1]acl number 2000
# 创建一个基本 ACL(访问控制列表),编号为 2000
# 基本 ACL 类型(2000–2999)仅支持基于源 IP 地址进行匹配[AR1-acl-basic-2000]rule 5 permit
# 配置 ACL 规则:
# rule 5:优先级为 5 的规则(数字越小越优先)
# permit:允许通过
# (隐含 source any)表示允许任意源 IP 地址的流量通过此 ACL
# 作用:定义哪些内网主机可以参与 NAT 转换(此处是全部允许)[AR1-acl-basic-2000]quit
# 退出 ACL 配置模式[AR1]interface GigabitEthernet 0/0/0
# 再次进入 WAN 接口 G0/0/0,准备启用 NAT 功能[AR1-GigabitEthernet0/0/0]nat outbound 2000
# 在该接口出方向启用 NAT(源地址转换):
# - 使用 ACL 2000 匹配需要做 NAT 的内网流量
# - 因未指定 address-group,默认使用接口自身的 IP 地址(12.1.1.1)作为转换后的公网地址
# 这种方式称为 **Easy IP**,适用于只有一个公网 IP 的场景
# 实现多个私网主机共享一个公网 IP 上网(类似 PAT/NAPT)[AR1-GigabitEthernet0/0/0]nat static protocol tcp global 12.1.1.100 80 inside 192.168.1.2 80
# 配置静态 NAT 映射(端口级):
# - 协议:TCP
# - 外部公网地址和端口:12.1.1.100:80(对外暴露的服务地址)
# - 内部私网地址和端口:192.168.1.2:80(内网 Web 服务器)
# 功能说明:
# - 外部用户访问 12.1.1.100:80 时,请求被自动转发到内网 192.168.1.2:80
# - 同时允许 192.168.1.2 主动发起对外通信,并被映射为 12.1.1.100 出去(双向)
# 应用场景:发布内网 HTTP 服务器到互联网[AR1-GigabitEthernet0/0/0]quit
# 完成所有配置并退出接口模式
(4)、AR2配置过程
<Huawei>system-view
# 进入系统视图(System View)模式,开始进行设备的全局配置
# 在此模式下可以配置接口、路由、ACL、NAT 等所有功能Enter system view, return user view with Ctrl+Z.
# 提示信息:按 Ctrl+Z 可退出当前视图,返回用户视图[Huawei]sysname AR2
# 将设备主机名从默认的 "Huawei" 修改为 AR2
# 便于在网络环境中识别该设备,常用于多路由器拓扑中区分角色[AR2]interface GigabitEthernet 0/0/0
# 进入千兆以太网接口 GigabitEthernet 0/0/0 的配置模式
# 此接口通常作为广域网(WAN)接口,用于连接另一台路由器(如 AR1)[AR2-GigabitEthernet0/0/0]ip address 12.1.1.2 24
# 配置该接口的 IPv4 地址为 12.1.1.2,子网掩码为 /24(即 255.255.255.0)
# 与对端设备(例如 AR1 的 G0/0/0 接口 12.1.1.1)处于同一网段,实现直连通信[AR2-GigabitEthernet0/0/0]quit
# 退出当前接口配置模式,返回系统视图[AR2]interface GigabitEthernet 0/0/1
# 进入另一个千兆以太网接口 GigabitEthernet 0/0/1
# 通常作为局域网(LAN)接口,连接本地内网设备(如 PC、服务器等)[AR2-GigabitEthernet0/0/1]ip address 2.2.2.254 24
# 配置该接口 IP 地址为 2.2.2.254,子网掩码为 /24(255.255.255.0)
# 作为 2.2.2.0/24 网段的网关地址,供该网段内的主机设置默认网关使用[AR2-GigabitEthernet0/0/1]quit
# 退出接口配置模式,完成配置
