华为云SNAT或DNAT的作用
简介
NAT(Network Address Translation):网络地址转换,是将IP数据包头中的IP地址转换为另一个IP地址的过程。在实际的应用中,NAT主要用于实现私有网络访问公共网络的功能。这种通过使用少量的公网IP地址代表较多的私有IP地址的方式,将有助于减缓可用IP地址空间的枯竭。
简单来说,NAT就是在内部专有网络使用内部地址(不可路由),而当内部节点要与外界网络发生联系时,就在边缘路由器或者防火墙处,将内部的地址替换成全局地址(合法地址,可路由),从而在外部公共网上正常使用。
NAT网关可为您提供网络地址转换服务,分为公网NAT网关和私网NAT网关。
公网NAT网关(Public NAT Gateway)能够为虚拟私有云内的云主机(弹性云服务器云主机、裸金属服务器物理机)或者通过云专线/VPN接入虚拟私有云的本地数据中心的服务器,提供最高20Gbit/s能力的网络地址转换服务,使多个云主机可以共享弹性公网IP访问Internet或使云主机提供互联网服务。公网NAT网关分为SNAT和DNAT两个功能。
SNAT功能通过绑定弹性公网IP,实现私有IP向公有IP的转换,可实现VPC内跨可用区的多个云主机共享弹性公网IP,安全,高效的访问互联网。
SNAT架构如图1所示。
DNAT功能绑定弹性公网IP,可通过IP映射或端口映射两种方式,实现VPC内跨可用区的多个云主机共享弹性公网IP,为互联网提供服务。DNAT架构如图2所示。
为什么使用SNAT或DNAT?
对公网NAT网关来说,一些弹性云服务器不仅需要使用系统提供的服务,还需要访问外网以获取信息或下载软件。但是,给弹性云服务器分配公网IP需要消耗稀缺资源(如IPv4地址),增加额外的成本,并有可能增加虚拟环境遭受攻击的几率。因此,多个弹性云服务器共享同一公网IP是一种可行的方法,具体实施方法为源地址转换(SNAT)。
对私网NAT网关来说,在大企业不同部门间存在大量重叠网段,上云后无法互通,通过私网SNAT可以将一个部门多个弹性云服务器的IP转化为一个中转IP去访问别的部门;因为安全受限等原因,行业监管部门要求各机构和单位按指定IP地址接入,通过私网SNAT可以将多个弹性云服务器的IP转化为一个中转IP,去访问行业监管部门。
公网NAT前提条件
- 购买公网NAT网关必须指定公网NAT网关所在VPC、子网。
- 由于需要放通到公网NAT网关的流量,即在VPC中需要有指向公网NAT网关的路由,因此在购买公网NAT网关时,会自动在VPC的默认路由表中添加一条0.0.0.0/0的默认路由指向所购买的公网NAT网关。如果在购买公网NAT网关前,VPC默认路由表下已经存在0.0.0.0/0的默认路由,则会导致自动添加该默认路由指向公网NAT网关失败,此时需要在公网NAT网关购买成功后,手动为此网关添加一条不同的路由或在新路由表中创建0.0.0.0/0的默认路由指向该网关。
公网NAT网关创建成功后,通过创建SNAT规则,您可以将该子网下的云主机通过共享弹性公网IP访问互联网。一个子网或一条网段对应一条SNAT规则,如果VPC中有多个子网或网段需要访问公网,则可以通过创建多个SNAT规则实现共享弹性公网IP资源。
公网NAT网关创建后,通过添加DNAT规则,则可以通过映射方式将您VPC内的云主机对互联网提供服务。一个云主机的一个端口对应一条DNAT规则,如果您有多个云主机需要为互联网提供服务,则需要创建多条DNAT规则。
若要访问Internet,请添加SNAT规则。
若要面向Internet提供服务,请添加DNAT规则。
使用SNAT访问公网
当多个云主机(弹性云服务器、裸金属服务器)在没有绑定弹性公网IP的情况下需要访问公网,为了节省弹性公网IP资源并且避免云主机IP直接暴露在公网上,可以通过公网NAT网关共享弹性公网IP的方式访问公网,可以按照图1所示,实现无弹性公网IP的云主机访问公网。
使用DNAT为云主机面向公网提供服务
VPC内的一个或多个云主机(弹性云服务器、裸金属服务器)需要面向公网提供服务时,可以根据图1实现对公网提供服务。
配置结果
参考
https://support.huaweicloud.com/productdesc-natgateway/nat_pro_0008.html
https://support.huaweicloud.com/natgateway_faq/nat_faq_001.html
https://support.huaweicloud.com/qs-natgateway/nat_qs_0001.html