原创不易,如果您喜欢安全运维系列文章,欢迎关注、评论,期待与您一起成长
随着互联网技术的快速发展,接入互联网的设备也迅速增加,入网数量超过了IP地址的梳理,这就出现了IP地址不够用的情况。因此,除了必备的公网业务,各组织和单位都构建了自己的局域网,局域网内使用内网地址,需要与外网交互时则将内网地址转换为外网地址。这种将内网地址转换为外网地址的技术就是NAT(Network Address Translation,网络地址转换),本文基于实际工作需要对NAT映射的相关配置进行介绍。
NAT映射示意图
1、NAT映射适用场景
做NAT映射有两种适用场景:一是内网终端访问公网IP地址时需要将内网地址转换为公网地址,称之为源NAT映射;二是为内网服务器分配公网地址,以为外部用户提供服务,称之为目的NAT映射。这两种场景在实际工作中都会用到,安全运维人员需要熟练操作这两种映射方式。
2、NAT映射的普遍原理
NAT映射的普遍实现原理是端口映射,按照源NAT和目的NAT介绍如下:
(1)源NAT:内网终端访问公网应用时,其数据包是从某一个具体端口出去的,同样的一个公网地址也有若干个服务端口(65535),那么就可以从公网的端口中选择一个并将其与内网终端的数据包出口绑定(即映射)。比如,内网10.153.11.12:10000可以对应公网211.120.135.6:10000,内网10.153.11.13:1888可以对应公网211.120.135.6:1888。
(2)目的NAT:内部服务器为外部用户提供的服务也是以端口的形式存在,如主机10.153.11.12的WWW服务对应的端口号80,则可以将其映射为211.120.135.6,端口号为80或8080或8888。这样,外网用户只需要访问211.120.135.6:8888即可访问10.153.11.12的www服务。
如下命令将内网地址10.153.11.12映射成公网地址211.120.135.6:
nat server global 211.120.135.6 inside 10.153.11.12
考虑到服务端口和协议类型,如下命令将内网10.153.11.12的www服务(80端口)映射为公网的211.120.135.6的8888端口,协议为TCP:
nat server protocol tcp global 211.120.135.6 8888 inside 10.153.11.12 80
上述命令中,global表示公网地址,inside表示内网地址,更详细的命令涵义可以通过问号?进行查询。
3、NAT地址池
如上面所述,每个单位所分配的公网地址是有限的,我们将这样一组有限的地址形象地看作一个水池,水池里面存储的不是水而是公网地址,这就是NAT地址池。对于源NAT映射,NAT地址池的概念特别重要,防火墙就是从地址池中随机的选择一个公网IP和端口并映射到内网IP和端口上。如下命令配置了一个包含8个公网地址的地址池:
nat address-group 1
mode pat
status active
section 0 211.120.135.1 211.120.135.8
上述命令中,mode pat表示NAT映射的方式是端口映射(P=Port),还有另外一种模式NO-PAT,即非端口映射,也可称为一对一IP地址转换,即一个内网IP地址对应一个公网IP地址。
4、源NAT映射配置和安全策略配置
上面介绍了源NAT映射和NAT地址池的概念,如下命令演示了源NAT的配置方式,其含义是10.153.11.12和10.153.11.13这两个IP地址及10.153.12.2-10.153.12.188这186个地址可以从address-group1的NAT地址池中随机选择公网地址进行映射。
nat-policy interzone trust untrust outbound
policy 0
action source-nat
policy source 10.153.11.12 0
policy source 10.153.11.13 0
policy source range 10.153.12.2 10.153.12.188
address-group 1
上面配置了源NAT的NAT策略,即定义了内网IP会被转换为哪些公网IP地址(含端口)。但是,防火墙还有一个重要功能就是进行流量的控制,确定一个流量是否允许通过防火墙,且其判断发生在NAT之前。因此,除了配置NAT策略外,还需要在此之前利用《安全运维之华为防火墙策略配置》中的方法配置内网IP地址的访问策略,即指明哪些内网IP地址可以访问哪些外网地址。
policy interzone trust untrust outbound
policy 0
action permit
policy service service-set servicename
policy source 10.153.11.12 0
policy source 10.153.11.13 0
policy source range 10.153.12.2 10.153.12.188
policy destination 211.121.111.8 0
policy destination 211.121.150.88 0
policy destination 211.121.188.8 0
通过上面这些操作即可完成内网IP地址访问公网地址的源NAT映射配置。
5、目的NAT映射配置和安全策略
目的NAT映射的配置统一包括映射策略和安全策略两个部分,映射策略的配置前面已经举例配置,即
nat server protocol tcp global 211.120.135.6 8888 inside 10.153.11.12 80
而其安全配置也与4中的安全策略配置类似:
policy interzone trust untrust inbound
action permit
policy destination 10.153.11.12 0
6、总结
NAT映射的主要目的是为了实现内外网地址的互访,包括源NAT和目的NAT两种场景,主要的实现原理是端口映射,其配置均包括安全策略配置和映射策略配置两部分,且安全策略要在映射策略之前。
感谢您花费时间阅读此文,水平有限,但请见谅,欢迎关注评论“斯沃勒科教工作室”,期待与您一起学习、成长。有兴趣深入了解的同仁可以参见《强叔侃墙》,绝对物超所值,下文将介绍华为防火墙的用户管理和安全管理。