源NAT是指对报文中的源地址进行转换。
通过源NAT技术将内网IP地址转换成公网IP地址,使内网用户可以访问Internet。转换过程如下图所示。
当Host访问外网服务器时,NAT设备的处理过程如下:
当内网地址用户访问Internet的报文到达设备时,设备将报文中的源IP地址由内网地址转换为公网地址。
当回程报文返回至设备时,设备再将报文中的目的地址由公网地址转换为内网地址。
目的NAT是指对报文中的目的地址和端口进行转换。
通过目的NAT技术将公网IP地址转换成内网IP地址,使公网用户可以访问内网的服务器。转换过程如下图所示。
当外网用户访问内网服务器时,NAT设备的处理过程如下:
当外网用户访问内网服务器的报文到达设备时,设备将报文中的目的IP地址由公网IP地址转换为内网IP地址。
当回程报文返回至设备时,设备再将报文中的源地址由内网IP地址转换为公网IP地址。
双向NAT指的是在转换过程中同时转换报文的源信息和目的信息。
双向NAT主要应用于内网用户希望通过公网地址来访问内部服务器的场景。
当内网用户使用公网地址访问内网服务器时,NAT设备的处理过程如下:
内网用户使用公网地址访问内网服务器的报文到达设备。
设备将报文中的目的IP地址由公网IP地址转换为指定的内网IP地址。
设备从源NAT地址池中选择一个公网IP地址替换报文的源IP地址,并建立会话表,然后将报文发送至服务器。
设备收到服务器的响应报文后,通过查找会话表匹配到建立的表项,将报文的源地址和目的地址替换回原先的IP地址,然后将报文发送回内网用户。
设备支持多种NAT方式,可以实现公网IP地址和私网IP地址的单向或双向转换;支持的NAT方法包括:
l 静态NAT
l 动态NAT
l PAT
静态NAT是将原地址固定地翻译为映射地址,无论出入方向。如图1所示,10.1.0.3与59.108.29.187建立了一对一的静态映射。与动态NAT和PAT不同,静态NAT是固定的翻译,所以目标网络也可以访问原网络。
图1 静态NAT示例
动态NAT把一组原IP地址翻译成可以在目标网络路由的映射地址池。映射地址池中的地址数量可以比原IP地址少。翻译的过程是原地址和映射地址一一对应的。该对应仅仅是在该会话有效的时候存在,当会话失效后,对应就消失了。如图2 所示,10.1.0.[3-8]被翻译成59.108.29.[90-99],实现和外网的通讯。但是对于外网的机器来说,10.1.0.[3-8]是不可见的。
图2 动态NAT示例
PAT又称为端口映射,它实现的是多个IP映射为一个外网IP。在地址转换的过程中,将原地址和原端口转换成映射的地址和大于1024以上的端口。每个连接都要有一个独立的转换,因为不同的连接的原IP的源端口是不同的。如图3 ,10.1.0.3:1025和10.1.0.3:1026需要不同的转换过程。PAT能够非常有效地利用现有的Internet公网IP地址资源。
图3 PAT示例
CMG6000系列网关可以实现对上述各类NAT的细粒度控制,使NAT功能完全与用户的需求进行匹配,非常灵活方便。用户可以从以下维度进行NAT策略控制:
l 哪些地址需要进行NAT。
l 什么时间段内进行NAT。
l 目标地址为多少的时候进行NAT。
l 哪些服务要做NAT。
l 对指定的端口范围进行NAT。