第8章网络协议-NAT
1、NAT概述
NAT产生的技术背景
- 随着互联网用户的增多,IPv4的公有地址资源显得越发短缺。
- 时IPv4公有地址资源存在地址分配不均的问题,这导致部分地区的IPv4可用公有地址严重不足。
- 一方面NAT缓解了IPV4地址短缺的问题,另一方面NAT技术让外网无法直接与使用私有地址的内网进行通信,提升了内网的安全性。
私有IP地址
- 公有地址:由专门的机构管理、分配,可以在Internet上直接通信的IP地址。【要钱买的】
- 私有地址:组织和个人可以任意使用,无法在Internet上直接通信,只能在内网使用的IP地址。【内网里面使用】
- A、B、C类地址中各预留了一些地址专门作为私有IP地址(RFC1918):
- A类:10.0.0.0~10.255.255.255
- B类:172.16.0.0~172.31.255.255
- C类:192.168.0.0~192.168.255.255
NAT技术原理
- NAT:对IP数据报文中的IP地址进行转换,是一种在现网中被广泛部署的技术,一般部署在网络出口设备,例如路由器或防火墙上。绝大多数交换机不支持NAT功能
- NAT的典型应用场景:在私有网络内部(园区、家庭)使用私有地址,出口设备部署NAT,对于“从内到外”的流量,网络设备通过NAT将数据包的源地址进行转换(转换成特定的公有地址),而对于”从外到内的”流量,则对数据包的目的地址进行转换。
- 通过私有地址的使用结合NAT技术,可以有效节约公网IPV4地址。
2、静态NAT
静态NAT原理
- 静态NAT:每个私有地址都有一个与之对应并且固定的公有地址,即私有地址和公有地址之间的关系是一对一映射。
- 支持双向互访:私有地址访问Internet经过出口设备NAT转换时,会被转换成对应的公有地址。同时,外部网络访问内部网络时,其报文中携带的公有地址(目的地址)也会被NAT设备转换成对应的私有地址。【并不能解决IPv4地址数量有限的问题,需要申请多个IP地址】
静态NAT配置介绍
方式一:接口视图下配置静态NAT
[Huawei-GigabitEthernet0/0/0] nat static global (global-address) inside (host-address)
global参数用于配置外部公有地址,inside参数用于配置内部私有地址。
方式二:系统视图下配置静态NAT
[Huawei] nat static global (global-address) inside (host-address)
配置命令相同,视图为系统视图,之后在具体的接口下开启静态NAT。
[Huawei-GigabitEthernet0/0/0] nat static enable
在接口下使能nat static功能。
3、动态NAT
动态NAT原理
- 动态NAT:静态NAT严格地一对一进行地址映射,这就导致即便内网主机长时间离线或者不发送数据时,与之对应的公有地址也处于使用状态。为了避免地址浪费,动态NAT提出了地址池的概念:所有可用的公有地址组成地址池。
- 当内部主机访问外部网络时临时分配一个地址池中未使用的地址,并将该地址标记为“In Use”。当该主机不再访问外部网络时回收分配的地址,重新标记为“Not Use”。
动态NAT配置介绍
- 创建地址池
[Huawei] nat address-group group-index start-address end-address
配置公有地址范围,其中group-index为地址池编号,start-address、end-address分别为地址池起始地址、结束地址。 - 配置地址转换的ACL规则
[Huawei] acl number
[Huawei-acl-basic-number] rule permit source source-address source-wildcard
配置基础ACL,匹配需要进行动态转换的源地址范围。 - 接口视图下配置带地址池的NAT Outbound
[Huawei-GigabitEthernet0/0/0] nat outbound acl-number address-group group-index[ no-pat ]
接口下关联ACL与地址池进行动态地址转换,no-pat参数指定不进行端口转换。
4、NAPT、Easy-IP
NAPT原理
- 动态NAT选择地址池中的地址进行地址转换时不会转换端口号,即No-PAT(No-PortAddress Translation,非端口地址转换),公有地址与私有地址还是1:1的映射关系,无法提高公有地址利用率。
- NAPT(NetworkAddressandPortTranslation,网络地址端口转换):从地址池中选择地址进行地址转换时不仅转换IP地址,同时也会对端口号进行转换,从而实现公有地址与私有地址的1:n映射,可以有效提高公有地址利用率。
NAPT配置示例
Easy IP
- EasyIP:实现原理和NAPT相同,同时转换IP地址、传输层端口,区别在于EasyIP没有地址池的概念,使用接口地址作为NAT转换的公有地址。
- EasyIP适用于不具备固定公网IP地址的场景:如通过DHCP、PPPoE拨号获取地址的私有网络出口,可以直接使用获取到的动态地址进行转换。
EasyIP配置示例
5、NAT Server
NATServer使用场景
- NATServer:指定[公有地址:端口]与[私有地址:端口]的一对一映射关系,将内网服务器映射到公网,当私有网络中的服务器需要对公网提供服务时使用。
- 外网主机主动访问[公有地址:端口]实现对内网服务器的访问。
NAT Server转换示例
NAT Server配置示例
思考题:
1、何种NAT转换可以让外部网络主动访问内网服务器?
NAT server;
静态NAT
2、NAPT相比较于No-PAT有哪些优点?
节省IP地址
章节总结
- 在私有网络内使用私有地址,并在网络出口使用NAT技术,可以有效减少网络所需的IPv4公有地址数目,NAT技术有效地缓解了IPV4公有地址短缺的问题。
- 动态NAT、NAPT、EasyIP为私网主机访问公网提供源地址转换。
- NATServer实现了内网主机对公网提供服务。
- 静态NAT提供了一对一映射,支持双向互访。
练习题
企业网络在运行了一段时间后,网络管理员发现了一个现象:互联网用户通过公网地址可以正常访问Server,内网用户也可以通过内网地址正常访问Server,但内网用户无法通过公网地址访问Server,经过排查,安全策略配置都正确。请分析造成该现象的原因并提供解决方案。
1、内部用户访问服务器的公网IP封装
SIP=10.11.11.11(张三) DIP=200.200.200.1(李四)
2、数据会到防火墙,NAT Server
SIP=10.11.11.11 DIP=10.10.10.10(NAT Server)
SIP=200.200.200.10(NAT转换策略) DIP=10.10.10.10(NAT Server)
3、服务器回包
SIP=10.10.10.10(王五) DIP=10.11.11.11(张三)
原因:防火墙没有配置内网到内网区域的的源NAT策略。
解决方案:配置内网到内网区域的源NAT策略。
【解析】缺少域内nat,当内网终端访问服务器映射的公网iP地址后,防火墙会将目的地址转换为服务器的私网地址,并转发给内部服务器,当服务器在回包时发现对端都在内网,直接转发给终端,当PC收到此响应报文时发现并不是自己所访问的服务器(公网地址)的响应报文,会将报文丢弃,从而导致不通。解决思路是:把PC访问服务器的源IP先转换成公网IP,再发起访问。