NAT

发布时间 2023-04-17 13:27:20作者: 不知名de菜鸟

NAT是一种地址转换技术,它可以将IP数据报文头中的IP地址转换为另一个IP地址,并通过转换端口号达到地址重用的目的。

 

 

NAPT工作原理

NAPT在进行地址转换的同时还进行端口转换,可以实现多个私网用户共同使用一个公网IP地址上网。NAPT根据端口来区分不同用户,真正做到了地址复用。

当Host访问Web Server时,设备的处理过程如下:

  1. 设备收到Host发送的报文后查找NAT策略,发现需要对报文进行地址转换。
  2. 设备根据源IP Hash算法从NAT地址池中选择一个公网IP地址,替换报文的源IP地址,同时使用新的端口号替换报文的源端口号,并建立会话表,然后将报文发送至Internet。
  3. 设备收到Web Server响应Host的报文后,通过查找会话表匹配到步骤2中建立的表项,将报文的目的地址替换为Host的IP地址,将报文的目的端口号替换为原始的端口号,然后将报文发送至Intranet。

 

NAT Server工作原理

使用NAT Server时,需要先在设备上配置公网地址和私网地址的固定映射关系。配置完成后,设备将会生成Server-Map表项,存放公网地址和私网地址的映射关系。该表项将一直存在除非NAT Server的配置被删除。

内部Server的私网IPv4地址为192.168.1.2/24,对外的公网IPv4地址为1.1.1.10,端口号都为80,它们之间的映射关系在设备上已提前配置好。当Host访问Server时,设备的处理过程如下:

  1. 设备收到Internet上用户访问1.1.1.10的报文的首包后,查找并匹配到Server-Map表项,将报文的目的IP地址转换为192.168.1.2。

  2. 设备建立会话表,然后将报文发送至Intranet。

  3. 设备收到Server响应Host的报文后,通过查找会话表匹配到步骤2中建立的表项,将报文的源地址替换为1.1.1.10,然后将报文发送至Internet。

  4. 后续Host继续发送给Server的报文,设备都会直接根据会话表项的记录对其进行转换,而不会再去查找Server-map表项。

 

 

NAT Server:端口映射,将私网地址端口映射到公网地址,实现内网服务器供外网用户访问

[R1]int g0/0/1
[R1-GigabitEthernet0/0/1]nat server protocol tcp global 9.9.9.9 www inside 192.168.10.100 www
###在连接公网的接口上将私网服务器地址和公网地址做一对NAT映射绑定

[R1-GigabitEthernet0/0/1] nat server protocol tcp global current-interface 8080 inside 10.1.1.1 www
###在连接公网的接口上将私网服务器地址和外网接口做一对NAT映射绑定
[R1-GigabitEthernet0/0/1]nat server protocol tcp global current-interface 2121 inside 10.1.1.2 ftp
###端口为21可以直接使用关键字"ftp"代替