内网用户通过域名或公网IP访问内部服务器的解决办法

内网用户通过域名或公网IP 访问内部服务器的解决办法统而言之,通常出现在定义内部用户NAT 访问互联网与定义服务器为同一网段、同一区域、同一网络设备的网络环境,因为这样会使报文来回的路径会不一致或其它

内网用户通过域名或公网IP 访问内部服务器的解决办法

统而言之,通常出现在定义内部用户NAT 访问互联网与定义服务器为同一网段、同一区域、同一网络设备的网络环境,因为这样会使报文来回的路径会不一致或其它原因,导致访问中断。

一、思科设备示例

1.1 Router示例

Router(config)# interfacee0/0

Router(config-if)#ip add 192.168.1.1 255.255.255.0

Router(config-if)#ipnat inside

Router(config)# interfacee0/1

Router(config-if)#ip add 202.101.1.46 255.255.255.248

Router(config-if)#ipnat 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)#ipdns 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

classinspection_default

inspectdns 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]natdns-map www. long2012.cn 202.101.1.45 80 tcp

[h3c]natdns-map ftp. long2012.cn 202.101.1.45 21 tcp

注意事项:较早的系统版本可能没有natdns-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 addnameWEB_serveripaddr 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 。

一点说明:思科设备下未做测试。

标签: