1.2 隐藏并保护内网主机
使用网络地址转换(NAT)后,内网主机使用私网地址,而对外网却显示一个或多个公网地址,内网主机不直接暴露在公网上,避免被扫描探测和直接访问,从而增强网络安全性。
Hillstone网络地址转换基本功能
2.1 SNAT(源地址转换)
2.2 DNAT (目的地址转换)
SNAT 是内网终端访问外网服务时使用的功能。
如图1所示,内网终端使用私网地址访问公网服务,数据包经过网关时,网关将“私网源地址:端口”修改成“公网源地址:端口”,并做下记录,当服务端返回数据包时,再按照之前的记录将“公网目的地址:端口”修改回“私网目的地址:端口”。
Hillstone 安全网关的SNAT 功能支持三种转换模式:
① 静态地址
静态源地址转换即一对一的转换。
该模式要求被转换到的公网地址条目包含的IP 地址数与流量的私网源地址的地址条目包含的IP 地址数相同。
② 动态地址
动态源地址转换即多对多的转换。
该模式将私网源地址转换到指定的公网IP 地址。
每一个私网源地址会被映射到一个唯一的公网IP 地址做转换,直到指定公网地址全部被占用。
③ 动态端口
多个私网源地址将被转换成指定公网IP 地址条目中的一个地址。
通常情况下,地址条目中的第一个地址将会首先被使用,当第一个地址的端口资源被用尽,第二个地址将会被使用。
DNAT 是外网终端访问内网服务时使用的功能。
如图2所示,外网终端使用公网地址访问内网服务,数据包经过网关时,网关将“公网目的地址:端口”修改成“私网目的地址:端口”,并做下记录,当服务端返回数据包时,再按照之前的记录将“私网源地址:端口”修改回“公网源地址:端口”。
图1 Hillstone 安全网关SNAT 工作原理
图2 Hillstone 安全网关DNAT
工作原理
2.3 ALG (应用层网关)
一些应用在通信过程中使用应用层携带网络地址信息,如SIP 协议;一些应用采用多通道数据传送,控制通道在应用层协商数据通道的网络地址,如FTP 协议。
在NAT 场景下,这些协议的正常通信都会受到影响。
这就要求NAT 网关在进行网络层地址转换的同时,能够识别这些应用,并在应用层也对地址进行相应的转换。
图3中以SIP 协议为例,讲解ALG
过程。
Hillstone 安全网关支持SIP 、H.323、FTP 、TFTP 、PPTP 、RTSP 、RSH 、MSRPC 、SUNRPC 、SQLNET 等多种常用协议的ALG 。
SNAT 工作在动态端口模式时,公网源地址池中的某个地址首先被使用,当这个地址的端口池被用尽时,另一个地址才会被使用,这样的工作机制在用户访问某些特殊服务(如网银)时会出现问题。
网银类服务考虑了更多的安全机制,要求同一个用户同一次访问网银服务过程中的源地址必须相同,如果某用户访问网银时正好处于一个公网源地址的端口池被耗尽,那么此用户后续访问该网银服务的新建流的私网源地址都会被转换成新的公网地址。
根据网银的安全机制,这些新建流会被服务端断开。
为解决该问题,Hillstone 提供了Sticky 功能,当SNAT 工作在动态端口模式时,若开启Sticky 功能,每一个私网源地址产生的所有会话将被映射到同一个固定的公网源地址。
3.1 SNAT Sticky
图4 Hillstone 安全网关SNAT Sticky 应用场景
图3 Hillstone 安全网关ALG 工作原理(SIP 为例)
图5 Hillstone 安全网关SNAT 端口复用应用场景
3.2 SNAT 端口复用
3.3 DNAT 服务器负载均衡
3.4 Full Cone NAT
SNAT 工作时,NAT 网关需要建立“私网源地址:端口”—〉“公网源地址:端口”的映射记录,以便当服务端返回数据包时,再按照之前的记录将“公网目的地址:端口”修改回“私网目的地址:端口”。
一个“公网源地址:端口”对和一个“私网源地址:端口”对是一对一关系。
因此“私网源地址:端口”对的数量(代表用户的数量)越多,“公网源地址:端口”对的数量需求也就越多。
为帮助宽带运营商节约公网源地址资源,Hillstone 提供了SNAT 端口复用功能,把用户访问的公网目的地址作为一个维度加入到NAT 映射表中,即NAT 网关建立“私网源地址:端口”—〉“公网源地址:端口”+“公网目的地址”的映射记录,当不同的用户或同一个用户通过不同端口访问不同的公网地址时,就可以分配相同的“公网源地址:端口”,使得公网源地址资源的使用率大大提高,从而避免宽带运营商因内网用户的增加导致公网源地址资源不足而扩容。
企业或数据中心的内网服务为了保护服务不出现单点故障以及合理利用硬件服务器的性能,常常对服务器采用集群模式部署,这就需要外置负载均衡设备为服务器群进行分流。
Hillstone 的DNAT 功能可以提供服务器负载均衡业务,支持将内网多个私网服务器地址映射成同一个公网地址,在外网用户对此公网地址进行访问时,将流量均匀地分流到各私网服务器上。
图6 Hillstone 安全网关DNAT 服务器负载均衡应用场景
图7 Hillstone 安全网关Full Cone NAT
应用场景
3.5 NAT444
3.6 NAT64/NAT46(NAT-PT )
在SNAT 过程中,NAT 映射记录由内网用户的“私网源地址:端口”触发建立,当服务端返回数据包时,再按照之前的记录将“公网目的地址:端口”修改回“私网目的地址:端口”。
若服务端返回的数据包与NAT 映射记录无法匹配,就会被丢弃。
Full Cone NAT 功能是在内网用户的“私网源地址:端口”触发建立NAT 映射记录的同时,将当前的“私网源地址:端口”和“公网源地址:端口”进行绑定。
绑定后,相同的“私网源地址:端口”发起的到任何地址的访问都固定转换为对应的“公网源地址:端口”。
当其它用户访问此“公网地址:端口”时,根据之前的绑定记录,系统直接将“公网地址:端口”转换成对应的“私网地址:端口”,使通信得以正常进行。
Hillstone 提供Full Cone NAT 功能,用来解决宽带运营商网络出口带宽拥塞问题。
P2P 下载使得宽带运营商的网络出口带宽常常不足,流量分析发现,由于传统SNAT 工作过程对NAT 记录的严格匹配,宽带运营商的内网用户P2P 下载后的数据无法被其它内网用户请求到,使得所有数据都要从外网的Peer 请求,造成网络出口带宽的高消耗和拥塞。
在Hillstone 安全网关上开启Full Cone NAT 功能后,大部分P2P 流量都在网内流转,大大节省了网络出口带宽。
NAT444主要是被已经拥有大量IPv4地址的运营商用来作为延缓IPv4向IPv6过渡的手段。
拥有大量IPv4地址的运营商一般都是国家级、区域性大型固网宽带运营商,他们的用户上网会直接分配公网IPv4地址。
但随着用户数量的不断增加以及WLAN 网络的建设,这些运营商拥有的IPv4地址开始不足,而向IPv6过渡又需要较大的投资成本,因此他们开始选择使用NAT 改造方案,给用户分配私网IP 地址来提供互联网接入服务,这样的方案被称为NAT444。
Hillstone 目前提供的NAT444面向中国电信进行了定制,支持外网地址固定端口块向内网地址的静态映射,同时能够基于Session 生成日志,还能基于用户生成日志。
NAT64/NAT46主要解决运营商或企业内部纯IPv6网络和纯IPv4网络互访的问题。
运营商或企业在纯IPv6网络和纯IPv4网络之间部署Hillstone 安全网关,为双向的访问同时做源地址转换和目的地址转换,使通信就像在本类型网络内部一样。
图9 Hillstone 安全网关NAT64/NAT46(NAT-PT )应用场景
图8 Hillstone 安全网关NAT444
应用场景
4.1 企业互联网出口
防火墙通常作为网关部署在企业的互联网出口,网络地址转换(NAT )是必须的功能。
4.2 企业数据中心网络出口
防火墙通常不作为网关部署在企业数据中心的网络出口,但网络地址转换(NAT )是必须的功能。
企业数据中心网络对可靠性要求较高,通常选择两台防火墙HA 模式部署。
3.7 NAT64/DNS64
NAT64/DNS64主要解决运营商或企业内网IPv4和IPv6用户共存的场景下,IPv6用户访问外网IPv4服务的问题。
运营商或企业在网络出口部署Hillstone 安全网关,首先IPv6用户发起对外网服务的DNS 解析,Hillstone 安全网关发现其请求的是IPv4的服务,则代理其向DNS 服务器请求IPv4的地址,然后给IPv6用户回应构造的IPv6地址,此即为DNS64过程;而后IPv6用户发起IP 连接,Hillstone 安全网关根据之前的DNS64过程中的记录,将用户访问的IPv6地址进行目的地址转换成外网IPv4服务的真实地址,同时为用户进行源IP 地址转换,将用户的IPv6地址转换成IPv4地址,即完成NAT64过程。
图10 Hillstone 安全网关NAT64/DNS64应用场景
图11 Hillstone 安全网关企业互联网出口NAT
场景
4.3 宽带运营商网络出口
防火墙通常不作为网关部署在宽带运营商的网络出口,但网络地址转换(NAT
)是必须的功能。
图12 Hillstone 防火墙企业数据中心网络出口NAT 场景
图13 Hillstone 防火墙宽带运营商网络出口NAT
场景。