作者:非凡大爹|版本:v1|日期:2026-06-21|DocID:CN-LAB-2026-06-NAT-HW-V1
原创声明:本文为作者原创实验教学资料,首发于 CSDN。
版权声明:本文版权归作者所有,网络发布版仅供个人学习、课堂教学参考和非商业交流使用。未经作者书面许可,任何单位或个人不得以复制、汇编、改编、摘编、整理、录入数据库、制作课程包、出版图书、开发付费课程、商业培训或其他商业形式使用本文全部或部分内容。
引用说明:如需引用本文中的观点、实验设计、拓扑结构、命令说明或图表内容,请注明作者、文章标题及原文链接。
版本说明:本文为网络公开学习版,后续如形成教材、讲义、课程资源包或正式出版物,以作者修订版及出版社审定版本为准。
文章目录
-
- [1 实验名称](#1 实验名称)
- [2 实验目的](#2 实验目的)
- [3 实验内容](#3 实验内容)
- [4 实验场景](#4 实验场景)
- [5 实验设备与软件](#5 实验设备与软件)
-
- [5.1 eNSP 仿真实验说明](#5.1 eNSP 仿真实验说明)
- [6 实验拓扑与地址规划](#6 实验拓扑与地址规划)
-
- [6.1 实验拓扑](#6.1 实验拓扑)
- [6.2 设备接口连接](#6.2 设备接口连接)
- [6.3 地址规划](#6.3 地址规划)
-
- [6.3.1 校园内网地址规划](#6.3.1 校园内网地址规划)
- [6.3.2 R1-NAT 与 R2-ISP 公网互联链路](#6.3.2 R1-NAT 与 R2-ISP 公网互联链路)
- [6.3.3 运营商分配给学校的公网地址块](#6.3.3 运营商分配给学校的公网地址块)
- [6.3.4 外部网络地址规划](#6.3.4 外部网络地址规划)
- [7 实验验证原则](#7 实验验证原则)
-
- [7.1 验证不能只依赖 Ping](#7.1 验证不能只依赖 Ping)
- [7.2 外部 Web 测试服务器](#7.2 外部 Web 测试服务器)
- [8 实验前准备](#8 实验前准备)
-
- [8.1 清空原有配置](#8.1 清空原有配置)
- [8.2 查看接口名称与状态](#8.2 查看接口名称与状态)
- [8.3 配置各主机 IP 地址](#8.3 配置各主机 IP 地址)
- [9 任务 0:配置基础网络并观察 NAT 前现象](#9 任务 0:配置基础网络并观察 NAT 前现象)
-
- [9.1 配置 R1-NAT](#9.1 配置 R1-NAT)
- [9.2 配置 R2-ISP](#9.2 配置 R2-ISP)
- [9.3 配置运营商侧公网地址块路由](#9.3 配置运营商侧公网地址块路由)
- [9.4 基础连通性验证](#9.4 基础连通性验证)
- [9.5 NAT 配置前测试](#9.5 NAT 配置前测试)
- [10 任务 1:静态 NAT 实现内网主机一对一访问外网](#10 任务 1:静态 NAT 实现内网主机一对一访问外网)
-
- [10.1 任务目标](#10.1 任务目标)
- [10.2 配置静态 NAT](#10.2 配置静态 NAT)
- [10.3 查看静态 NAT 配置](#10.3 查看静态 NAT 配置)
- [10.4 业务验证](#10.4 业务验证)
- [10.5 查看 NAT 会话](#10.5 查看 NAT 会话)
- [10.6 查看外部 IIS 日志](#10.6 查看外部 IIS 日志)
- [10.7 任务分析](#10.7 任务分析)
- [10.8 清理任务一配置](#10.8 清理任务一配置)
- [11 任务 2:动态 NAT 与地址池 NAPT 对比](#11 任务 2:动态 NAT 与地址池 NAPT 对比)
-
- [11.1 创建 ACL](#11.1 创建 ACL)
- [11.2 创建动态 NAT 地址池](#11.2 创建动态 NAT 地址池)
- [11.3 任务 2.1:配置动态 NAT](#11.3 任务 2.1:配置动态 NAT)
- [11.4 动态 NAT 业务验证](#11.4 动态 NAT 业务验证)
- [11.5 动态 NAT 外部日志验证](#11.5 动态 NAT 外部日志验证)
- [11.6 清理动态 NAT 配置](#11.6 清理动态 NAT 配置)
- [11.7 任务 2.2:配置地址池 NAPT](#11.7 任务 2.2:配置地址池 NAPT)
- [11.8 地址池 NAPT 业务验证](#11.8 地址池 NAPT 业务验证)
- [11.9 地址池 NAPT 外部日志验证](#11.9 地址池 NAPT 外部日志验证)
- [11.10 任务分析](#11.10 任务分析)
- [12 任务 3:Easy IP 实现单出口地址共享上网(高阶选做)](#12 任务 3:Easy IP 实现单出口地址共享上网(高阶选做))
-
- [12.1 清理地址池 NAPT](#12.1 清理地址池 NAPT)
- [12.2 配置 Easy IP](#12.2 配置 Easy IP)
- [12.3 Easy IP 业务验证](#12.3 Easy IP 业务验证)
- [12.4 任务分析](#12.4 任务分析)
- [13 拓展任务:NAT Server 发布内网 Web 服务器(高阶选做)](#13 拓展任务:NAT Server 发布内网 Web 服务器(高阶选做))
-
- [13.1 清理 Easy IP](#13.1 清理 Easy IP)
- [13.2 部署内网 Web 服务](#13.2 部署内网 Web 服务)
- [13.3 配置 NAT Server](#13.3 配置 NAT Server)
- [13.4 外部访问验证](#13.4 外部访问验证)
- [13.5 查看静态 NAT 和会话表](#13.5 查看静态 NAT 和会话表)
- [13.6 任务分析](#13.6 任务分析)
- [14 综合验证与结果记录](#14 综合验证与结果记录)
-
- [14.1 R1-NAT 检查命令](#14.1 R1-NAT 检查命令)
- [14.2 R2-ISP 检查命令](#14.2 R2-ISP 检查命令)
- [14.3 实验结果记录表](#14.3 实验结果记录表)
- [15 常见错误与排查方法](#15 常见错误与排查方法)
-
- [15.1 内网主机无法访问外部 Web 服务](#15.1 内网主机无法访问外部 Web 服务)
- [15.2 动态 NAT 中三台主机没有使用不同公网地址](#15.2 动态 NAT 中三台主机没有使用不同公网地址)
- [15.3 地址池 NAPT 中无法观察到端口复用](#15.3 地址池 NAPT 中无法观察到端口复用)
- [15.4 Easy IP 仍显示地址池公网地址](#15.4 Easy IP 仍显示地址池公网地址)
- [15.5 外部主机无法访问内网 Web 服务器](#15.5 外部主机无法访问内网 Web 服务器)
- [16 保存配置](#16 保存配置)
- [17 实验思考题](#17 实验思考题)
- [18 命令汇总表](#18 命令汇总表)
- [19 实验小结](#19 实验小结)
1 实验名称
静态 NAT、动态 NAT、NAPT 与 Easy IP 配置与验证实验
2 实验目的
- 理解 NAT(Network Address Translation,网络地址转换)产生的背景及其在校园网、企业出口网络中的作用。
- 掌握静态 NAT 的配置方法,理解固定一对一地址映射。
- 掌握地址池方式动态 NAT 的配置方法,理解公网地址池的动态分配与地址资源限制。
- 掌握地址池方式 NAPT(Network Address and Port Translation,网络地址端口转换)的配置方法,理解端口复用提高公网地址利用率的原理。
- 掌握 Easy IP 的配置方法,理解使用出口接口地址实现共享上网的场景。
- 了解NAT 在内网服务器对外发布中的应用。
- 能够使用命令验证 NAT 配置。
- 建立"基础连通---配置检查---业务验证---会话验证---外部日志验证"的 NAT 故障排查思路。
3 实验内容
本实验按"固定映射---动态分配---端口复用---接口地址复用---服务器发布"的顺序完成。
| 任务 | NAT 技术 | 核心映射关系 | 学习重点 |
|---|---|---|---|
| 任务 0 | 基础网络与验证环境 | 暂不配置 NAT | 理解 NAT 前访问外网失败的原因 |
| 任务 1 | 静态 NAT | 一对一固定映射 | 一个内网地址固定对应一个公网地址 |
| 任务 2.1 | 动态 NAT | 多对多,不复用端口 | 公网地址池动态分配与地址耗尽 |
| 任务 2.2 | 地址池 NAPT | 多对一或多对少,复用端口 | 地址和端口共同转换 |
| 任务 3 | Easy IP | 多对一,使用出口接口地址 | 无独立地址池时的共享上网 |
| 拓展任务 | 静态 NAT 发布服务器 | 公网地址固定映射内网服务器 | 外部用户访问内网 Web 服务 |
注意:
静态 NAT 的每一条映射都是一对一。即使配置多条静态 NAT,也不能称为"多对一静态 NAT"。
多对一通常属于 NAPT/PAT(Port Address Translation,端口地址转换)场景;多对多通常用于描述地址池方式动态 NAT。
4 实验场景
某大学校园网通过运营商接入 Internet。运营商为学校提供一条公网互联链路,并向学校分配一个完整的公网地址块。
学校内网使用私有地址 192.168.10.0/24,其中:
- PC1、PC2 模拟校园网办公或实验室用户;
- Server 在任务 2 中作为第三台内网测试主机,在拓展任务中作为内网 Web 服务器;
- R1-NAT 模拟学校出口路由器;
- R2-ISP 模拟运营商或上级网络路由器;
- Internet-Test-PC 模拟外部网络主机,并提供外部 Web 服务。
实验要求学生在同一套物理连接上,逐步切换 NAT 配置并观察报文源地址、端口和访问方向的变化。
5 实验设备与软件
| 设备或软件 | 数量 | 作用 |
|---|---|---|
| 华为 AR6140E-S 或 AR720 路由器 | 2 台 | R1-NAT、R2-ISP |
| 华为 S5735S-L24T4X-QA2、S310-24T4S 或同类二层交换机 | 1 台 | S1,连接校园内网主机 |
| Windows Server 2022/2025 主机 | 4 台 | PC1、PC2、Server、Internet-Test-PC |
| PuTTY | 1 套 | Console 串口登录网络设备 |
| Console 线、网线 | 若干 | 设备连接与配置 |
| 浏览器 | 若干 | HTTP 业务验证 |
| Wireshark | 可选 | 辅助观察 TCP 会话和端口变化 |
5.1 eNSP 仿真实验说明
本实验可以在 eNSP 中完成路由、静态 NAT、动态 NAT、地址池 NAPT 和 Easy IP 的配置练习。
但若需要完成完整业务验证,建议通过 Cloud 接入 Windows 虚拟机或真实主机,以提供:
- 外部 Web 服务;
- 内网 Web 服务;
- 浏览器访问;
- IIS(Internet Information Services,Internet 信息服务)日志查看。
若仅使用 eNSP 内置 PC,通常只能完成接口、路由、ACL(Access Control List,访问控制列表)、NAT 配置和部分会话表验证,不能替代完整 HTTP(HyperText Transfer Protocol,超文本传输协议)业务验证。
6 实验拓扑与地址规划
6.1 实验拓扑

14-1 NAT 综合物理连接与地址规划图
本实验所有任务使用同一套物理连接,不需要在任务之间重新连接网线。
预期观察表
| 技术 | 内网源地址 | 对外源地址 | 端口变化 |
|---|---|---|---|
| 静态 NAT | 192.168.10.10 |
203.0.113.9 |
通常保持原端口 |
| 动态 NAT | 192.168.10.x |
.11~.13 中某一地址 |
不转换端口 |
| 地址池 NAPT | 多台 192.168.10.x |
均为 203.0.113.11 |
转换后端口不同 |
| Easy IP | 多台 192.168.10.x |
均为 203.0.113.2 |
转换后端口不同 |
6.2 设备接口连接
| 连接关系 | 建议接口 | 说明 |
|---|---|---|
| PC1 ------ S1 | S1 任意空闲接入口 | 内网用户 1 |
| PC2 ------ S1 | S1 任意空闲接入口 | 内网用户 2 |
| Server ------ S1 | S1 任意空闲接入口 | 内网测试主机 / 内网 Web 服务器 |
| S1 ------ R1-NAT | R1 GE0/0/0 |
R1 内网接口 |
| R1-NAT ------ R2-ISP | R1 GE0/0/1 ------ R2 GE0/0/0 |
公网互联链路 |
| R2-ISP ------ Internet-Test-PC | R2 GE0/0/1 |
外部网络链路 |
6.3 地址规划
6.3.1 校园内网地址规划
| 设备 | 接口 | IP 地址/掩码 | 默认网关 | 说明 |
|---|---|---|---|---|
| PC1 | NIC | 192.168.10.10/24 |
192.168.10.254 |
内网用户 1 |
| PC2 | NIC | 192.168.10.20/24 |
192.168.10.254 |
内网用户 2 |
| Server | NIC | 192.168.10.100/24 |
192.168.10.254 |
第三台测试主机 / 内网 Web 服务器 |
| R1-NAT | GE0/0/0 | 192.168.10.254/24 |
无 | 内网网关 |
6.3.2 R1-NAT 与 R2-ISP 公网互联链路
| 设备 | 接口 | IP 地址/掩码 | 说明 |
|---|---|---|---|
| R2-ISP | GE0/0/0 | 203.0.113.1/30 |
运营商侧互联地址 |
| R1-NAT | GE0/0/1 | 203.0.113.2/30 |
学校出口互联地址 |
6.3.3 运营商分配给学校的公网地址块
运营商分配给学校的公网地址块为:
text
203.0.113.8/29
| 地址 | 用途 |
|---|---|
203.0.113.8 |
网络地址,不可分配 |
203.0.113.9 |
PC1 的静态 NAT 地址 |
203.0.113.10 |
PC2 的静态 NAT 地址 |
203.0.113.11~203.0.113.13 |
动态 NAT 地址池 |
203.0.113.11 |
地址池 NAPT 单地址池,用于观察端口复用 |
203.0.113.14 |
拓展任务中 Server 的静态 NAT 地址 |
203.0.113.15 |
广播地址,不可分配 |
注意:
203.0.113.8/29是完整公网地址块。公网地址池必须来自运营商或上级网络分配的地址块,而不是任意挑选几个连续地址。实验中的
203.0.113.0/24与198.51.100.0/24为文档示例地址范围,仅用于教学实验。
6.3.4 外部网络地址规划
| 设备 | 接口 | IP 地址/掩码 | 默认网关 | 说明 |
|---|---|---|---|---|
| R2-ISP | GE0/0/1 | 198.51.100.1/24 |
无 | 外部网络网关 |
| Internet-Test-PC | NIC | 198.51.100.10/24 |
198.51.100.1 |
外部测试主机和外部 Web 服务器 |
7 实验验证原则
7.1 验证不能只依赖 Ping
ping 仅用于检查接口、网关和基础路由连通性,不能单独证明 NAT 配置成功。
每个任务至少应形成以下证据:
| 验证层次 | 主要问题 | 验证方式 |
|---|---|---|
| 基础连通性 | 接口、网关和路由是否正确 | display ip interface brief、display ip routing-table、ping |
| 配置存在性 | NAT、地址池、ACL 是否正确 | display nat static、display nat address-group、display nat outbound |
| 业务可用性 | HTTP 服务是否真正可访问 | 浏览器、Test-NetConnection |
| NAT 转换证据 | 地址或端口是否被转换 | display nat session all |
| 外部观察证据 | 外部服务器实际看到的源地址 | IIS 日志中的 c-ip 字段 |
7.2 外部 Web 测试服务器
Internet-Test-PC 需要提供外部 HTTP 服务,页面内容设置为:
text
External Web Server - 198.51.100.10
该页面用于验证 PC1、PC2、Server 经不同 NAT 技术访问外网后的业务结果。
在 Internet-Test-PC 上,以管理员身份打开 PowerShell,安装 IIS:
powershell
Install-WindowsFeature Web-Server -IncludeManagementTools
创建测试页面:
powershell
Set-Content -Path C:\inetpub\wwwroot\index.html -Value '<h1>External Web Server - 198.51.100.10</h1>'
如 Windows 防火墙阻止访问,执行:
powershell
New-NetFirewallRule -DisplayName "Allow HTTP 80" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow
在 Internet-Test-PC 本机浏览器中访问:
text
http://127.0.0.1
确认外部 Web 服务正常。
8 实验前准备
8.1 清空原有配置
实验开始前,应确认 R1-NAT、R2-ISP 中不存在上一组实验遗留的 NAT、ACL 和静态路由配置。
如需清空启动配置,可执行:
text
<Huawei> reset saved-configuration
Warning: The action will delete the saved configuration in the device.
The configuration will be erased to reconfigure. Continue? [Y/N]: y
<Huawei> reboot
设备重启时,如提示是否保存当前配置,选择:
text
Save the configuration? [Y/N]: n
8.2 查看接口名称与状态
在 R1-NAT 和 R2-ISP 上分别执行:
text
<Huawei> display interface brief
重点检查:
- 实际接口名称;
- 接口物理状态;
- 是否存在遗留 IP 地址;
- 接口是否可以直接配置三层 IP 地址。
如果接口不能配置 IP 地址,且设备提示当前为二层接口,可在接口视图执行:
text
[Huawei] interface GigabitEthernet0/0/0
[Huawei-GigabitEthernet0/0/0] undo portswitch
只有设备实际提示接口为二层接口时,才需要执行
undo portswitch。
8.3 配置各主机 IP 地址
按照第 6 节地址规划,配置 PC1、PC2、Server、Internet-Test-PC 的 IP 地址、子网掩码和默认网关。
配置完成后,在各 Windows 主机执行:
cmd
ipconfig
确认 IP 地址、掩码和默认网关正确。
9 任务 0:配置基础网络并观察 NAT 前现象
9.1 配置 R1-NAT
text
<Huawei> system-view
[Huawei] sysname R1-NAT
[R1-NAT] interface GigabitEthernet0/0/0
[R1-NAT-GigabitEthernet0/0/0] ip address 192.168.10.254 255.255.255.0
[R1-NAT-GigabitEthernet0/0/0] quit
[R1-NAT] interface GigabitEthernet0/0/1
[R1-NAT-GigabitEthernet0/0/1] ip address 203.0.113.2 255.255.255.252
[R1-NAT-GigabitEthernet0/0/1] quit
[R1-NAT] ip route-static 0.0.0.0 0.0.0.0 203.0.113.1
查看接口和路由表:
text
[R1-NAT] display ip interface brief
[R1-NAT] display ip routing-table
重点确认存在:
text
192.168.10.0/24 Direct
203.0.113.0/30 Direct
0.0.0.0/0 Static
9.2 配置 R2-ISP
text
<Huawei> system-view
[Huawei] sysname R2-ISP
[R2-ISP] interface GigabitEthernet0/0/0
[R2-ISP-GigabitEthernet0/0/0] ip address 203.0.113.1 255.255.255.252
[R2-ISP-GigabitEthernet0/0/0] quit
[R2-ISP] interface GigabitEthernet0/0/1
[R2-ISP-GigabitEthernet0/0/1] ip address 198.51.100.1 255.255.255.0
[R2-ISP-GigabitEthernet0/0/1] quit
9.3 配置运营商侧公网地址块路由
运营商必须知道,学校公网地址块 203.0.113.8/29 位于 R1-NAT 后方。
在 R2-ISP 上执行:
text
[R2-ISP] ip route-static 203.0.113.8 255.255.255.248 203.0.113.2
查看 R2-ISP 路由表:
text
[R2-ISP] display ip routing-table
重点确认:
text
203.0.113.8/29 Static
9.4 基础连通性验证
在 R1-NAT 上执行:
text
<R1-NAT> ping 203.0.113.1
在 R2-ISP 上执行:
text
<R2-ISP> ping 203.0.113.2
在 PC1、PC2、Server 上分别执行:
cmd
ping 192.168.10.254
在 Internet-Test-PC 上执行:
cmd
ping 198.51.100.1
9.5 NAT 配置前测试
此时尚未配置任何 NAT。
在 PC1、PC2、Server 上尝试访问:
text
http://198.51.100.10
预期结果:访问失败。
原因是:
text
内网主机报文的源地址为 192.168.10.x。
该私有地址不能在外部网络中直接路由。
R2-ISP 没有到 192.168.10.0/24 的回程路由。
因此,外部 Web 服务器无法将响应正确返回给内网主机。
该失败现象是后续学习 NAT 的起点,不能跳过。
10 任务 1:静态 NAT 实现内网主机一对一访问外网

图 14-2 静态 NAT 一对一固定映射拓扑图
10.1 任务目标
建立两条固定一对一映射:
text
PC1:192.168.10.10 ↔ 203.0.113.9
PC2:192.168.10.20 ↔ 203.0.113.10
使 PC1、PC2 访问外部 Web 服务器时,外部服务器分别看到固定公网源地址。
10.2 配置静态 NAT
进入 R1-NAT 的公网出口接口:
text
<R1-NAT> system-view
[R1-NAT] interface GigabitEthernet0/0/1
[R1-NAT-GigabitEthernet0/0/1] nat static global 203.0.113.9 inside 192.168.10.10
[R1-NAT-GigabitEthernet0/0/1] nat static global 203.0.113.10 inside 192.168.10.20
[R1-NAT-GigabitEthernet0/0/1] quit
如果设备命令提示要求显式指定掩码,可改用:
text
[R1-NAT-GigabitEthernet0/0/1] nat static global 203.0.113.9 inside 192.168.10.10 netmask 255.255.255.255
[R1-NAT-GigabitEthernet0/0/1] nat static global 203.0.113.10 inside 192.168.10.20 netmask 255.255.255.255
10.3 查看静态 NAT 配置
text
<R1-NAT> display nat static
继续查看接口当前配置:
text
<R1-NAT> system-view
[R1-NAT] interface GigabitEthernet0/0/1
[R1-NAT-GigabitEthernet0/0/1] display this
10.4 业务验证
在 PC1 浏览器中访问:
text
http://198.51.100.10
在 PC2 浏览器中访问:
text
http://198.51.100.10
两台主机均应打开:
text
External Web Server - 198.51.100.10
也可以执行 TCP 端口测试:
powershell
Test-NetConnection 198.51.100.10 -Port 80
10.5 查看 NAT 会话
在 PC1、PC2 保持浏览器页面打开或连续刷新后,立即在 R1-NAT 上执行:
text
<R1-NAT> display nat session all
如设备支持详细显示,可执行:
text
<R1-NAT> display nat session all verbose
重点观察:
text
PC1 内网地址:192.168.10.10
PC1 公网地址:203.0.113.9
PC2 内网地址:192.168.10.20
PC2 公网地址:203.0.113.10
10.6 查看外部 IIS 日志
在 Internet-Test-PC 上打开 IIS 日志目录:
text
C:\inetpub\logs\LogFiles\
查看当前日志文件中的 c-ip 字段。
预期结果:
text
PC1 对应访问源地址:203.0.113.9
PC2 对应访问源地址:203.0.113.10
10.7 任务分析
本任务说明:
text
静态 NAT 是固定的一对一地址映射。
PC1 无论何时访问外部网络,
对外均表现为 203.0.113.9。
PC2 无论何时访问外部网络,
对外均表现为 203.0.113.10。
10.8 清理任务一配置
任务二开始前,必须删除静态 NAT 并清空旧 NAT 会话。
text
<R1-NAT> system-view
[R1-NAT] interface GigabitEthernet0/0/1
[R1-NAT-GigabitEthernet0/0/1] undo nat static global 203.0.113.9 inside 192.168.10.10
[R1-NAT-GigabitEthernet0/0/1] undo nat static global 203.0.113.10 inside 192.168.10.20
[R1-NAT-GigabitEthernet0/0/1] quit
[R1-NAT] reset nat session all
检查:
text
<R1-NAT> display nat static
<R1-NAT> display nat session all
确认旧静态映射和旧会话已被清除。
11 任务 2:动态 NAT 与地址池 NAPT 对比
本任务由两个连续子任务组成。
- 任务 2.1:动态 NAT,只转换地址,不复用端口;
- 任务 2.2:地址池 NAPT,同时转换地址和端口。
Server 在本任务中作为第三台内网测试主机,地址仍为:
text
192.168.10.100
11.1 创建 ACL
ACL 在本任务中不用于阻止访问,而是用于匹配哪些内网地址需要进行 NAT 转换。
text
<R1-NAT> system-view
[R1-NAT] acl number 2000
[R1-NAT-acl-basic-2000] rule 5 permit source 192.168.10.10 0
[R1-NAT-acl-basic-2000] rule 10 permit source 192.168.10.20 0
[R1-NAT-acl-basic-2000] rule 15 permit source 192.168.10.100 0
[R1-NAT-acl-basic-2000] quit
查看 ACL:
text
<R1-NAT> display acl 2000
11.2 创建动态 NAT 地址池
创建 1 号公网地址池:
text
<R1-NAT> system-view
[R1-NAT] nat address-group 1 203.0.113.11 203.0.113.13
查看地址池:
text
<R1-NAT> display nat address-group 1
地址池包含三个公网地址:
text
203.0.113.11
203.0.113.12
203.0.113.13

图 14-3 动态 NAT 地址池分配图
11.3 任务 2.1:配置动态 NAT
在 R1-NAT 公网出口接口下配置动态 NAT:
text
<R1-NAT> system-view
[R1-NAT] interface GigabitEthernet0/0/1
[R1-NAT-GigabitEthernet0/0/1] nat outbound 2000 address-group 1 no-pat
[R1-NAT-GigabitEthernet0/0/1] quit
其中:
text
no-pat
表示只转换 IP 地址,不转换端口号。
11.4 动态 NAT 业务验证
在 PC1、PC2、Server 上分别打开浏览器,访问:
text
http://198.51.100.10
三台主机均应能打开外部 Web 页面。
为便于保持 NAT 映射,可在三台主机上分别执行:
cmd
ping -t 198.51.100.10
此处连续 Ping 仅用于保持测试流量和观察地址池分配,不作为 NAT 成功的主要业务证据。
在 R1-NAT 上查看 NAT 会话:
text
<R1-NAT> display nat session all
预期现象:
text
PC1、PC2、Server 分别占用地址池中的不同公网地址。
实际分配顺序可能不同,但每个活动内网主机在动态 NAT 状态下通常独占一个公网地址。
11.5 动态 NAT 外部日志验证
在 Internet-Test-PC 的 IIS 日志中查看 c-ip 字段。
预期看到:
text
203.0.113.11
203.0.113.12
203.0.113.13
任务结论:
text
动态 NAT 使用地址池动态分配公网地址。
每个活动内网主机需要占用一个独立公网地址。
地址池中的公网地址数量有限,
当地址池耗尽时,新的内网主机无法继续建立动态 NAT 映射。
11.6 清理动态 NAT 配置
text
<R1-NAT> system-view
[R1-NAT] interface GigabitEthernet0/0/1
[R1-NAT-GigabitEthernet0/0/1] undo nat outbound 2000 address-group 1 no-pat
[R1-NAT-GigabitEthernet0/0/1] quit
[R1-NAT] reset nat session all
11.7 任务 2.2:配置地址池 NAPT
为突出端口复用,创建一个只包含单个公网地址的 2 号地址池:
text
<R1-NAT> system-view
[R1-NAT] nat address-group 2 203.0.113.11 203.0.113.11
查看地址池:
text
<R1-NAT> display nat address-group 2
在公网出口接口下配置地址池 NAPT:
text
[R1-NAT] interface GigabitEthernet0/0/1
[R1-NAT-GigabitEthernet0/0/1] nat outbound 2000 address-group 2
[R1-NAT-GigabitEthernet0/0/1] quit
本命令没有
no-pat参数,因此不仅转换 IP 地址,还会转换端口号。这就是地址池方式 NAPT。

图14-4 地址池 NAPT 端口复用
11.8 地址池 NAPT 业务验证
在 PC1、PC2、Server 上再次访问:
text
http://198.51.100.10
三台主机都应成功打开外部 Web 页面。
在 R1-NAT 上查看:
text
<R1-NAT> display nat outbound
<R1-NAT> display nat session all
如支持详细显示,可执行:
text
<R1-NAT> display nat session all verbose
重点观察:
text
三台内网主机都使用 203.0.113.11 作为公网源地址;
不同会话使用不同的转换后源端口。
11.9 地址池 NAPT 外部日志验证
在 Internet-Test-PC 的 IIS 日志中查看 c-ip 字段。
预期结果:
text
所有访问源地址均可能显示为 203.0.113.11。
IIS 日志可以证明源 IP 已被转换;端口复用必须以 R1-NAT 的 NAT 会话表为主要证据。

图 14-5 地址池 NAPT 会话与外部日志联合验证图
11.10 任务分析
动态 NAT 与地址池 NAPT 的区别如下:
| 对比项目 | 动态 NAT | 地址池 NAPT |
|---|---|---|
| 地址来源 | 公网地址池 | 公网地址池 |
| 是否转换端口 | 否 | 是 |
| 每个主机是否独占公网地址 | 是 | 不一定 |
| 公网地址利用率 | 较低 | 较高 |
| 地址池耗尽风险 | 较高 | 较低 |
| 本实验地址池 | .11~.13 |
.11 单地址池 |
12 任务 3:Easy IP 实现单出口地址共享上网(高阶选做)

图 14-6 Easy IP 共享出口地址图
12.1 清理地址池 NAPT
text
<R1-NAT> system-view
[R1-NAT] interface GigabitEthernet0/0/1
[R1-NAT-GigabitEthernet0/0/1] undo nat outbound 2000 address-group 2
[R1-NAT-GigabitEthernet0/0/1] quit
[R1-NAT] reset nat session all
本任务只使用 PC1、PC2 作为内网用户,因此删除 ACL 中 Server 的匹配规则:
text
[R1-NAT] acl number 2000
[R1-NAT-acl-basic-2000] undo rule 15
[R1-NAT-acl-basic-2000] quit
查看 ACL:
text
<R1-NAT> display acl 2000
12.2 配置 Easy IP
在 R1-NAT 的公网出口接口下配置:
text
<R1-NAT> system-view
[R1-NAT] interface GigabitEthernet0/0/1
[R1-NAT-GigabitEthernet0/0/1] nat outbound 2000
[R1-NAT-GigabitEthernet0/0/1] quit
该命令表示:
text
匹配 ACL 2000 的内网流量访问外部网络时,
直接使用 R1-NAT 出口接口地址 203.0.113.2 进行地址和端口转换。
12.3 Easy IP 业务验证
在 PC1、PC2 上分别访问:
text
http://198.51.100.10
两台主机均应成功访问外部 Web 服务。
在 R1-NAT 上查看:
text
<R1-NAT> display nat outbound
<R1-NAT> display nat session all
在 Internet-Test-PC 的 IIS 日志中查看 c-ip 字段。
预期结果:
text
PC1 和 PC2 对外访问的源地址均为:
203.0.113.2
不同主机和不同连接通过不同端口号区分。
12.4 任务分析
| NAT 方式 | 公网地址来源 | 是否使用端口复用 |
|---|---|---|
| 静态 NAT | 固定指定公网地址 | 否 |
| 动态 NAT | 公网地址池 | 否 |
| 地址池 NAPT | 公网地址池 | 是 |
| Easy IP | 出口接口地址 | 是 |
Easy IP 适用于只有一个公网出口地址、没有额外公网地址池的场景,例如小型单位、临时网络、家庭宽带或小型实验环境。
13 拓展任务:NAT Server 发布内网 Web 服务器(高阶选做)
本任务在学生已经理解"静态 NAT 是固定一对一映射"后进行。

图 14-7 静态 NAT 发布内网 Web 服务器图
13.1 清理 Easy IP
text
<R1-NAT> system-view
[R1-NAT] interface GigabitEthernet0/0/1
[R1-NAT-GigabitEthernet0/0/1] undo nat outbound 2000
[R1-NAT-GigabitEthernet0/0/1] quit
[R1-NAT] reset nat session all
13.2 部署内网 Web 服务
在 Server 上,以管理员身份打开 PowerShell,安装 IIS:
powershell
Install-WindowsFeature Web-Server -IncludeManagementTools
创建测试页面:
powershell
Set-Content -Path C:\inetpub\wwwroot\index.html -Value '<h1>Internal Web Server - 192.168.10.100</h1>'
放行 TCP(Transmission Control Protocol,传输控制协议)80 端口:
powershell
New-NetFirewallRule -DisplayName "Allow HTTP 80" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow
先在 PC1 浏览器中访问:
text
http://192.168.10.100
确认内网 Web 服务正常。
13.3 配置 NAT Server
建立固定映射:
text
203.0.113.14 ↔ 192.168.10.100
在 R1-NAT 上配置:
text
<R1-NAT> system-view
[R1-NAT] interface GigabitEthernet0/0/1
[R1-NAT-GigabitEthernet0/0/1] nat server protocol tcp global 203.0.113.14 80 inside 192.168.10.100 80
[R1-NAT-GigabitEthernet0/0/1] quit
验证命令:
text
<R1-NAT> display nat server
<R1-NAT> display nat session all
13.4 外部访问验证
在 Internet-Test-PC 浏览器中访问:
text
http://203.0.113.14
预期应看到:
text
Internal Web Server - 192.168.10.100
在 Internet-Test-PC PowerShell 中执行:
powershell
Test-NetConnection 203.0.113.14 -Port 80
预期结果:
text
TcpTestSucceeded : True
13.5 查看静态 NAT 和会话表
text
<R1-NAT> display nat server
<R1-NAT> display nat session all
13.6 任务分析
本任务说明:
text
静态 NAT 不仅能让内网主机使用固定公网地址访问外网,
也能将内网服务器固定映射为公网地址,
使外部用户访问内部服务。
真实生产环境中,服务器发布通常还应配合防火墙安全策略、ACL、日志审计和最小权限原则。本实验重点仅验证 NAT 地址映射与 HTTP 服务连通性。
14 综合验证与结果记录
14.1 R1-NAT 检查命令
text
<R1-NAT> display ip interface brief
<R1-NAT> display ip routing-table
<R1-NAT> display acl 2000
<R1-NAT> display nat static
<R1-NAT> display nat address-group
<R1-NAT> display nat outbound
<R1-NAT> display nat session all
14.2 R2-ISP 检查命令
text
<R2-ISP> display ip interface brief
<R2-ISP> display ip routing-table
重点确认:
text
203.0.113.8/29 → 203.0.113.2
14.3 实验结果记录表
| 任务 | 验证项目 | 验证方法 | 预期结果 | 实际结果 |
|---|---|---|---|---|
| 任务 0 | NAT 前访问外网 | PC1 访问外部 Web | 失败 | |
| 任务 1 | 静态 NAT 表项 | display nat static |
PC1、PC2 各有固定映射 | |
| 任务 1 | PC1 外网访问 | 访问外部 Web | 成功 | |
| 任务 1 | PC2 外网访问 | 访问外部 Web | 成功 | |
| 任务 1 | 外部 IIS 日志 | 查看 c-ip |
.9、.10 |
|
| 任务 2.1 | 动态 NAT 地址池 | display nat address-group 1 |
.11~.13 |
|
| 任务 2.1 | 动态 NAT 会话 | display nat session all |
三台主机使用不同公网地址 | |
| 任务 2.2 | 地址池 NAPT | display nat outbound |
引用地址池 2 | |
| 任务 2.2 | NAPT 会话 | display nat session all verbose |
.11 + 不同端口 |
|
| 任务 3 | Easy IP 会话 | display nat session all |
使用 .2 + 不同端口 |
|
| 拓展任务 | Server 静态 NAT | display nat static |
.14 ↔ .100 |
|
| 拓展任务 | 外部发布验证 | http://203.0.113.14 |
打开内网 Web 页面 |
15 常见错误与排查方法
15.1 内网主机无法访问外部 Web 服务
依次检查:
- R1-NAT 是否存在默认路由;
- R1-NAT 与 R2-ISP 是否互通;
- R2-ISP 是否存在到
203.0.113.8/29的路由; - ACL 是否匹配正确的内网地址;
- NAT 地址池是否正确;
nat outbound是否配置在公网出口接口;- Internet-Test-PC 的 Web 服务和 TCP 80 端口是否正常。
排查命令:
text
[R1-NAT] display ip routing-table
[R1-NAT] display acl 2000
[R1-NAT] display nat address-group
[R1-NAT] display nat outbound
[R1-NAT] display nat session all
[R2-ISP] display ip routing-table
15.2 动态 NAT 中三台主机没有使用不同公网地址
可能原因:
- 配置时未使用
no-pat; - 旧 NAPT 会话未清除;
- 地址池配置范围错误;
- 三台主机未同时产生持续访问流量。
处理方法:
text
undo nat outbound 2000 address-group 1
reset nat session all
重新确认配置为:
text
nat outbound 2000 address-group 1 no-pat
15.3 地址池 NAPT 中无法观察到端口复用
可能原因:
- 地址池中存在多个公网地址,设备未必强制复用同一个地址;
- 浏览器连接过快结束,查询会话表时会话已经老化;
- 未在三个主机上同时访问外部 Web 服务。
处理方法:
- 使用只有一个地址的 2 号地址池;
- 三台主机同时访问外部 Web 服务;
- 立即执行:
text
display nat session all verbose
15.4 Easy IP 仍显示地址池公网地址
原因通常是旧地址池 NAPT 规则或旧会话未清除。
处理方法:
text
undo nat outbound 2000 address-group 2
reset nat session all
nat outbound 2000
然后重新发起 PC1、PC2 的访问测试。
15.5 外部主机无法访问内网 Web 服务器
依次检查:
- R2-ISP 是否存在到
203.0.113.8/29的静态路由; - R1-NAT 是否配置
.14 ↔ .100静态 NAT; - Server 默认网关是否为
192.168.10.254; - Server 是否安装 IIS;
- Server 是否放行 TCP 80 端口;
- 外部主机访问地址是否为
http://203.0.113.14。
排查命令:
text
[R2-ISP] display ip routing-table
[R1-NAT] display nat static
[R1-NAT] display nat session all
16 保存配置
实验验证成功后,分别在 R1-NAT 和 R2-ISP 上保存配置。
text
<R1-NAT> save
The current configuration will be written to the device. Continue? [Y/N]: y
text
<R2-ISP> save
The current configuration will be written to the device. Continue? [Y/N]: y
保存后执行:
text
<R1-NAT> display startup
<R2-ISP> display startup
确认当前配置已保存为启动配置。
17 实验思考题
- 为什么 NAT 配置前,PC1 可以访问本地网关,却无法正常访问外部 Web 服务器?
- 静态 NAT 的"一对一"具体体现在哪里?
- 动态 NAT 与静态 NAT 的主要区别是什么?
- 为什么动态 NAT 地址池耗尽后,新的内网主机可能无法访问外网?
- 为什么 NAPT 能提高公网地址利用率?
- 动态 NAT 与地址池 NAPT 的命令差异是什么?
- Easy IP 与地址池 NAPT 的公网地址来源分别是什么?
- 为什么任务 2.2 使用只有一个公网地址的地址池?
- 为什么静态 NAT 可以用于内网服务器对外发布?
- 为什么 NAT 成功不能只通过 Ping 判断?
- 配置切换后为什么要执行
reset nat session all? - 在真实校园网中,服务器发布为什么还需要配合防火墙安全策略?
18 命令汇总表
| 命令 | 使用设备 | 使用视图 | 作用 |
|---|---|---|---|
display interface brief |
路由器、交换机 | 用户视图 | 查看接口物理状态 |
display ip interface brief |
路由器 | 任意视图 | 查看接口 IP 地址和协议状态 |
display ip routing-table |
路由器 | 任意视图 | 查看路由表 |
undo portswitch |
路由器、三层交换机 | 接口视图 | 将二层接口切换为三层接口 |
ip address |
路由器 | 接口视图 | 配置接口 IP 地址 |
ip route-static |
路由器 | 系统视图 | 配置静态路由 |
nat static global 公网地址 inside 私网地址 |
R1-NAT | 公网接口视图 | 配置一对一静态 NAT |
display nat static |
R1-NAT | 任意视图 | 查看静态 NAT 配置 |
acl number 2000 |
R1-NAT | 系统视图 | 创建基本 ACL |
rule permit source |
R1-NAT | ACL 视图 | 匹配需要 NAT 的源地址 |
nat address-group |
R1-NAT | 系统视图 | 创建 NAT 地址池 |
display nat address-group |
R1-NAT | 任意视图 | 查看 NAT 地址池 |
nat outbound 2000 address-group 1 no-pat |
R1-NAT | 公网接口视图 | 配置动态 NAT,不进行端口复用 |
nat outbound 2000 address-group 2 |
R1-NAT | 公网接口视图 | 配置地址池 NAPT |
nat outbound 2000 |
R1-NAT | 公网接口视图 | 配置 Easy IP |
display nat outbound |
R1-NAT | 任意视图 | 查看出方向 NAT 配置 |
display nat session all |
R1-NAT | 任意视图 | 查看 NAT 会话表 |
reset nat session all |
R1-NAT | 系统视图 | 清除 NAT 会话,使新 NAT 配置立即生效 |
Test-NetConnection 地址 -Port 端口 |
Windows 主机 | PowerShell | 测试 TCP 端口连通性 |
Install-WindowsFeature Web-Server |
Windows Server | PowerShell | 安装 IIS Web 服务 |
New-NetFirewallRule |
Windows Server | PowerShell | 放行 TCP 端口 |
save |
路由器 | 用户视图 | 保存配置 |
display startup |
路由器 | 用户视图 | 查看启动配置保存状态 |
19 实验小结
本实验以学生容易理解的顺序,逐步完成了四类 NAT 技术的观察和比较。
text
静态 NAT
固定一对一地址映射。
动态 NAT
地址池动态分配,一台主机通常独占一个公网地址。
地址池 NAPT
地址池加端口复用,多台主机可以共享少量公网地址。
Easy IP
直接使用出口接口地址进行地址和端口转换。
静态 NAT 发布服务器
将内网服务器固定映射为公网地址,允许外部用户访问内部服务。
通过本实验应掌握以下核心认识:
text
NAT 的本质是修改报文中的地址信息,NAPT 还会修改端口信息。
静态 NAT、动态 NAT、NAPT 和 Easy IP 的差异,不应只靠背诵定义,而应通过公网地址来源、映射关系、NAT 会话表和外部日志进行判断。
完整 NAT 验证应包括:
1. 基础路由
2. NAT 配置表
3. HTTP 业务访问
4. TCP 端口测试
5. NAT 会话表
6. 外部服务器日志
版权声明:本文版权归作者所有,网络发布版仅供个人学习、课堂教学参考和非商业交流使用。未经作者书面许可,任何单位或个人不得以复制、汇编、改编、摘编、整理、录入数据库、制作课程包、出版图书、开发付费课程、商业培训或其他商业形式使用本文全部或部分内容。
引用说明:如需引用本文中的观点、实验设计、拓扑结构、命令说明或图表内容,请注明作者、文章标题及原文链接。
版本说明:本文为网络公开学习版,后续如形成教材、讲义、课程资源包或正式出版物,以作者修订版及出版社审定版本为准。