NAT基本概念
- 定义:网络地址转换(Network Address Translation,NAT)是一种将私有(保留)地址转化为合法公网 IP 地址的转换技术,它被广泛应用于各种类型 Internet 接入方式和各种类型的网络中。
- 作用 :
-- 解决 IP 地址短缺问题 :由于 IPv4 地址资源有限,使用私有 IP 地址的内部网络通过 NAT 可以共享少量的公网 IP 地址访问互联网。
-- 增强网络安全性:NAT 隐藏了内部网络的真实 IP 地址,外部网络无法直接访问内部网络的主机,从而在一定程度上保护了内部网络的安全。
NAT 工作原理
- 地址转换过程:
-- 当内部网络的主机向外部网络发送数据包时,NAT 设备会将数据包的源 IP 地址从私有 IP 地址转换为公有 IP 地址,并记录这个转换关系(通常记录在 NAT 转换表中)。
-- 当外部网络的主机响应数据包返回时,NAT 设备根据转换表将目的 IP 地址从公有 IP 地址转换回私有 IP 地址,然后将数据包转发给内部网络的主机。 - NAT 转换表
NAT 转换表是 NAT 设备维护的一个记录,用于存储内部私有 IP 地址与外部公有 IP 地址之间的映射关系。它包含了源 IP 地址、目的 IP 地址、源端口号、目的端口号以及转换后的地址和端口信息。
NAT 类型
- 静态 NAT(Static NAT)
原理:将一个私有 IP 地址固定地映射到一个公有 IP 地址。这种映射是一对一的,并且是永久的。
应用场景:常用于需要向外部网络提供服务的内部服务器,如 Web 服务器、邮件服务器等,使得外部网络可以通过固定的公网 IP 地址访问内部服务器。 - 动态 NAT(Dynamic NAT)
原理:将多个私有 IP 地址映射到一组公有 IP 地址池中的一个可用地址。当内部主机需要访问外部网络时,NAT 设备从地址池中动态分配一个可用的公网 IP 地址进行转换。
应用场景:适用于内部网络主机数量较多,但同时访问外部网络的主机数量相对较少的情况,可以有效利用公网 IP 地址资源。 - 网络地址端口转换(NAPT,Network Address Port Translation)
原理:也称为端口多路复用,它将多个私有 IP 地址映射到一个公有 IP 地址,通过不同的端口号来区分不同的内部主机。这样多个内部主机可以同时使用同一个公网 IP 地址访问外部网络。
应用场景:是最常用的 NAT 类型,广泛应用于家庭和企业网络中,通过一个公网 IP 地址满足大量内部主机访问互联网的需求。 - Easy IP
原理:是一种特殊的 NAPT 方式,它直接使用接口的公网 IP 地址进行地址转换,无需配置专门的地址池。当接口的 IP 地址发生变化时,NAT 转换会自动使用新的 IP 地址。
应用场景:适用于使用动态获取公网 IP 地址的场景,如 ADSL 拨号上网。
NAT 服务器(NAT Server)
原理:将内部服务器的特定服务端口映射到公网 IP 地址的相应端口,使得外部网络可以通过公网 IP 地址访问内部服务器的特定服务。
应用场景:常用于将内部的 FTP 服务器、Web 服务器等服务发布到公网,让外部用户可以访问这些服务。
NAT 的优缺点
- 优点
节省 IP 地址资源:通过 NAT 可以使用私有 IP 地址构建内部网络,大大节省了公网 IP 地址的使用。
增强网络安全性:隐藏内部网络的真实 IP 地址,减少了外部网络对内部网络的直接攻击。 - 缺点
增加网络延迟:NAT 设备需要对数据包进行地址转换,这会增加一定的处理时间,导致网络延迟。
影响某些应用程序的正常运行:一些基于 IP 地址进行通信的应用程序,如 IPsec VPN、某些 P2P 应用等,可能会受到 NAT 的影响而无法正常工作。
NAT 配置注意事项
- ACL 的使用:在配置 NAT 时,通常需要使用访问控制列表(ACL)来指定哪些内部 IP 地址可以进行地址转换。ACL 的配置要准确,否则可能会导致部分内部主机无法访问外部网络。
- 端口映射的正确性:在配置 NAT Server 时,要确保端口映射的正确性,包括协议类型(TCP 或 UDP)、公网端口和内部端口的对应关系等。
- 地址池的管理:对于动态 NAT 和 NAPT,要合理管理地址池,确保地址池中有足够的可用地址,避免出现地址耗尽的情况。
实验拓扑

实验需求
- 按照图示配置 IP 地址
- 私网 A 通过 R1 接入到互联网,私网 B 通过 R3 接入到互联网
- 私网 A 内部存在 Vlan10 和 Vlan20,通过 R1 上单臂路由访问外部网络
- 私网 A 通过 NAPT 使 Vlan10 和 Vlan20 都能够使用 R1 的公网地址访问互联网
- 私网 B 通过在 R3 上配置 EASY IP 访问互联网
- 私网 A 配置 NAT SERVER 把 FTPA 的 FTP 服务发布到公网,使 PCB 可以访问
实验步骤
-
设备命名和 IP 地址配置部分省略
-
R1 和 R3 上配置默认路由指向公网,配置步骤略
-
私网 A 内部单臂路由配置部分略
-
私网 A 通过 NAPT 使 Vlan10 和 Vlan20 都能够使用 R1 的公网地址访问互联网
分析:根据需求得知,ACL 需要配置允许 192.168.1.0/24 和 192.168.2.0/24 网段;私网 A 只有 1 个公网地址可用,意味着创建的 NAT 地址池起始和结束地址就都是 100.1.1.1
步骤 1:R1 上创建基本 ACL,允许 192.168.1.0/24 和 192.168.2.0/24 网段
[R1]acl b [R1]acl basic 2000 [R1-acl-ipv4-basic-2000]ru [R1-acl-ipv4-basic-2000]rule pe [R1-acl-ipv4-basic-2000]rule permit so [R1-acl-ipv4-basic-2000]rule permit source 192.168.1.0 0.0.0.255 [R1-acl-ipv4-basic-2000]rule permit source 192.168.2.0 0.0.0.255
步骤 2:R1 上创建 NAT 地址池,设置公网地址
[R1]interface g0/1 [R1-GigabitEthernet0/1] [R1-GigabitEthernet0/1] [R1-GigabitEthernet0/1] [R1-GigabitEthernet0/1] [R1-GigabitEthernet0/1]nat [R1-GigabitEthernet0/1]nat ou [R1-GigabitEthernet0/1]nat outbound 2000 g [R1-GigabitEthernet0/1]nat outbound 2000 add [R1-GigabitEthernet0/1]nat outbound 2000 address-group 1
步骤 3:在 R1 的公网接口上配置 NAPT
[R1]interface g0/1 [R1-GigabitEthernet0/1]nat outbound 2000 address-group 1
步骤 4:在 PCA 上 Ping R3 的公网地址,测试是否可以访问互联网
-
私网 B 通过在 R3 上配置 EASY IP 访问互联网
分析:根据需求得知,ACL 需要配置允许 192.168.1.0/24 网段;使用 EASY IP,就无需配置 NAT 地址池,直接在公网接口上配置即可,EASY IP 会自动识别公网接口的 IP 地址
步骤 1:R3 上创建基本 ACL,允许 192.168.1.0/24 网段
[R3]acl basic 2000 [R3-acl-ipv4-basic-2000]rule permit source 192.168.1.0 0.0.0.255
步骤 2:在 R3 的公网接口上配置 EASY IP
[R3]interface g0/0 [R3-GigabitEthernet0/0]nat outbound 2000
步骤 4:在 PCB 上 Ping R1 的公网地址,测试是否可以访问互联网
-
私网 A 配置 NAT SERVER 把 FTPA 的 FTP 服务发布到公网,使 PCB 可以访问
分析:根据需求得知,需要发布 FTPA 的 FTP 服务,也就是把 R1 的公网地址的 20 和 21 端口映射到 FTPA 的私网地址 配置 FTP 服务步骤略
步骤 1:在 R1 的公网接口上配置 NAT SERVER,映射端口 20 和 21
[R1-GigabitEthernet0/1]nat server protocol tcp global current-interface 20 21 inside 192.168.1.10 20 21
步骤 2:在 PCB 上测试是否能够通过 R1 的公网地址访问 FTPA 的 FTP 服务
总结:
本次实验展示了不同类型的NAT的配置和应用
- NAPT(网络地址端口转换): 私网 A 中有 Vlan10(192.168.1.0/24)和 Vlan20(192.168.2.0/24)两个网段,只有一个公网地址 100.1.1.1 可用。通过配置 NAPT,R1 上创建基本 ACL 允许这两个网段的流量,然后创建 NAT 地址池(起始和结束地址都是 100.1.1.1),并在公网接口上配置 NAPT,使得 Vlan10 和 Vlan20 的主机可以使用 R1 的公网地址访问互联网。NAPT 利用端口号来区分不同的内部主机,多个内部主机可以同时使用同一个公网 IP 地址进行通信。
- Easy IP: 私网 B 通过 R3 接入互联网,使用 Easy IP 技术。首先在 R3 上创建基本 ACL 允许 192.168.1.0/24 网段的流量,然后在公网接口上配置 Easy IP。Easy IP 是一种特殊的 NAPT 方式,它直接使用接口的公网 IP 地址进行地址转换,无需配置专门的地址池。
- NAT Server: 私网 A 要将 FTPA 的 FTP 服务发布到公网,使 PCB 可以访问。在 R1 的公网接口上配置 NAT Server,将公网地址的 20 和 21 端口映射到 FTPA 的私网地址(192.168.1.10)的 20 和 21 端口。这样,外部网络的主机就可以通过 R1 的公网地址访问 FTPA 的 FTP 服务。