统而言之,通常出现在定义内部用户NAT访问互联网与定义服务器为同一网段、同一区域、同一网络设备的网络环境,因为这样会使报文来回的路径会不一致或其它原因,导致访问中断。
一、思科设备示例
1.1 Router示例
Router(config)# interfacee0/0
Router(config-if)#ip add 192.168.1.1 255.255.255.0
Router(config-if)#ip nat inside
Router(config)# interfacee0/1
Router(config-if)#ip add 202.101.1.46 255.255.255.248
Router(config-if)#ip nat outside
Router(config)# ipnat inside source static tcp 192.168.1.100 80 202.101.1.45 80
Router(config)# access-list1 permit 192.168.1.0 0.0.0.255
Router(config)# ipnat inside source list 1 interface e0/1 overload
Router(config)# iproute 0.0.0.0 0.0.0.0 202.101.1.41
Router(config)#ip dns server
Router(config)#ip domain-lookup
Router(config)#ip name-server 202.101.172.46
Router(config)#ip host long2012.cn 192.168.1.100
内部网络主机的DNS配置成192.168.1.1
1.2 Firewall示例
A方法:
static(inside,outside ) 202.101.1.45 192.168.1.100 netmask 255.255.255.255
access-list 100extended permit tcp any host 202.101.1.45 eq 80
access-group 100 in interface ouside
alias (inside)192.168.1.100 202.101.1.45 255.255.255.255
注意事项:某些FirewallIOS版本下,命令或不可成功,在policy-map添加一条命令即可:
policy-mapglobal_policy
class inspection_default
inspect dns maximum-length 512
B方法:
static(inside,outside ) 202.101.1.45 192.168.1.100 netmask 255.255.255.255dns
access-list 100extended permit tcp any host 202.101.1.45 eq 80
access-group 100 in interface ouside
二、华为与华三设备示例
[h3c] interface ethernet0/0/0
[h3c-ethernet0/0/0]ip address 202.101.1.45 255.255.255.248
[h3c-ethernet0/0/0]nat outbound 2000
[h3c-ethernet0/0/0]nat server protocol tcp global 202.101.1.45 www inside
192.168.1.100 www
[h3c-ethernet0/0/0]nat server protocol tcp global 202.101.1.45 ftp inside
192.168.1.100 ftp
[h3c-ethernet0/0/0]quit
[h3c] acl number 2000
[h3c-acl-basic-2000]rule 0 permit source 192.168.1.0 0.0.0.255
[h3c-acl-basic-2000]rule 1 deny
[h3c] interface ethernet1/0/0
[h3c-ethernet1/0/0] ip address 192.168.1.1 255.255.255.0
[h3c]nat dns-map www. long2012.cn 202.101.1.45 80 tcp
[h3c]nat dns-map ftp. long2012.cn 202.101.1.45 21 tcp
注意事项:较早的系统版本可能没有nat dns-map命令,可参照如下配置:
[h3c] acl number 3000
[h3c-acl-basic-3000] rule permit ip source 192.168.1.0 0.0.0.255 destination 192.168.1.100 0.0.0.0
[h3c] interface ethernet1/0/0
[h3c-ethernet1/0/0] nat outbound 3000
[h3c-ethernet1/0/0]nat server protocol tcp global 202.101.1.45 www inside 192.168.1.100 www
三、天融信设备示例
企业WEB服务器(IP:172.16.1.2)通过防火墙MAP为202.99.27.201对内网用户提供WEB服务,网络示意图如下
如上图所示,管理主机和WEB服务器同样处于网段172.16.1.0/24。正常情况下,管理主机与服务器之间的通信可以不经过防火墙,而经过其他路由达成。但是当管理主机使用公网地址(或域名)访问服务器时,数据包的源IP为管理主机地址,目的地址为服务器公网地址。如果防火墙仅作目的NAT,则服务器收到数据包的源IP为管理主机地址,目的地址为自身地址。当其回应管理主机时,发出的数据包会不经过防火墙,而经过其他路由达成。此情况会导致会话无法建立。因此需要设置双向地址转换规则。
配置命令:
define area addname E0 attribute eth0 access off
define area addname E1 attribute eth0 access on
define host addname WEB_server ipaddr 172.16.1.2
define host addname MAP_IP ipaddr 202.99.27.201
define host addname MAP_USERIP ipaddr 172.16.1.1
nat policy addsrcarea E0 orig_dst MAP_IP orig_service http trans_src MAP_USERIP trans_dstWEB_server
注意事项:定义双向NAT规则时,可以将源IP转换为任意一个虚拟IP地址,本例中将源地址转换为了防火墙eth0口的IP。