实验十四 静态 NAT、动态 NAT、NAPT 与 Easy IP 配置与验证实验指导书

作者:非凡大爹|版本: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 实验目的

  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 多对一或多对少,复用端口 地址和端口共同转换
任务 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 虚拟机或真实主机,以提供:

  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 综合物理连接与地址规划图

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

预期观察表

技术 内网源地址 对外源地址 端口变化
静态 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/24198.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 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 服务,页面内容设置为:

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

重点检查:

  1. 实际接口名称;
  2. 接口物理状态;
  3. 是否存在遗留 IP 地址;
  4. 接口是否可以直接配置三层 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 服务

依次检查:

  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 端口是否正常。

排查命令:

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

可能原因:

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

处理方法:

text 复制代码
undo nat outbound 2000 address-group 1
reset nat session all

重新确认配置为:

text 复制代码
nat outbound 2000 address-group 1 no-pat

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

可能原因:

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

处理方法:

  1. 使用只有一个地址的 2 号地址池;
  2. 三台主机同时访问外部 Web 服务;
  3. 立即执行:
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 服务器

依次检查:

  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

排查命令:

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 实验思考题

  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 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. 外部服务器日志

版权声明:本文版权归作者所有,网络发布版仅供个人学习、课堂教学参考和非商业交流使用。未经作者书面许可,任何单位或个人不得以复制、汇编、改编、摘编、整理、录入数据库、制作课程包、出版图书、开发付费课程、商业培训或其他商业形式使用本文全部或部分内容。

引用说明:如需引用本文中的观点、实验设计、拓扑结构、命令说明或图表内容,请注明作者、文章标题及原文链接。

版本说明:本文为网络公开学习版,后续如形成教材、讲义、课程资源包或正式出版物,以作者修订版及出版社审定版本为准。