NAT地址转换

一、背景

随着Internet的发展和网络应用的增多,IPv4地址枯竭已经成为制约网络发展的瓶颈。尽管IPv6可以从根本上解决IPv4地址空间不足的问题,但目前众多的网络设备和网络应用仍是基于IPv4的,因此在IPv6广泛应用之前,一些过渡技术的使用是解决这个问题的主要技术手段。

二、NAT原理和类别

网络地址转换技术NAT(Network Address Translation)主要用于实现位于内部网络的主机访问外部网络的功能。当局域网内的主机需要访问外部网络时,通过NAT技术可以将其私网地址转换为公网地址,并且多个私网用户可以共用一个公网地址,这样既可保证网络互通,又节省了公网地址。
NAT的实现方式有多种,适用于不同的场景。

2.1 静态NAT

  • 静态NAT实现了私有地址和公有地址的一对一映射。
  • 一个公网IP只会分配给唯一且固定的内网主机。
  • 静态NAT实现了私有地址和公有地址的一对一映射。如果希望一台主机优先使用某个关联地址,或者想要外部网络使用一个指定的公网地址访问内部服务器时,可以使用静态NAT。但是在大型网络中,这种一对一的IP地址映射无法缓解公用地址短缺的问题。

在这里插入图片描述
在本示例中,源地址为192.168.1.1的报文需要发往公网地址100.1.1.1。在网关RTA上配置了一个私网地址192.168.1.1到公网地址200.10.10.1的映射。当网关收到主机A发送的数据包后,会先将报文中的源地址192.168.1.1转换为200.10.10.1,然后转发报文到目的设备。目的设备回复的报文目的地址是200.10.10.1。当网关收到回复报文后,也会执行静态地址转换,将200.10.10.1转换成192.168.1.1,然后转发报文到主机A。和主机A在同一个网络中其他主机,如主机B,访问公网的过程也需要网关RTA做静态NAT转换。

2.2 动态NAT

  • 动态NAT基于地址池来实现私有地址和公有地址的转换。

在这里插入图片描述
本示例中,当内部主机A和主机B需要与公网中的目的主机通信时,网关RTA会从配置的公网地址池中选择一个未使用的公网地址与之做映射。每台主机都会分配到地址池中的一个唯一地址。当不需要此连接时,对应的地址映射将会被删除,公网地址也会被恢复到地址池中待用。当网关收到回复报文后,会根据之前的映射再次进行转换之后转发给对应主机。动态NAT地址池中的地址用尽以后,只能等待被占用的公用IP被释放后,其他主机才能使用它来访问公网。

2.3 网络地址端口转换NAPT

  • 网络地址端口转换NAPT允许多个内部地址映射到同一个公有地址的不同端口。
    在这里插入图片描述
    网络地址端口转换NAPT(Network Address Port Translation)允许多
    个内部地址映射到同一个公有地址的不同端口。
    本例中,RTA收到一个私网主机发送的报文,源IP地址是192.168.1.1,源端口号是1025,目的IP地址是100.1.1.1,目的端口是80。RTA会从配置的公网地址池中选择一个空闲的公网IP地址和端口号,并建立相应的NAPT表项。这些NAPT表项指定了报文的私网IP地址和端口号与公网IP地址和端口号的映射关系。之后,RTA将报文的源IP地址和端口号转换成公网地址200.10.10.1和端口号2843,并转发报文到公网。当网关RTA收到回复报文后,会根据之前的映射表再次进行转换之后转发给主机A。主机B同理。

2.4 Easy IP

  • Easy IP允许将多个内部地址映射到网关出接口地址上的不同端口。

在这里插入图片描述
Easy IP适用于小规模局域网中的主机访问Internet的场景。小规模局域网通常部署在小型的网吧或者办公室中,这些地方内部主机不多,出接口可以通过拨号方式获取一个临时公网IP地址。Easy IP可以实现内部主机使用这个临时公网IP地址访问Internet。
本示例说明了Easy IP的实现过程。RTA收到一个主机A访问公网的请求报文,报文的源IP地址是192.168.1.1,源端口号是1025。RTA会建立Easy IP表项,这些表项指定了源IP地址和端口号与出接口的公网IP地址和端口号的映射关系。之后,根据匹配的Easy IP表项,将报文的源IP地址和端口号转换成出接口的IP地址和端口号,并转发报文到公网。报文的源IP地址转换成200.10.10.10/24,相应的端口号是2843。
路由器收到回复报文后,会根据报文的目的IP地址和端口号,查询Easy IP表项。路由器根据匹配的Easy IP表项,将报文的目的IP地址和端口号转换成私网主机的IP地址和端口号,并转发报文到主机。

2.5 NAT服务器

  • 通过配置NAT服务器,可以使外网用户访问内网服务器。
    在这里插入图片描述
    NAT在使内网用户访问公网的同时,也屏蔽了公网用户访问私网主机的需求。当一个私网需要向公网用户提供Web和FTP服务时,私网中的服务器必须随时可供公网用户访问。NAT服务器可以实现这个需求,但是需要配置服务器私网IP地址和端口号转换为公网IP地址和端口号并发布出去。路由器在收到一个公网主机的请求报文后,根据报文的目的IP地址和端口号查询地址转换表项。路由器根据匹配的地址转换表项,将报文的目的IP地址和端口号转换成私网IP地址和端口号,并转发报文到私网中的服务器。本例中,主机C需要访问私网服务器,发送报文的目的IP地址是200.10.10.1,目的端口号是80。RTA收到此报文后会查找地址转换表项,并将目的IP地址转换成192.168.1.1,目的端口号保持不变。服务器收到报文后会进行响应,RTA收到私网服务器发来的响应报文后,根据报文的源IP地址192.168.1.1和端口号80查询地址转换表项。然后,路由器根据匹配的地址转换表项,将报文的源IP地址和端口号转换成公网IP地址200.10.10.1和端口号80,并转发报文到目的公网主机。

三、配置实验

3.1 静态NAT

实验拓扑:
在这里插入图片描述
AR1:

<Huawei>system-view 
[Huawei]interface GigabitEthernet 0/0/0
[Huawei-GigabitEthernet0/0/0]ip address 10.1.1.2 255.255.255.248
[Huawei-GigabitEthernet0/0/0]nat static global 10.1.1.3 inside 192.168.1.2 
[Huawei-GigabitEthernet0/0/0]quit
[Huawei]interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1]ip address 192.168.1.1 255.255.255.0 
[Huawei-GigabitEthernet0/0/1]quit
[Huawei]ip route-static 8.8.8.8 32 10.1.1.1

AR2:

<Huawei>system-view
[Huawei]interface LoopBack 0
[Huawei-LoopBack0]ip address 8.8.8.8 32
[Huawei-LoopBack0]quit
[Huawei]interface GigabitEthernet 0/0/0
[Huawei-GigabitEthernet0/0/0]ip address 10.1.1.1 255.255.255.248

PC:在这里插入图片描述
实验结果:
在这里插入图片描述
在AR1的G0/0/0口抓包:
在这里插入图片描述

3.2 动态NAT

在这里插入图片描述
AR1:

<Huawei>system-view
[Huawei]interface LoopBack 0
[Huawei-LoopBack0]ip address 8.8.8.8 32
[Huawei-LoopBack0]quit
[Huawei]interface GigabitEthernet 0/0/0
[Huawei-GigabitEthernet0/0/0]ip address 10.1.1.1 25

AR2:

<Huawei>system-view 
[Huawei]nat address-group 1 10.1.1.3 10.1.1.100
[Huawei]acl 2000	
[Huawei-acl-basic-2000]rule 1 permit source 192.168.1.0 0.0.0.255
[Huawei]interface GigabitEthernet 0/0/0
[Huawei-GigabitEthernet0/0/0]ip address 10.1.1.2 25
[Huawei-GigabitEthernet0/0/0] nat outbound 2000 address-group 1 no-pat
[Huawei-GigabitEthernet0/0/0]quit
[Huawei]interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1]ip address 192.168.1.1 255.255.255.0 
[Huawei-GigabitEthernet0/0/1]quit
[Huawei]ip route-static 8.8.8.8 32 10.1.1.1

PC:
在这里插入图片描述
实验结果:
在这里插入图片描述
在这里插入图片描述

nat outbound命令用来将一个访问控制列表ACL和一个地址池关联起来,表示ACL中规定的地址可以使用地址池进行地址转换。ACL用于指定一个规则,用来过滤特定流量。后续将会介绍有关ACL的详细信息。
nat address-group命令用来配置NAT地址池。 本示例中使用nat outbound命令将ACL 2000与待转换的192.168.1.0/24网段的流量关联起来,并使用地址池1(address-group 1)中的地址进行地址转换。no-pat表示只转换数据报文的地址而不转换端口信息。

  • 注:如果地址池中地址数量很少,那么可能会出现网络中断。

3.3 Easy IP

实验拓扑:
在这里插入图片描述
AR1:

<Huawei>system-view
[Huawei]interface LoopBack 0
[Huawei-LoopBack0]ip address 8.8.8.8 32
[Huawei-LoopBack0]quit
[Huawei]interface GigabitEthernet 0/0/0
[Huawei-GigabitEthernet0/0/0]ip address 10.1.1.1 25

AR2:

<Huawei>system-view 
[Huawei]acl 2000	
[Huawei-acl-basic-2000]rule 1 permit source 192.168.1.0 0.0.0.255
[Huawei]interface GigabitEthernet 0/0/0
[Huawei-GigabitEthernet0/0/0]ip address 10.1.1.2 25
[Huawei-GigabitEthernet0/0/0] nat outbound 2000
[Huawei-GigabitEthernet0/0/0]quit
[Huawei]interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1]ip address 192.168.1.1 255.255.255.0 
[Huawei-GigabitEthernet0/0/1]quit
[Huawei]ip route-static 8.8.8.8 32 10.1.1.1

PC:
在这里插入图片描述
实验结果:
在这里插入图片描述
在这里插入图片描述
nat outbound acl-number命令用来配置Easy-IP地址转换。Easy IP的配置与动态NAT的配置类似,需要定义ACL和nat outbound命令,主要区别是Easy IP不需要配置地址池,所以nat outbound命令中不需要配置参数address-group。命令nat outbound 2000表示对ACL 2000定义的地址段进行地址转换,并且直接使用GigabitEthernet0/0/0接口的IP地址作为NAT转换后的地址。

3.4 NAT服务器配置

实验拓扑:
在这里插入图片描述
AR1:

<Huawei>system-view 
[Huawei]interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1]ip address 10.1.1.2 255.255.255.248
[Huawei-GigabitEthernet0/0/1]nat server protocol tcp global 10.1.1.3 www inside 
192.168.1.2
[Huawei-GigabitEthernet0/0/1]quit
[Huawei]interface GigabitEthernet 0/0/0
[Huawei-GigabitEthernet0/0/1]ip address 192.168.1.1 255.255.255.0 
[Huawei-GigabitEthernet0/0/1]quit
[Huawei]ip route-static10.1.2.1 30 10.1.1.1

AR2:

<Huawei>system-view
[Huawei]interface GigabitEthernet 0/0/0
[Huawei-GigabitEthernet0/0/0]ip address 10.1.1.1 255.255.255.248
[Huawei-GigabitEthernet0/0/0]quit
[Huawei]interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1]ip address 10.1.2.1 255.255.255.252
[Huawei-GigabitEthernet0/0/1]quit

HTTP-Service:
在这里插入图片描述
HTTP-Client:
在这里插入图片描述
实验结果:
在这里插入图片描述
在这里插入图片描述

3.5 NAPT实验配置

  • 与动态NAT基本相同,只需要在设置地址池时,设置一个地址,并且在将nat outbound 2000 address-group 1 no-pat的no-pat去掉。
    在这里插入图片描述
    AR1:
<Huawei>system-view
[Huawei]interface LoopBack 0
[Huawei-LoopBack0]ip address 8.8.8.8 32
[Huawei-LoopBack0]quit
[Huawei]interface GigabitEthernet 0/0/0
[Huawei-GigabitEthernet0/0/0]ip address 10.1.1.1 25

AR2:

<Huawei>system-view 
[Huawei]nat address-group 1 10.1.1.3 10.1.1.3
[Huawei]acl 2000	
[Huawei-acl-basic-2000]rule 1 permit source 192.168.1.0 0.0.0.255
[Huawei]interface GigabitEthernet 0/0/0
[Huawei-GigabitEthernet0/0/0]ip address 10.1.1.2 25
[Huawei-GigabitEthernet0/0/0] nat outbound 2000 address-group 1
[Huawei-GigabitEthernet0/0/0]quit
[Huawei]interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1]ip address 192.168.1.1 255.255.255.0 
[Huawei-GigabitEthernet0/0/1]quit
[Huawei]ip route-static 8.8.8.8 32 10.1.1.1

PC:
在这里插入图片描述
实验结果:
PC1可以ping通8.8.8.8,抓包信息为:
在这里插入图片描述

  • 5
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值