NAT网关(Network Address Translation Gateway)是一种网络地址转换服务,提供NAT代理(SNAT和DNAT)能力。NAT是用于在本地网络中使用私有地址,在连接互联网时转而使用全局 IP 地址的技术。NAT实际上是为解决IPv4地址短缺而开发的技术。
1.功能
NAT不仅能解决IP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。
- 1.宽带分享:这是 NAT 主机的最大功能。
- 2.安全防护:NAT 之内的 PC 联机到 Internet 上面时,其所显示的 IP 是 NAT 主机的公共 IP,所以 Client 端的 PC 当然就具有一定程度的安全了,外界在进行 portscan(端口扫描) 的时候,就侦测不到源Client 端的 PC 。
2.实现方式
NAT的实现方式有三种,即静态转换Static Nat、动态转换Dynamic Nat和端口多路复用OverLoad
2.1 静态转换
是指内部本地地址一对一转换成内部全局地址,相当内部本地的每一台PC都绑定了一个全局地址。一般用于在内网中对外提供服务的服务器
2.2 动态转换
是指将内部网络的私有IP地址转换为公用IP地址时,IP地址是不确定的,是随机的,所有被授权访问上Internet的私有IP地址可随机转换为任何指定的合法IP地址。也就是说,只要指定哪些内部地址可以进行转换,以及用哪些合法地址作为外部地址时,就可以进行动态转换。动态转换可以使用多个合法外部地址集。当ISP提供的合法IP地址略少于网络内部的计算机数量时。可以采用动态转换的方式。
2.3 端口多路复用(Port address Translation,PAT)
是指改变外出数据包的源端口并进行端口转换,即端口地址转换(PAT,Port Address Translation).采用端口多路复用方式。内部网络的所有主机均可共享一个合法外部IP地址实现对Internet的访问,从而可以最大限度地节约IP地址资源。同时,又可隐藏网络内部的所有主机,有效避免来自internet的攻击。因此,网络中应用最多的就是端口多路复用方式。
2.4 ALG(Application Level Gateway)
即应用程序级网关技术:传统的NAT技术只对IP层和传输层头部进行转换处理,但是一些应用层协议,在协议数据报文中包含了地址信息。为了使得这些应用也能透明地完成NAT转换,NAT使用一种称作ALG的技术,它能对这些应用程序在通信时所包含的地址信息也进行相应的NAT转换。例如:对于FTP协议的PORT/PASV命令、DNS协议的 "A" 和 "PTR" queries命令和部分ICMP消息类型等都需要相应的ALG来支持。
3.阿里云的NAT网关
阿里云NAT网关分为公网NAT网关和VPC NAT网关,公网NAT网关提供公网地址转换服务,而VPC NAT网关提供私网地址转换服务,您可以根据业务需求灵活选择
3.1公网NAT网关
公网NAT网关是一款针对公网访问的企业级安全网关产品,提供NAT代理功能(SNAT和DNAT),具有100 Gbps的转发能力及跨可用区的容灾能力。公网NAT网关具有高性能、自动弹性、灵活计费、精细化运维等特性,可以帮助您更好地管理公网访问流量。
公网NAT网关的网络拓扑如下图所示
- 如果您的云上网络只希望主动访问公网上的业务,而不希望云上的业务直接暴露在公网上从而有被攻击的风险,您可以选用公网NAT网关为业务提供安全防护能力。
- 如果您的业务具有突增的访问公网的流量需求,您可以选用公网NAT网关为您提供灵活和弹性的扩容能力,并且只需要按使用量付费,节省企业成本。
- 如果您有大量访问公网的机器,您可以通过公网NAT网关统一公网出口,并通过公网NAT网关准确和精细化的运维监控能力管理企业访问公网的流量。
3.1.1 SNAT(Source NAT)
SNAT是源地址转换的缩写,是一种 NAT 技术,用于在网络内部的主机访问 Internet 时,修改源 IP 地址。当内部主机发送数据包时,会将数据包的源 IP 地址替换为路由器的外部 IP 地址。这样做的目的是为了让 Internet 上的服务器能够正确地回应数据包。
使用 SNAT 技术的主要目的是隐藏内部网络的真实 IP 地址,以增加网络的安全性。它还可以用于节省外部 IP 地址资源,因为多台内部主机可以共享一个外部 IP 地址。
SNAT一般应用于一下场景
- 发往 Internet 的流量的源地址与路由器出口端口的地址不同。
- 发往 Internet 的流量的源地址与路由器的地址私有。
- SNAT通常用于NAT的网关路由器上,以便发往 Internet 的流量可以被回应。
场景示例:
某公司在阿里云创建了专有网络VPC(Virtual Private Cloud)和交换机,交换机中创建了多个ECS实例。ECS实例均未分配固定公网IP,也未绑定弹性公网IP(Elastic IP Address,简称EIP)。因公司业务发展,每台ECS实例都需要访问互联网
您可以通过公网NAT网关的SNAT功能,配置SNAT条目,使得VPC内无公网IP的ECS实例可以通过公网NAT网关绑定的EIP访问互联网
阿里云SNAT配置步骤如下
更多SNAT配置细节请参考阿里云
3.1.2 DNAT(Destination NAT)
DNAT是目标地址转换的缩写,是用于改变报文目标地址的一种 NAT 方式。它通常用于将外网主机的报文转发到内网主机上
场景示例
本文以下图场景为例。某公司在阿里云创建了ECS实例,并在ECS实例上部署了应用服务,但未给ECS实例分配固定公网IP,也未绑定弹性公网IP(Elastic IP Address,简称EIP)。因公司业务发展,公司计划通过公网NAT网关DNAT功能的IP映射或者端口映射方式,实现ECS实例面向互联网提供服务。
阿里云DNAT配置步骤如下
更多DNAT配置细节请参考阿里云
3.2 私网NAT网关(也即VPC NAT网关)
VPC NAT网关能够为VPC内的ECS实例提供私网地址转换服务,使多个ECS实例可以通过中转私网地址(即NAT IP地址)访问您的本地数据中心IDC或其他VPC。ECS实例也可以通过使用VPC NAT网关的中转私网地址对外提供私网访问服务。
VPC NAT网关也支持SNAT和DNAT功能
功能 | 说明 | 相关文档 |
---|---|---|
SNAT功能 | 通过NAT IP地址为VPC内的ECS实例提供访问外部私有网络代理服务。 | 创建和管理VPC NAT网关的SNAT条目 |
DNAT功能 | 通过将NAT IP地址和端口映射转换为VPC内ECS实例的IP和端口,使ECS实例对外提供私网访问服务。 | 创建和管理VPC NAT网关的DNAT条目 |
应用场景
1.混合云使用指定地址互访场景
随着金融证券行业云上业务规模的扩大,多网络间进行私网互通时,会遇到被监控机构要求使用固定私网地址访问的场景。您可以使用VPC NAT网关的SNAT功能和DNAT功能实现固定私网地址访问的场景
2.VPC互访地址冲突
由于早期网络规划单一或后期的业务合并,云上可能存在需要互通的两个业务VPC地址冲突的情况。您可以为两个业务VPC各配置一个VPC NAT网关并配置两个不冲突的中转私网地址。主动访问的业务VPC使用SNAT功能将源地址转换为VPC NAT网关的中转地址,被访问的业务VPC通过DNAT功能使用VPC NAT网关的中转私网地址对外提供私网服务,从而实现地址冲突的两个业务VPC互访。