一、网络地址转换(NAT)详细介绍
(一)定义
网络地址转换(NAT)是一种在 IP 网络中,用于将一个 IP 地址空间转换为另一个 IP 地址空间的技术。它主要用于解决 IPv4 地址短缺问题,使多个私有网络设备能够通过共享一个或少量的公有 IP 地址访问外部网络。
(二)工作原理
- NAT 转换表
- NAT 设备(如路由器)维护一个转换表。这个表记录了内部本地地址(私有 IP 地址)与内部全局地址(公有 IP 地址)之间的映射关系。
- 当内部网络中的主机发送数据包到外部网络时,NAT 设备会查看这个转换表,根据一定的规则进行地址转换。
- 地址转换过程
- 出站数据包(内部到外部):对于从内部网络发往外部网络的数据包,NAT 设备会将数据包的源 IP 地址(内部本地地址)替换为内部全局地址(公有 IP 地址)。如果是端口地址转换(PAT),还会对源端口进行转换。
- 入站数据包(外部到内部):当外部网络返回数据包时,NAT 设备根据转换表中的映射关系,将目的 IP 地址(内部全局地址)转换回内部本地地址,并将数据包转发给内部网络中的相应主机。
(三)NAT 的类型
- 静态 NAT
- 静态 NAT 将内部本地地址和内部全局地址进行一对一的固定映射。例如,内部网络中的服务器的私有 IP 地址为 192.168.1.10,通过静态 NAT 映射到公有 IP 地址 202.100.100.10。这样,外部网络可以通过访问 202.100.100.10 来访问内部的 192.168.1.10 服务器。
- 动态 NAT
- 动态 NAT 是从公有 IP 地址池中动态地为内部本地地址分配内部全局地址。当内部主机发起对外访问时,NAT 设备从地址池中选择一个可用的公有 IP 地址进行转换,并记录映射关系。当通信结束后,该公有 IP 地址可以被其他主机使用。
- 端口地址转换(PAT)
- PAT 是最常用的 NAT 类型。它允许多个内部本地地址通过共享一个内部全局地址来访问外部网络。通过使用不同的端口号来区分不同的内部主机。例如,内部网络中有多个主机通过一个公有 IP 地址访问外部网络,NAT 设备会为每个主机分配不同的端口号进行通信。
二、华为 eNSP 模拟器操作案例(以 PAT 为例)
(一)实验拓扑
- 有一个内部网络和一个外部网络,通过一台华为路由器(AR1)连接。内部网络中有两台主机(PC1 和 PC2),IP 地址分别为 192.168.1.10/24 和 192.168.1.20/24。外部网络中有一台服务器(Server),IP 地址为 202.100.100.10/24。路由器 AR1 的内部接口(GigabitEthernet0/0/0)连接内部网络,IP 地址为 192.168.1.1/24,外部接口(GigabitEthernet0/0/1)连接外部网络,IP 地址为 202.100.100.1/24。
(二)操作步骤
- 配置接口 IP 地址
- 在路由器 AR1 上:
- 配置内部接口:
system - view
(进入系统视图)interface GigabitEthernet0/0/0
(进入内部接口视图)ip address 192.168.1.1 24
(配置接口 IP 地址)
- 配置外部接口:
system - view
interface GigabitEthernet0/0/1
ip address 202.100.100.1 24
- 配置内部接口:
- 在路由器 AR1 上:
- 配置 PAT
- 在路由器 AR1 上:
acl number 2000
(创建基本访问控制列表,用于定义哪些内部地址可以进行 NAT 转换)rule 5 permit source 192.168.1.0 0.0.0.255
(允许 192.168.1.0/24 网段的地址进行 NAT 转换)
interface GigabitEthernet0/0/1
(进入外部接口视图)nat outbound 2000
(在外部接口上配置 NAT 出站转换,将符合 ACL 2000 的内部地址转换为外部接口的 IP 地址)
- 在路由器 AR1 上:
- 测试连接
- 在 PC1 上,打开命令提示符,尝试
ping 202.100.100.10
(访问外部服务器),如果配置正确,应该能够 ping 通。 - 在 PC2 上,也进行同样的操作,同样应该能够 ping 通。
- 可以在路由器 AR1 上通过命令
display nat session
查看 NAT 会话信息,验证地址转换是否正确进行。例如,会显示内部 IP 地址(192.168.1.10 或 192.168.1.20)和转换后的端口号等信息。
- 在 PC1 上,打开命令提示符,尝试
华为ensp模拟器 NAT 配置详细步骤
PAT 是如何进行地址转换的?
如何解决 NAT 导致的网络延迟问题?