域内NAT不通问题解决方法

发布时间:  2013-04-02 浏览次数:  307 下载次数:  0
问题描述
业务组网图:

防火墙通过nat server映射将公网IP地址映射到内网服务器上.内网用户通过nat outbound上公网.内网用户无法通过域内nat的方式访问内网服务器的公网IP地址.
告警信息
处理过程
原因是由于防火墙上配置的是基于域的nat server映射,上面
nat server 18 zone dx protocol tcp global 117.40.138.78  ftp inside 10.72.90.15 ftp
的配置,只有从dx域过来的报文访问117.40.138.78才会进行转化,而内网用户是trust域,所以从trust域过来的用户是不会命中nat server表项的.所以内网用户无法通过公网地址进行访问.
基于域的nat server的含义如下:
1. 从外网访问内网服务器时,如果想要命中基于域的nat server映射,则访问的客户必须属于该域.
2. 从内网访问出去,想要进行源nat转化,只有出域为该域的时候才会进行转换,如果配置了no-reverse选项,则不进行转换.
从上面两点的分析来看,要想解决内网用户通过公网地址访问内网服务器,可以有如下两个解决办法.
1. 配置基于全局的nat server.
nat server 18 protocol tcp global 117.40.138.78  ftp inside 10.72.90.15 ftp
nat server 19 protocol tcp global 220.248.219.177 ftp inside 10.72.90.15 ftp
由于上述两个无法同时配置下去,原因是10.72.90.15在进行源nat转化时,防火墙无法判断是转换成117.40.138.78还是220.248.219.177.所以如果要配置下去,则需要增加no-reverse参数,不允许内网服务器主动访问出去的时候,进行nat转换.配置修改成如下:
nat server 18 protocol tcp global 117.40.138.78  ftp inside 10.72.90.15 ftp no-reverse
nat server 19 protocol tcp global 220.248.219.177 ftp inside 10.72.90.15 ftp no-reverse
2. 增加基于trust域的nat server配置.
上面已经有了基于dx和lt域的nat server,如果内网用户也想通过公网地址访问内网服务器,则在trust域内也增加一个nat server.配置如下:
nat server 20 zone trust protocol tcp global 117.40.138.78  ftp inside 10.72.90.15 ftp
原先两个nat server保留不变.
nat server 18 zone dx protocol tcp global 117.40.138.78  ftp inside 10.72.90.15 ftp
nat server 19 zone lt protocol tcp global 220.248.219.177 ftp inside 10.72.90.15 ftp
修改后进行ftp测试验证,察看防火墙会话如下:
    ftp VPN: public -> public
   Zone: trust-> trust TTL: 00:02:00  Left: 00:01:59
    Interface: G0/0/2  Nexthop: 192.168.201.2  MAC: 00-00-00-00-00-00
    <-- packets:11 bytes:2564   --> packets:21 bytes:3564
    192.168.12.24:4236[1.1.1.1:32814]--> 117.40.138.78:23[10.72.90.15:23]
根因
 客户对外体现有两个域,一个是dx(电信),一个是lt(联通),对内是trust域,所以外网在访问内网服务器的时候,防火墙上配置了基于域的NAT SERVER,举例如下:
nat server 18 zone dx protocol tcp global 117.40.138.78  ftp inside 10.72.90.15 ftp
nat server 19 zone lt protocol tcp global 220.248.219.177 ftp inside 10.72.90.15 ftp
所有从dx域过来的访问117.40.138.78的ftp业务,可以映射到内网服务器10.72.90.15上,从lt域过来的访问220.248.219.177的ftp业务,也可以映射到内网服务器10.72.90.15上.
   客户使用域内nat的功能,想让内网用户也通过公网地址访问内网服务器,
nat address-group 10 1.1.1.1 1.1.1.1
nat-policy zone trust
policy 0
  action source-nat
  address-group 10
但是内网用户一直无法访问.从ftp会话来看,并没有作目的nat映射.
  ftp VPN: public -> public
  Zone: trust-> dx  TTL: 00:00:05 Left: 00:00:04
  Interface: G0/0/1  Nexthop: 117.40.138.65  MAC: 00-00-00-00-00-00
  <-- packets:0 bytes:0   --> packets:0 bytes:0
  192.168.12.24:3452[1.1.1.1:36847]--> 117.40.138.78:23
建议与总结
1. 从外网访问内网服务器时,如果想要命中基于域的nat server映射,则访问的客户必须属于该域.
2. 从内网访问出去,想要进行源nat转化,只有出域为该域的时候才会进行转换,如果配置了no-reverse选项,则不进行转换.

END