配置NAT Server时,如果内网服务器的私网端口和其对外发布的公网端口同时使用了非知名端口,则需要配置端口映射功能,使设备可以将这些访问非知名端口的报文识别为知名服务的报文。
直接将设备接口的地址配置为NAT Server的公网地址后,无法通过该接口的地址对设备进行管理,也无法对设备进行Ping探测。如果在实际应用中确实需要将设备接口的地址配置为NAT Server的公网地址,又需要通过该接口的地址对设备进行远程管理,可以在配置NAT Server时选择允许端口转换,并配置协议和端口号,以缩小地址和端口转换的范围,从而避免与访问设备本身的需求相冲突。
不建议公网地址同时被NAT地址池和NAT Server使用,如果必须使用,需要精细配置NAT Server映射的公网地址和端口,并在地址池中排除该端口。当公网地址同时被NAT地址池和NAT Server使用时,可能会出现Server-map或会话表项冲突,导致地址转换失败。
配置NAT Server时,对于同一个内部服务器发布多个公网IP供外部网络访问的场景,如果不同公网IP所在的链路规划在同一个安全区域,必须通过配置指定no-reverse参数的NAT Server来实现。另外,指定no-reverse参数后,内部服务器将无法主动访问外部网络。
NAT Server配置的公网地址不能与地址池中排除的公网地址相同,否则将无法进行ARP代答,影响NAT Server的使用。
NAT Server跨VPN的场景,不支持在NAT Server跨VPN后,再配置跨VPN的路由转发。
比如:NAT Server配置的跨VPN为A->B,再配置跨VPN路由从B->C,此时业务不通。需要NAT Server配置跨VPN为A->C。
对于服务端通过NAT Server主动发起访问的场景,也有同样的配置限制。
配置动态目的NAT策略时,如果对外提供的公网地址与公网接口地址同网段,则需要在对端设备配置静态ARP将流量引到设备上,否则设备接收不到流量。
NAT策略配置目的NAT或者双向NAT时,不支持下发OPR路由,为了防止路由环路,需要手工配置到转换前的目的IP地址的黑洞路由。
目的NAT策略不允许采用配置目的安全区域和出接口。
当策略规则的地址使用domain-set参数时,请先了解设备的实现机制:当一个IP地址对应多个域名时,则一个IP地址最多支持查找128个域名,如果策略规则中的域名不在这128个已查到的域名中,则无法命中策略,建议将相同IP地址的多个域名配置在同一个策略规则中。
通过nat statistics enable开启NAT地址池统计功能时,统计期间中性能下降5%左右。 在NAT地址池统计的10秒内,CPU使用率会有一定的上升(5%左右),统计完成后CPU使用率恢复正常。
更改NAT配置后,NAT策略和NAT Server相关的会话会刷新。NAT策略中地址池的变更会在经过策略加速的延迟时间后刷新会话。如果希望配置立即生效,则需要使用reset firewall session table命令清除相关的会话表信息。清除会话表信息时,可以使用reset firewall session table命令带上指定参数进行小范围清除,否则将导致业务中断。
在负载分担方式的双机热备组网中,地址池模式不能为三元组模式(包括静态映射),只能为PAT模式(包括端口预分配,不支持增量分配)和NO-PAT模式。
USG6000F-E
根系统上的NAT地址池不能与虚拟系统中分配的公网IP地址冲突。
透明模式下(业务接口工作在交换模式)的源NAT的配置,设备采用地址池中的地址作为转换后的源地址,不能够采用Easy-ip方式。
针对SCTP协议,NAT业务只采用转换IP,不能转换端口号
对于RAW IP报文(即传输层不是TCP、UDP和ICMP的IP报文),不带UDP/TCP报文头的RAW IP报文无法命中NAT策略进行地址转换(AH、ESP、GRE报文除外)。
对于配置指定协议和端口的NAT Server并且NAT Server的Global地址和公网接口地址不在同一网段时,必须配置黑洞路由。当公网用户主动访问NAT Server的global地址时,本设备收到此报文后,无法匹配到会话表,根据缺省路由转发给其他路由设备,其他路由设备收到报文后,查找路由表再转发给本设备。此报文就会在本设备和其他路由设备之间循环转发,造成路由环路。因此需要配置黑洞路由。
对于配置指定协议和端口的NAT Server并且NAT Server的Global地址和公网接口地址在同一网段时,建议配置黑洞路由。在这种情况下,不会产生路由环路。但当公网用户发起大量访问时,设备将发送大量的ARP请求报文,也会消耗系统资源。因此需要配置黑洞路由,避免设备发送ARP报文请求报文,节省设备的系统资源。可以使用ip route-staticip-address NULL 0命令手工进行配置,也可以在nat server命令下配置route参数进行配置OPR路由。该OPR路由的作用与黑洞路由的作用相同,可以防止路由环路。当NAT Server的Global地址与公网接口地址一致时,设备收到公网用户的报文后,如果能匹配上Server-map表,就转换目的地址,然后转发到私网;如果不能匹配上Server-map表,就会认为是访问自身的报文,这时候取决于公网接口所属安全区域和Local安全区域之间的安全策略,安全策略允许通过,就处理;安全策略不允许通过,就丢弃。不会产生路由环路,不需要配置黑洞路由。
配置三元组NAT时,必须将根据HASH选择CPU的模式设置为源地址HASH模式。
双机热备场景下,NAT策略中的源或目的地址不允许包含心跳接口IP地址,以免心跳报文被NAT转换引发心跳链路通信异常。
配置三元组NAT时,建议配置Smart三元组NAT功能,这样可以将一些仅需内部主动访问外部的应用流量(比如单向访问外部网站)排除不进行三元组NAT转化,以此来减少系统资源的消耗。
当NAT与VPN功能同时工作时,请精确定义NAT策略的匹配条件,确保NAT功能不会将需要进行VPN封装的数据流做地址转换。
设备不能够对GRE和AH报文的NAPT方式的转换。当设备收到GRE或AH报文时,根据NAPT配置将报文的端口置为0,然而设备反向接收到的报文没有端口信息,正反向报文端口信息不匹配。
如果应用了IPSec安全策略组的接口接收到的报文命中NAT,则由于设备先执行NAT相关配置,可能会导致IPSec配置不生效。可分为三种情况进行处理:如果报文只做IPSec不做NAT,则需要创建NAT策略,将NAT策略匹配条件中的地址设置为IPSec策略中引用的ACL规则的IP地址,并将动作设置为“no-nat”。如果报文只做NAT不做IPSec,则IPSec策略引用的ACL规则的IP地址不可引用NAT转换后的IP地址。如果报文同时做IPSec和NAT,则IPSec策略引用的ACL规则的IP地址需要引用NAT转换后的IP地址。
双机热备场景下,NAT地址池不允许包含主机、备机接口的IP地址。如果NAT地址池包含了接口的IP地址,上行设备请求该地址池IP的ARP的时候,主机和备机都会回应,导致ARP冲突。
在非镜像模式的双机热备组网中,不能使用Easy IP方式的NAT策略。Easy IP是直接使用出接口的公网IP地址作为NAT转换后的地址,在非镜像模式的双机热备场景中,如果使用Easy IP,则NAT转换后的地址是主机的接口IP地址,上行设备学习到的公网IP地址对应的MAC地址只属于主机,当主备倒换后,外网到内网的流量无法切换到新升的主机上,导致业务中断。
当修改HASH模式或HASH因子且立即生效时,会造成NAT业务的短暂中断。待业务的会话重新建立后,业务恢复正常。
地址池中的IP地址可以与NAT Server的公网IP地址、接口IP地址重叠。但是配置NAT No-PAT、三元组NAT这两种源NAT时,请不要将设备接口的地址配置为NAT地址池的地址。因为这两种源NAT会生成动态Server-map表,报文到达设备时优先查询Server-map表,会影响对设备本身的访问。
因为设备不支持对GRE协议内层报文做NAT转换,所以当设备上开启了针对GRE协议的NAT转换功能后,不能开启GRE隧道的keepalive功能,否则会导致隧道状态异常。
当NAT地址池地址与出接口地址不在同一网段时,必须配置黑洞路由。当公网用户主动访问NAT地址池中的地址时,本设备收到此报文后,无法匹配到会话表,根据缺省路由转发给其他路由设备,其他路由设备收到报文后,查找路由表再转发给本设备。此报文就会在本设备和其他路由设备之间循环转发,造成路由环路。因此需要配置黑洞路由。
当NAT地址池地址与出接口地址在同一网段时,建议配置黑洞路由。在这种情况下,不会产生路由环路。但当公网用户发起大量访问时,设备将发送大量的ARP请求报文,也会消耗系统资源。因此需要配置黑洞路由,避免设备发送ARP报文请求报文,节省设备的系统资源。可以使用ip route-static ip-address NULL 0命令手工进行配置,也可以使用route enable命令配置OPR路由。该OPR路由的作用与黑洞路由的作用相同,可以防止路由环路。当NAT地址池地址与出接口地址一致时,设备收到公网用户的报文后,发现是访问自身的报文,这时候取决于出接口所属安全区域和Local安全区域之间的安全策略,安全策略允许通过,就处理;安全策略不允许通过,就丢弃。不会产生路由环路,也不需配置黑洞路由。
当NAT策略中需要指定源IP地址时,源IP地址应该设置为NAT转换前的私网IP地址;如果与NAT Server配合使用时,当NAT策略中需要指定目的IP地址时,目的地址应该为NAT Server的私网地址。
双机热备的负载分担场景下,当NAT方式是NAPT模式时,必须在一台设备上配置hrp nat resource primary-group命令,另外一台设备上配置hrp nat resource secondary-group命令,将地址池中地址的端口分为前后两端,保证NAT地址池端口不冲突。当NAT方式是NAT NO-PAT模式或用户数量限制NAT时,必须执行nat resource load-balance enable命令,将地址和端口的分配转移到同一台设备上执行,保证两台设备分配到的地址和端口不冲突。开启该命令后,心跳口的流量会有所增加(增加大小视现网业务大小而定,一般为首包流量大小),需要确定心跳口的带宽是否足够。