內(nèi)網(wǎng)用戶通過域名或公網(wǎng)IP訪問內(nèi)部服務(wù)器的解決辦法
內(nèi)網(wǎng)用戶通過域名或公網(wǎng)IP 訪問內(nèi)部服務(wù)器的解決辦法統(tǒng)而言之,通常出現(xiàn)在定義內(nèi)部用戶NAT 訪問互聯(lián)網(wǎng)與定義服務(wù)器為同一網(wǎng)段、同一區(qū)域、同一網(wǎng)絡(luò)設(shè)備的網(wǎng)絡(luò)環(huán)境,因為這樣會使報文來回的路徑會不一致或其它
內(nèi)網(wǎng)用戶通過域名或公網(wǎng)IP 訪問內(nèi)部服務(wù)器的解決辦法
統(tǒng)而言之,通常出現(xiàn)在定義內(nèi)部用戶NAT 訪問互聯(lián)網(wǎng)與定義服務(wù)器為同一網(wǎng)段、同一區(qū)域、同一網(wǎng)絡(luò)設(shè)備的網(wǎng)絡(luò)環(huán)境,因為這樣會使報文來回的路徑會不一致或其它原因,導(dǎo)致訪問中斷。
一、思科設(shè)備示例
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
內(nèi)部網(wǎng)絡(luò)主機的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
二、華為與華三設(shè)備示例
[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
注意事項:較早的系統(tǒng)版本可能沒有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
三、天融信設(shè)備示例
企業(yè)WEB 服務(wù)器(IP :172.16.1.2)通過防火墻MAP 為202.99.27.201對內(nèi)網(wǎng)用戶提供WEB 服務(wù),網(wǎng)絡(luò)示意圖如下
如上圖所示,管理主機和WEB 服務(wù)器同樣處于網(wǎng)段172.16.1.0/24。正常情況下,管理主機與服務(wù)器之間的通信可以不經(jīng)過防火墻,而經(jīng)過其他路由達成。但是當(dāng)管理主機使用公網(wǎng)地址(或域名)訪問服務(wù)器時,數(shù)據(jù)包的源IP 為管理主機地址,目的地址為服務(wù)器公網(wǎng)地址。如果防火墻僅作目的NAT ,則服務(wù)器收到數(shù)據(jù)包的源IP 為管理主機地址,目的地址為自身地址。當(dāng)其回應(yīng)管理主機時,發(fā)出的數(shù)據(jù)包會不經(jīng)過防火墻,而經(jīng)過其他路由達成。此情況會導(dǎo)致會話無法建立。因此需要設(shè)置雙向地址轉(zhuǎn)換規(guī)則。
配置命令:
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 規(guī)則時,可以將源IP 轉(zhuǎn)換為任意一個虛擬IP 地址,本例中將源地址轉(zhuǎn)換為了防火墻eth0口的IP 。
一點說明:思科設(shè)備下未做測試。