作者:非凡大爹|版本:v1|日期:2026-06-21|DocID:CN-LAB-2026-06-NAT-HW-V1
原创声明:本文为作者原创实验教学资料,首发于 CSDN。
版权声明:本文版权归作者所有,网络发布版仅供个人学习、课堂教学参考和非商业交流使用。未经作者书面许可,任何单位或个人不得以复制、汇编、改编、摘编、整理、录入数据库、制作课程包、出版图书、开发付费课程、商业培训或其他商业形式使用本文全部或部分内容。
引用说明:如需引用本文中的观点、实验设计、拓扑结构、命令说明或图表内容,请注明作者、文章标题及原文链接。
版本说明:本文为网络公开学习版,后续如形成教材、讲义、课程资源包或正式出版物,以作者修订版及出版社审定版本为准。

文章目录

1 实验名称

静态 NAT、动态 NAT、NAPT 与 Easy IP 配置与验证实验

2 实验目的

  1. 理解 NAT(Network Address Translation,网络地址转换)产生的背景及其在校园网、企业出口网络中的作用。
  2. 掌握静态 NAT 的配置方法,理解固定一对一地址映射。
  3. 掌握地址池方式动态 NAT 的配置方法,理解公网地址池的动态分配与地址资源限制。
  4. 掌握地址池方式 NAPT(Network Address and Port Translation,网络地址端口转换)的配置方法,理解端口复用提高公网地址利用率的原理。
  5. 掌握 Easy IP 的配置方法,理解使用出口接口地址实现共享上网的场景。
  6. 了解NAT 在内网服务器对外发布中的应用。
  7. 能够使用命令验证 NAT 配置。
  8. 建立“基础连通—配置检查—业务验证—会话验证—外部日志验证”的 NAT 故障排查思路。

3 实验内容

本实验按“固定映射—动态分配—端口复用—接口地址复用—服务器发布”的顺序完成。

任务NAT 技术核心映射关系学习重点
任务 0基础网络与验证环境暂不配置 NAT理解 NAT 前访问外网失败的原因
任务 1静态 NAT一对一固定映射一个内网地址固定对应一个公网地址
任务 2.1动态 NAT多对多,不复用端口公网地址池动态分配与地址耗尽
任务 2.2地址池 NAPT多对一或多对少,复用端口地址和端口共同转换
任务 3Easy 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
PuTTY1 套Console 串口登录网络设备
Console 线、网线若干设备连接与配置
浏览器若干HTTP 业务验证
Wireshark可选辅助观察 TCP 会话和端口变化

5.1 eNSP 仿真实验说明

本实验可以在 eNSP 中完成路由、静态 NAT、动态 NAT、地址池 NAPT 和 Easy IP 的配置练习。

但若需要完成完整业务验证,建议通过 Cloud 接入 Windows 虚拟机或真实主机,以提供:

  1. 外部 Web 服务;
  2. 内网 Web 服务;
  3. 浏览器访问;
  4. IIS(Internet Information Services,Internet 信息服务)日志查看。

若仅使用 eNSP 内置 PC,通常只能完成接口、路由、ACL(Access Control List,访问控制列表)、NAT 配置和部分会话表验证,不能替代完整 HTTP(HyperText Transfer Protocol,超文本传输协议)业务验证。

6 实验拓扑与地址规划

6.1 实验拓扑

在这里插入图片描述

14-1 NAT 综合物理连接与地址规划图

本实验所有任务使用同一套物理连接,不需要在任务之间重新连接网线。

预期观察表

技术内网源地址对外源地址端口变化
静态 NAT192.168.10.10203.0.113.9通常保持原端口
动态 NAT192.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 —— S1S1 任意空闲接入口内网用户 1
PC2 —— S1S1 任意空闲接入口内网用户 2
Server —— S1S1 任意空闲接入口内网测试主机 / 内网 Web 服务器
S1 —— R1-NATR1 GE0/0/0R1 内网接口
R1-NAT —— R2-ISPR1 GE0/0/1 —— R2 GE0/0/0公网互联链路
R2-ISP —— Internet-Test-PCR2 GE0/0/1外部网络链路

6.3 地址规划

6.3.1 校园内网地址规划
设备接口IP 地址/掩码默认网关说明
PC1NIC192.168.10.10/24192.168.10.254内网用户 1
PC2NIC192.168.10.20/24192.168.10.254内网用户 2
ServerNIC192.168.10.100/24192.168.10.254第三台测试主机 / 内网 Web 服务器
R1-NATGE0/0/0192.168.10.254/24内网网关
6.3.2 R1-NAT 与 R2-ISP 公网互联链路
设备接口IP 地址/掩码说明
R2-ISPGE0/0/0203.0.113.1/30运营商侧互联地址
R1-NATGE0/0/1203.0.113.2/30学校出口互联地址
6.3.3 运营商分配给学校的公网地址块

运营商分配给学校的公网地址块为:

203.0.113.8/29
地址用途
203.0.113.8网络地址,不可分配
203.0.113.9PC1 的静态 NAT 地址
203.0.113.10PC2 的静态 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/24198.51.100.0/24 为文档示例地址范围,仅用于教学实验。

6.3.4 外部网络地址规划
设备接口IP 地址/掩码默认网关说明
R2-ISPGE0/0/1198.51.100.1/24外部网络网关
Internet-Test-PCNIC198.51.100.10/24198.51.100.1外部测试主机和外部 Web 服务器

7 实验验证原则

7.1 验证不能只依赖 Ping

ping 仅用于检查接口、网关和基础路由连通性,不能单独证明 NAT 配置成功。

每个任务至少应形成以下证据:

验证层次主要问题验证方式
基础连通性接口、网关和路由是否正确display ip interface briefdisplay ip routing-tableping
配置存在性NAT、地址池、ACL 是否正确display nat staticdisplay nat address-groupdisplay nat outbound
业务可用性HTTP 服务是否真正可访问浏览器、Test-NetConnection
NAT 转换证据地址或端口是否被转换display nat session all
外部观察证据外部服务器实际看到的源地址IIS 日志中的 c-ip 字段

7.2 外部 Web 测试服务器

Internet-Test-PC 需要提供外部 HTTP 服务,页面内容设置为:

External Web Server - 198.51.100.10

该页面用于验证 PC1、PC2、Server 经不同 NAT 技术访问外网后的业务结果。

在 Internet-Test-PC 上,以管理员身份打开 PowerShell,安装 IIS:

Install-WindowsFeature Web-Server -IncludeManagementTools

创建测试页面:

Set-Content -Path C:\inetpub\wwwroot\index.html -Value '<h1>External Web Server - 198.51.100.10</h1>'

如 Windows 防火墙阻止访问,执行:

New-NetFirewallRule -DisplayName "Allow HTTP 80" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow

在 Internet-Test-PC 本机浏览器中访问:

http://127.0.0.1

确认外部 Web 服务正常。

8 实验前准备

8.1 清空原有配置

实验开始前,应确认 R1-NAT、R2-ISP 中不存在上一组实验遗留的 NAT、ACL 和静态路由配置。

如需清空启动配置,可执行:

<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

设备重启时,如提示是否保存当前配置,选择:

Save the configuration? [Y/N]: n

8.2 查看接口名称与状态

在 R1-NAT 和 R2-ISP 上分别执行:

<Huawei> display interface brief

重点检查:

  1. 实际接口名称;
  2. 接口物理状态;
  3. 是否存在遗留 IP 地址;
  4. 接口是否可以直接配置三层 IP 地址。

如果接口不能配置 IP 地址,且设备提示当前为二层接口,可在接口视图执行:

[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 主机执行:

ipconfig

确认 IP 地址、掩码和默认网关正确。

9 任务 0:配置基础网络并观察 NAT 前现象

9.1 配置 R1-NAT

<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

查看接口和路由表:

[R1-NAT] display ip interface brief
[R1-NAT] display ip routing-table

重点确认存在:

192.168.10.0/24     Direct
203.0.113.0/30      Direct
0.0.0.0/0           Static

9.2 配置 R2-ISP

<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 上执行:

[R2-ISP] ip route-static 203.0.113.8 255.255.255.248 203.0.113.2

查看 R2-ISP 路由表:

[R2-ISP] display ip routing-table

重点确认:

203.0.113.8/29      Static

9.4 基础连通性验证

在 R1-NAT 上执行:

<R1-NAT> ping 203.0.113.1

在 R2-ISP 上执行:

<R2-ISP> ping 203.0.113.2

在 PC1、PC2、Server 上分别执行:

ping 192.168.10.254

在 Internet-Test-PC 上执行:

ping 198.51.100.1

9.5 NAT 配置前测试

此时尚未配置任何 NAT。

在 PC1、PC2、Server 上尝试访问:

http://198.51.100.10

预期结果:访问失败。

原因是:

内网主机报文的源地址为 192.168.10.x。
该私有地址不能在外部网络中直接路由。
R2-ISP 没有到 192.168.10.0/24 的回程路由。
因此,外部 Web 服务器无法将响应正确返回给内网主机。

该失败现象是后续学习 NAT 的起点,不能跳过。

10 任务 1:静态 NAT 实现内网主机一对一访问外网

在这里插入图片描述

图 14-2 静态 NAT 一对一固定映射拓扑图

10.1 任务目标

建立两条固定一对一映射:

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 的公网出口接口:

<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

如果设备命令提示要求显式指定掩码,可改用:

[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 配置

<R1-NAT> display nat static

继续查看接口当前配置:

<R1-NAT> system-view
[R1-NAT] interface GigabitEthernet0/0/1
[R1-NAT-GigabitEthernet0/0/1] display this

10.4 业务验证

在 PC1 浏览器中访问:

http://198.51.100.10

在 PC2 浏览器中访问:

http://198.51.100.10

两台主机均应打开:

External Web Server - 198.51.100.10

也可以执行 TCP 端口测试:

Test-NetConnection 198.51.100.10 -Port 80

10.5 查看 NAT 会话

在 PC1、PC2 保持浏览器页面打开或连续刷新后,立即在 R1-NAT 上执行:

<R1-NAT> display nat session all

如设备支持详细显示,可执行:

<R1-NAT> display nat session all verbose

重点观察:

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 日志目录:

C:\inetpub\logs\LogFiles\

查看当前日志文件中的 c-ip 字段。

预期结果:

PC1 对应访问源地址:203.0.113.9
PC2 对应访问源地址:203.0.113.10

10.7 任务分析

本任务说明:

静态 NAT 是固定的一对一地址映射。

PC1 无论何时访问外部网络,
对外均表现为 203.0.113.9。

PC2 无论何时访问外部网络,
对外均表现为 203.0.113.10。

10.8 清理任务一配置

任务二开始前,必须删除静态 NAT 并清空旧 NAT 会话。

<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

检查:

<R1-NAT> display nat static
<R1-NAT> display nat session all

确认旧静态映射和旧会话已被清除。

11 任务 2:动态 NAT 与地址池 NAPT 对比

本任务由两个连续子任务组成。

  • 任务 2.1:动态 NAT,只转换地址,不复用端口;
  • 任务 2.2:地址池 NAPT,同时转换地址和端口。

Server 在本任务中作为第三台内网测试主机,地址仍为:

192.168.10.100

11.1 创建 ACL

ACL 在本任务中不用于阻止访问,而是用于匹配哪些内网地址需要进行 NAT 转换。

<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:

<R1-NAT> display acl 2000

11.2 创建动态 NAT 地址池

创建 1 号公网地址池:

<R1-NAT> system-view
[R1-NAT] nat address-group 1 203.0.113.11 203.0.113.13

查看地址池:

<R1-NAT> display nat address-group 1

地址池包含三个公网地址:

203.0.113.11
203.0.113.12
203.0.113.13

在这里插入图片描述

图 14-3 动态 NAT 地址池分配图

11.3 任务 2.1:配置动态 NAT

在 R1-NAT 公网出口接口下配置动态 NAT:

<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

其中:

no-pat

表示只转换 IP 地址,不转换端口号。

11.4 动态 NAT 业务验证

在 PC1、PC2、Server 上分别打开浏览器,访问:

http://198.51.100.10

三台主机均应能打开外部 Web 页面。

为便于保持 NAT 映射,可在三台主机上分别执行:

ping -t 198.51.100.10

此处连续 Ping 仅用于保持测试流量和观察地址池分配,不作为 NAT 成功的主要业务证据。

在 R1-NAT 上查看 NAT 会话:

<R1-NAT> display nat session all

预期现象:

PC1、PC2、Server 分别占用地址池中的不同公网地址。

实际分配顺序可能不同,但每个活动内网主机在动态 NAT 状态下通常独占一个公网地址。

11.5 动态 NAT 外部日志验证

在 Internet-Test-PC 的 IIS 日志中查看 c-ip 字段。

预期看到:

203.0.113.11
203.0.113.12
203.0.113.13

任务结论:

动态 NAT 使用地址池动态分配公网地址。

每个活动内网主机需要占用一个独立公网地址。

地址池中的公网地址数量有限,
当地址池耗尽时,新的内网主机无法继续建立动态 NAT 映射。

11.6 清理动态 NAT 配置

<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 号地址池:

<R1-NAT> system-view
[R1-NAT] nat address-group 2 203.0.113.11 203.0.113.11

查看地址池:

<R1-NAT> display nat address-group 2

在公网出口接口下配置地址池 NAPT:

[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 上再次访问:

http://198.51.100.10

三台主机都应成功打开外部 Web 页面。

在 R1-NAT 上查看:

<R1-NAT> display nat outbound
<R1-NAT> display nat session all

如支持详细显示,可执行:

<R1-NAT> display nat session all verbose

重点观察:

三台内网主机都使用 203.0.113.11 作为公网源地址;
不同会话使用不同的转换后源端口。

11.9 地址池 NAPT 外部日志验证

在 Internet-Test-PC 的 IIS 日志中查看 c-ip 字段。

预期结果:

所有访问源地址均可能显示为 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

<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 的匹配规则:

[R1-NAT] acl number 2000
[R1-NAT-acl-basic-2000] undo rule 15
[R1-NAT-acl-basic-2000] quit

查看 ACL:

<R1-NAT> display acl 2000

12.2 配置 Easy IP

在 R1-NAT 的公网出口接口下配置:

<R1-NAT> system-view
[R1-NAT] interface GigabitEthernet0/0/1
[R1-NAT-GigabitEthernet0/0/1] nat outbound 2000
[R1-NAT-GigabitEthernet0/0/1] quit

该命令表示:

匹配 ACL 2000 的内网流量访问外部网络时,
直接使用 R1-NAT 出口接口地址 203.0.113.2 进行地址和端口转换。

12.3 Easy IP 业务验证

在 PC1、PC2 上分别访问:

http://198.51.100.10

两台主机均应成功访问外部 Web 服务。

在 R1-NAT 上查看:

<R1-NAT> display nat outbound
<R1-NAT> display nat session all

在 Internet-Test-PC 的 IIS 日志中查看 c-ip 字段。

预期结果:

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

<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:

Install-WindowsFeature Web-Server -IncludeManagementTools

创建测试页面:

Set-Content -Path C:\inetpub\wwwroot\index.html -Value '<h1>Internal Web Server - 192.168.10.100</h1>'

放行 TCP(Transmission Control Protocol,传输控制协议)80 端口:

New-NetFirewallRule -DisplayName "Allow HTTP 80" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow

先在 PC1 浏览器中访问:

http://192.168.10.100

确认内网 Web 服务正常。

13.3 配置 NAT Server

建立固定映射:

203.0.113.14  ↔  192.168.10.100

在 R1-NAT 上配置:

<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

验证命令:

<R1-NAT> display nat server
<R1-NAT> display nat session all

13.4 外部访问验证

在 Internet-Test-PC 浏览器中访问:

http://203.0.113.14

预期应看到:

Internal Web Server - 192.168.10.100

在 Internet-Test-PC PowerShell 中执行:

Test-NetConnection 203.0.113.14 -Port 80

预期结果:

TcpTestSucceeded : True

13.5 查看静态 NAT 和会话表

<R1-NAT> display nat server
<R1-NAT> display nat session all

13.6 任务分析

本任务说明:

静态 NAT 不仅能让内网主机使用固定公网地址访问外网,
也能将内网服务器固定映射为公网地址,
使外部用户访问内部服务。

真实生产环境中,服务器发布通常还应配合防火墙安全策略、ACL、日志审计和最小权限原则。本实验重点仅验证 NAT 地址映射与 HTTP 服务连通性。

14 综合验证与结果记录

14.1 R1-NAT 检查命令

<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 检查命令

<R2-ISP> display ip interface brief
<R2-ISP> display ip routing-table

重点确认:

203.0.113.8/29  →  203.0.113.2

14.3 实验结果记录表

任务验证项目验证方法预期结果实际结果
任务 0NAT 前访问外网PC1 访问外部 Web失败
任务 1静态 NAT 表项display nat staticPC1、PC2 各有固定映射
任务 1PC1 外网访问访问外部 Web成功
任务 1PC2 外网访问访问外部 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地址池 NAPTdisplay nat outbound引用地址池 2
任务 2.2NAPT 会话display nat session all verbose.11 + 不同端口
任务 3Easy IP 会话display nat session all使用 .2 + 不同端口
拓展任务Server 静态 NATdisplay nat static.14 ↔ .100
拓展任务外部发布验证http://203.0.113.14打开内网 Web 页面

15 常见错误与排查方法

15.1 内网主机无法访问外部 Web 服务

依次检查:

  1. R1-NAT 是否存在默认路由;
  2. R1-NAT 与 R2-ISP 是否互通;
  3. R2-ISP 是否存在到 203.0.113.8/29 的路由;
  4. ACL 是否匹配正确的内网地址;
  5. NAT 地址池是否正确;
  6. nat outbound 是否配置在公网出口接口;
  7. Internet-Test-PC 的 Web 服务和 TCP 80 端口是否正常。

排查命令:

[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 中三台主机没有使用不同公网地址

可能原因:

  1. 配置时未使用 no-pat
  2. 旧 NAPT 会话未清除;
  3. 地址池配置范围错误;
  4. 三台主机未同时产生持续访问流量。

处理方法:

undo nat outbound 2000 address-group 1
reset nat session all

重新确认配置为:

nat outbound 2000 address-group 1 no-pat

15.3 地址池 NAPT 中无法观察到端口复用

可能原因:

  1. 地址池中存在多个公网地址,设备未必强制复用同一个地址;
  2. 浏览器连接过快结束,查询会话表时会话已经老化;
  3. 未在三个主机上同时访问外部 Web 服务。

处理方法:

  1. 使用只有一个地址的 2 号地址池;
  2. 三台主机同时访问外部 Web 服务;
  3. 立即执行:
display nat session all verbose

15.4 Easy IP 仍显示地址池公网地址

原因通常是旧地址池 NAPT 规则或旧会话未清除。

处理方法:

undo nat outbound 2000 address-group 2
reset nat session all
nat outbound 2000

然后重新发起 PC1、PC2 的访问测试。

15.5 外部主机无法访问内网 Web 服务器

依次检查:

  1. R2-ISP 是否存在到 203.0.113.8/29 的静态路由;
  2. R1-NAT 是否配置 .14 ↔ .100 静态 NAT;
  3. Server 默认网关是否为 192.168.10.254
  4. Server 是否安装 IIS;
  5. Server 是否放行 TCP 80 端口;
  6. 外部主机访问地址是否为 http://203.0.113.14

排查命令:

[R2-ISP] display ip routing-table
[R1-NAT] display nat static
[R1-NAT] display nat session all

16 保存配置

实验验证成功后,分别在 R1-NAT 和 R2-ISP 上保存配置。

<R1-NAT> save
The current configuration will be written to the device. Continue? [Y/N]: y
<R2-ISP> save
The current configuration will be written to the device. Continue? [Y/N]: y

保存后执行:

<R1-NAT> display startup
<R2-ISP> display startup

确认当前配置已保存为启动配置。

17 实验思考题

  1. 为什么 NAT 配置前,PC1 可以访问本地网关,却无法正常访问外部 Web 服务器?
  2. 静态 NAT 的“一对一”具体体现在哪里?
  3. 动态 NAT 与静态 NAT 的主要区别是什么?
  4. 为什么动态 NAT 地址池耗尽后,新的内网主机可能无法访问外网?
  5. 为什么 NAPT 能提高公网地址利用率?
  6. 动态 NAT 与地址池 NAPT 的命令差异是什么?
  7. Easy IP 与地址池 NAPT 的公网地址来源分别是什么?
  8. 为什么任务 2.2 使用只有一个公网地址的地址池?
  9. 为什么静态 NAT 可以用于内网服务器对外发布?
  10. 为什么 NAT 成功不能只通过 Ping 判断?
  11. 配置切换后为什么要执行 reset nat session all
  12. 在真实校园网中,服务器发布为什么还需要配合防火墙安全策略?

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 staticR1-NAT任意视图查看静态 NAT 配置
acl number 2000R1-NAT系统视图创建基本 ACL
rule permit sourceR1-NATACL 视图匹配需要 NAT 的源地址
nat address-groupR1-NAT系统视图创建 NAT 地址池
display nat address-groupR1-NAT任意视图查看 NAT 地址池
nat outbound 2000 address-group 1 no-patR1-NAT公网接口视图配置动态 NAT,不进行端口复用
nat outbound 2000 address-group 2R1-NAT公网接口视图配置地址池 NAPT
nat outbound 2000R1-NAT公网接口视图配置 Easy IP
display nat outboundR1-NAT任意视图查看出方向 NAT 配置
display nat session allR1-NAT任意视图查看 NAT 会话表
reset nat session allR1-NAT系统视图清除 NAT 会话,使新 NAT 配置立即生效
Test-NetConnection 地址 -Port 端口Windows 主机PowerShell测试 TCP 端口连通性
Install-WindowsFeature Web-ServerWindows ServerPowerShell安装 IIS Web 服务
New-NetFirewallRuleWindows ServerPowerShell放行 TCP 端口
save路由器用户视图保存配置
display startup路由器用户视图查看启动配置保存状态

19 实验小结

本实验以学生容易理解的顺序,逐步完成了四类 NAT 技术的观察和比较。

静态 NAT
固定一对一地址映射。

动态 NAT
地址池动态分配,一台主机通常独占一个公网地址。

地址池 NAPT
地址池加端口复用,多台主机可以共享少量公网地址。

Easy IP
直接使用出口接口地址进行地址和端口转换。

静态 NAT 发布服务器
将内网服务器固定映射为公网地址,允许外部用户访问内部服务。

通过本实验应掌握以下核心认识:

NAT 的本质是修改报文中的地址信息,NAPT 还会修改端口信息。

静态 NAT、动态 NAT、NAPT 和 Easy IP 的差异,不应只靠背诵定义,而应通过公网地址来源、映射关系、NAT 会话表和外部日志进行判断。

完整 NAT 验证应包括:

 1. 基础路由 
 2. NAT 配置表 
 3. HTTP 业务访问 
 4. TCP 端口测试 
 5. NAT 会话表 
 6. 外部服务器日志

版权声明:本文版权归作者所有,网络发布版仅供个人学习、课堂教学参考和非商业交流使用。未经作者书面许可,任何单位或个人不得以复制、汇编、改编、摘编、整理、录入数据库、制作课程包、出版图书、开发付费课程、商业培训或其他商业形式使用本文全部或部分内容。
引用说明:如需引用本文中的观点、实验设计、拓扑结构、命令说明或图表内容,请注明作者、文章标题及原文链接。
版本说明:本文为网络公开学习版,后续如形成教材、讲义、课程资源包或正式出版物,以作者修订版及出版社审定版本为准。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐