由于配置NAT Server双出口导致用户访问内部服务器地址受限

发布时间:  2015-09-24 浏览次数:  476 下载次数:  0
问题描述

如图所示,很多公司都拥有两个ISP的出口,比如电信和网通。公司内部署了内部服务器供外网用户访问。要求内部服务器私网地址10.1.1.1分别针对电信用户和网通用户在防火墙上配置两个NAT Server,供不同用户访问,即NAT Server双出口功能。

配置完成后发现,电信用户可以通过公网地址2.2.2.2访问内部服务器,网通用户也可以通过公网地址3.3.3.3访问内部服务器,但网通用户无法访问电信公网服务器地址2.2.2.2,电信用户也无法访问网通公网服务器地址3.3.3.3。

 

处理过程
在配置NAT Server双出口过程中,通常采用以下两种方式:

1、基于不同安全区域进行配置,将电信用户和网通用户分别划入不同安全区域,分别提供不同的公网IP地址。

此方式下,内部服务器主动访问外网时基于不同的安全区域来选择相应的反向表做地址映射。

[sysname] nat server zone zone1 global 2.2.2.2 inside 10.1.1.1
[sysname] nat server zone zone2 global 3.3.3.3 inside 10.1.1.1

zone1对应电信用户所在安全区域;zone2对应网通用户所在安全区域。

2、配置no-reverse参数,取消反向表的建立。

此方式下,通常不允许内部服务器主动访问外网,如果内部服务器需要主动访问外网,则要针对此服务器在上另外配置基于源IP地址的NAT功能。

[sysname] nat server global 2.2.2.2 inside 10.1.1.1 no-reverse
[sysname] nat server global 3.3.3.3 inside 10.1.1.1 no-reverse

完成上述配置后,电信用户可以通过2.2.2.2地址访问内部服务器,网通用户可以通过3.3.3.3地址访问内部服务器。

当电信用户访问网通服务器的地址3.3.3.3时,报文到达,根据正向映射表将3.3.3.3转换为10.1.1.1,并将报文送到内部服务器;内部服务器回应报文到达后,命中会话表,通过查找路由,发现是送往电信用户的报文,则就近将报文从电信用户直连接口送出,即报文从网通用户接口到达,但从电信用户接口送出。

此时,如果电信用户与之间还部署了其他防火墙设备,并且这个防火墙设备配置了链路状态检测功能,对于来回路径不一致的报文,不允许通过,最后导致报文被丢弃。

根因

通常内部服务器以公网地址对外提供访问时,我们是通过配置全局的NAT Server来实现的。每配置一条NAT Server后会生成两张全局映射表,一张是正向映射表,用于外网用户访问内部服务器时的地址转换映射;一张是反向映射表,用于内部服务器主动访问外网时的地址映射。

当内部服务器一个私网IP地址映射成两个公网IP地址时,会建立两个反向映射表,这种情况下当内部服务器主动访问外网时,会有两个映射关系,这是不允许的。

建议与总结
配置NAT Server双出口功能主要是为了实现外网用户就近访问,建议网通用户通过网通的公网IP地址访问内部服务器,电信用户通过电信公网IP地址访问内部服务器,从而实现快速访问,尽量避免交叉访问,以免影响正常业务。

END