防火墙默认开启dns的alg功能,是不会把域名服务器回应的服务器公网地址反回给客户端的,只返回内网地址。 p_w_picpath

NAT设备对来自外网的DNS相应报文进行DNS ALG处理时,由于载荷中只包含域名和应用服务器的外网IP地址(不包含传输协议类型和端口号),当接口上存在多条NAT服务器配置且使用相同的外网地址而内网地址不同时,DNS ALG仅使用IP地址来匹配内部服务器可能会得到错误的匹配结果。因此需要借助DNS mapping的配置,指定域名与应用服务器的外网IP地址、端口和协议的映射关系,由域名获取应用服务器的外网IP地址、端口和协议,进而(在当前NAT接口上)精确匹配内部服务器配置获取应用服务器的内网IP地址。

nat server没有做端口映射

如nat server global 124.250.45.21 inside 10.16.8.220

开启了ALG功能后,不会出现域名服务器返回的公网地址的内网地址错误现象。

nat server做端口映射

如果一个公网地址不同端口对应不同的内网的地址,就会出现内网地址紊乱,因为公网解析到的是一个公网地址,但经过防火墙nat server 内网地址有多个的话,返回给内网用户的就不知道是哪个了。 解决方法是配置DNS mapping

nat dns-map domain www.server.com protocol tcp ip 202.38.1.2 port http
nat dns-map domain ftp.server.com protocol tcp ip 202.38.1.2 port ftp