您现在的位置是:首页 > 运维运维

源 NAT源地址进行转换

谜团 2018-03-16 00:00:00【运维】人已围观

简介源 NAT
技术通过对报文的源地址进行转换,使大量私网用户可以利用少量公网 IP 上网,大
大减少了对公网 IP 地址的需求。源 NAT 转换的过程:当上网流量到达防火墙时,报文的私网源 IP 将被转换为公

NAT产生背景:IP地址缺乏;
 NAT
技术通过对报文的源地址进行转换,使大量私网用户可以利用少量公网 IP 上网,大
大减少了对公网 IP 地址的需求。源 NAT 转换的过程:当上网流量到达防火墙时,报文的私网源 IP 将被转换为公
网 IP;当回程报文到达防火墙时,报文的公网目的 IP 将被转换为私网 IP。整个 NAT 转换过程对于内、外网主机来说是完全透明的。 
 
NAT地址
防火墙在应用源 NAT 功能时就是从地址池中挑选出一个公网 IP,然后对私网 IP 进行转换。挑选哪个公网 IP 是随机的,和配置时的顺序、IP 大小等因素都没有关系。
例1 创建一个 NAT 地址池(以 eNSP 中的 USG5500 系列为例)nat address-group 1 202.169.1.2 202.169.1.5                                         
内网用户群(10.10.2.1-10.10.2.10)最初都在一个区域内,有两个公网 IP(210.1.1.10 和 210.1.1.11)可用于做 NAT 转换,由于无需对这些用户进行区分,所以可将2个公网IP放在同一地址池内。上网流量到达防火墙后,将从地址池中随机选取一个公网 IP 做 NAT 转换。
网络运行一段时间后,需要对用户进行区分,使用户群 1(10.10.2.1-10.10.2.5)和用户群 2
(10.10.2.6-10.10.2.10)以不同的公网 IP 上网。由于 NAT 转换是随机选取公网 IP 的,所以2 个公网 IP 在同一地址池内是无法满足此要求的。此时可将 2 个公网 IP 分别放在不同的地址池内,并指定用户群 1 使用地址池 1 做 NAT 转换,用户群 2 使用地址池 2 做 NAT 转换,这样,两个用户群做 NAT 转换后的 IP 就是不同的了。
华为防火墙支持的源 NAT 功能如下表所示:

源 NAT 类型 私网 IP 和公网 IP 的数量对应关系 是否转换端口
NAT No-PAT 一对一
NAPT 多对一
出接口地址方式(easy-ip) 多对一
Smart NAT(仅高端防火墙 USG9000 系列支持) 一对一(预留 IP 做多对一转换) 否(预留IP做端口转换)
三元组 NAT(仅高端防火墙 USG9000 系列支持) 多对一,多对多
 
 
在 FW 上配置源 NAT 模式,选择为 no-pat;将公网 IP 地址 202.30.1.1 和 202.30.1.2 加入NAT 地址池 1;配置 NAT 策略,即对流量设置各种要求项,只有完全匹配上这些要求的流量才能利用 NAT 地址池 1 中的 IP 做 NAT 转换(如果要针对源 IP 设置 NAT 策略,那么应该是做源 NAT 转换前的 IP)。
“No-PAT”表示不进行端口转换,所以 NAT No-PAT 只转换 IP 地址,故也称为“一对一 IP地址转换。示例如下:
 
例2
nat address-group 1 202.30.1.1 202.30.1.2                                        
nat-policy interzone trust untrust outbound                                       
policy 1                                                                      
action source-nat                                                              
policy source 192.168.0.0 0.0.0.255                                               
address-group 1 no-pat //使用地址池 1 做 NAT No-PAT 转换       
 
 安全策略和 NAT 策略在字面上长的挺像,但是二者各司其职:
安全策略检验是否允许流量通过,NAT 策略检验是否对流量进行 NAT 转换。
防火墙检验流量是否符合安全策略的操作发生在检查 NAT 策略之前,所以如果要针对源 IP 设置安全策略,则该 IP 应该是做源 NAT
转换前的 IP。 
例3.配置安全策略
policy interzone trust untrust outbound                                                
policy 1                                                                         
action permit                                                                    
policy source 192.168.0.0 0.0.0.255                                                  
 
例4.配置路由黑洞
黑洞路由是一个让路由“有来无回”的路由,它的效果就是让设备丢弃命中该路由的报文。
针对地址池中的公网 IP 必须配置黑洞路由,目的是防止产生路由环路(如果地址池中的公网ip地址和出口地址在一个网段,可以不用配置;如果不在同一个网段,必须配置路由黑洞)。
ip route-static 202.30.1.1 255.255.255.255 NULL0
ip route-static 202.30.1.2 255.255.255.255 NULL0
从 PC1 上 ping PC2,在 FW 上查看会话表和 Server-map 表。从会话表中可以看到 PC1(192.168.0.2)的 IP 进行了 NAT 转换(中括号[ ]内的是 NAT 转换后的 IP 和端口),而端口没有转换。 
从 Server-map 表中可以看到 NAT 类型是 No-PAT、NAT 转换前后的 IP 地址,由于端口没有转换,所以并没有显示端口信息。这里可以注意到正、反向 Server-map 表中的目的 IP 均为any,也就是说只要 Server-map 表没有老化,理论上任何外网主机只要知道 NAT 转换后的IP,都可以主动访问内网主机的公网 IP。
 
从 PC1 上 ping Server 2,在 FW 上再查看会话表和 Server-map 表。做 NAT 转换后的公网 IP 还是 202.30.1.1。说明:做源 NAT 时,虽然选择哪个公网 IP 是随机的,但是这个公网 IP 由私网源 IP 决定。只要私网源 IP 不变、地址池相关配置不变,同一个私网源 IP 就会固定的转换为同一个公网 IP。 
NAPTNAPT 表示网络地址端口转换,即同时对 IP 地址和端口号进行转换,也可称为 PAT(PAT 不是只转换端口号的意思,而是 IP、端口号同时转换)。NAPT 是最常用的源 NAT 技术之一,他可以实现用少量公网 IP 满足大量私网用户上网的需求。
NAPT 和 NAT No-PAT 在配置上的区别仅在于选择不同的源 NAT 模式:NAPT 的 nat-policy在指定 NAT 地址池时,不配置命令关键字“no-pat” 
例 5 NAPT 和 NAT No-PAT 配置上的差异点
nat-policy interzone trust untrust outbound
policy 1                               
address-group 1 //不配置 no-pat        
从 PC1 上 ping PC2,在 FW 上查看会话表。可以看到源 IP 和源端口都做了 NAT 转换,而且端口号是顺序转换的。 
再看 Server-map 表,没有显示信息?没错,NAPT 就是没有 Server-map 表!原因其实很好理解,NAPT 主要用于让大量用户上网,如果每个连接都建立 Server-map 表,则会占用大量的设备资源。
 
从 PC1 上 ping Server 2,在 FW 上查看会话表。我们发现 NAPT 也是由源 IP 决定转换后的公网 IP,且端口顺序转换。端口从 2048 开始转换的现象说明:对于不同的连接来说, NAT处理过程是彼此独立的。只要五元组不完全相同,就不用担心 NAT 转换冲突的问题(对于现在的网络通信来说,五元组完全一致的情况发生概率非常小)。 
出接口地址方式(easy-ip)
出接口地址方式是利用出接口的公网 IP 做源 NAT 转换,适用于公网 IP 非常少或接口动态获取 IP 的场景(仅中低端防火墙支持接口动态获取 IP)。 easy-ip 的 NAT 转换方式和 NAPT 一样,都是同时转换 IP 和端口。但是在具体配置上,高端防火墙和中低端防火墙是不一样的:
  • 高端防火墙需要配置 NAT 地址池,并将出接口IP 配置在地址池中。实际上就是配置 NAPT功能,只不过出接口 IP 和 NAT 地址池中的 IP 一样了。
  • 中低端防火墙不需要配置 NAT 地址池,而是在 NAT 策略中指定做 easy-ip 转换。

easy-ip 无需配置 NAT 地址池,只需在 NAT 策略中指定利用哪个接口做 easy-ip。安全策略的配置可以参考上面的 NAT No-PAT,easy-ip 不用配置黑洞路由。  6 配置 easy-ip
#
nat-policy interzone trust untrust outbound                                 
policy 1                                                                 
action source-nat                                                        
source-address 192.168.0.0 0.0.0.255                                       
easy-ip GigabitEthernet0/0/3 //源 NAT 转换后的公网 IP 为接口 GE0/0/3 的 IP
分别从PC1和PC2上ping Server,查看到会话表如下所示(部分PC1的会话已老化,GE0/0/3
的 IP 是 210.10.2.1/24)。可以看到源 IP 和端口都做了 NAT 转换,且转换后的端口是顺序增大的。这说明:虽然源 IP 不同,但是 NAT 转换都走同一个流程,所以端口号顺序增大。此外,和 NAPT 一样,easy-ip 也是没有 Server-map 表的。
 
 

内容来自我们的网络工程师聪聪源文件下载
 

很赞哦! ()

文章评论

热评榜