在使用防火牆發佈內網服務器的狀況下,咱們會遇到這樣的問題,內網經過服務器映射後的公網IP地址沒法訪問內部服務器,偏偏用戶又須要內外網來回移動必須使用公網IP而沒法使用內網IP來訪問。做爲一個普普統統的需求,卻成了個難題,各廠家也給出瞭解決方案。服務器
這裏以Cisco ASA5510防火牆爲例,能夠嘗試以下解決辦法:tcp
默認狀況下,企業內網inside計算機沒法經過公網IP訪問到inside區域內的服務器。由於Cisco防火牆不容許inside入向流量不通過其它接口而直接從inside返回,若是出現這樣的數據包那麼防火牆會直接丟棄。ide
經過查詢互聯網信息,目前針對Cisco防火牆主要有3種,dns
第一種方式是Alias + static NAT,配置別名。接口
原理就是內部的計算機到外部進行DNS查詢時,ASA根據別名配置,將返回的公網IP替換成私網IP,這樣其實內部計算機直接使用私網IP訪問WWW服務器。(能夠使用ping 域名查看返回的IP地址進行驗證)域名
alias (inside) 192.168.0.2 111.10.8.1 255.255.255.255it
static (inside,outside) 111.10.8.1 10.201.80.17 netmask 255.255.255.255 dnsclass
第二種方式是DNS Doctoring + static NAT。原理
原理同Alias,是更新版本IOS的功能。在7.0以上的版本中已不推薦使用Alias(若使用了Alias,則ASDM會提示不支持Alias而沒法加載配置)。配置
第三種方式是 Hairpinning +static NAT。(須要7.2及7.2以上版本)
原理是容許inside進來的流量,未經其它接口出去而直接從inside接口返回。
相關的命令是:same-security-traffic permit intra-interface 俗稱:Hairpinning
摘取Hairpinning相關配置以下:
1、same-security-traffic permit intra-interface
!--- 啓用Hairpinning功能,容許流量直接原路徑返回。
2、nat (inside) 1 192.168.100.0 255.255.255.0
!--- 爲內網用戶訪問公網定義NAT。
3、global (outside) 1 interface
!--- 爲內網用戶訪問公網定義global地址。
4、global (inside) 1 interface
!--- 爲內網用戶使用Hairpinning訪問內部服務器定義global地址。
5、static (inside,outside) 8.8.8.8 192.168.1.8 netmask 255.255.255.255
!--- 使用Static NAT映身一臺服務器,公網IP 8.8.8.8,內網IP 192.168.1.8。
6、static (inside,inside) 8.8.8.8 192.168.1.8 netmask 255.255.255.255
!--- 爲Hairpinning流量返回路徑定義NAT映射:8.8.8.8 ----> 192.168.1.8。
7、access-list outside_access_in extended permit tcp any host 8.8.8.8 eq 80
!--- 配置ACL對外發布WWW服務,端口爲80。
8、access-group outside_access_in in interface outside
!--- 將ACL應用到外部接口。