標籤:防火牆 address protocol 網站伺服器 number
拓撲如下:
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/7F/96/wKiom1cjLiuRHteCAAAm_KwrOak905.png" title="1.png" alt="wKiom1cjLiuRHteCAAAm_KwrOak905.png" />
環境描述:
內網兩個網段通過防火牆的NAT功能上網,內部WEB伺服器:10.1.20.200 映射到公網80連接埠,配置資訊如下:
acl number 2000 description NAT_SOURCE rule 5 permit source 10.1.20.0 0.0.0.255 rule 10 permit source 192.168.10.0 0.0.0.255
interface GigabitEthernet0/0 port link-mode route nat outbound 2000 nat server 20 protocol tcp global current-interface 80 inside 10.1.20.200 80 ip address 124.133.33.223 255.255.255.0
interface GigabitEthernet0/1 port link-mode route ip address 172.19.10.253 255.255.255.0
經過以上配置後,公網可正常訪問WEB伺服器,但如果內網使用者使用公網地址124.133.33.223訪問WEB伺服器時會失敗,網上大多數參考資料分析的流量過程如:
650) this.width=650;" src="http://s2.51cto.com/wyfs02/M00/7F/96/wKiom1cjMeqS3UIiAABxECxegVU162.png" title="2.png" alt="wKiom1cjMeqS3UIiAABxECxegVU162.png" />
分析:
用戶端發出的請求經過防火牆的映射轉換,修改了資料包的目的地址,資料最終由WEB伺服器直接發送到了用戶端,而此回複被用戶端判定為非法的(請求的是124.133.33.223但得到的10.1.20.200的回複),導致訪問失敗。
我使用的H3C F100-SG 防火牆, 在10.1.20.200 WEB服務端通過抓包發現,此過程並未發生,即用戶端的請求資料並未達到WEB服務端,而是在達到防火牆後便中斷了傳輸。此現象說明,資料包在到達防火牆之後,防火牆並未做相應的連接埠映射操作,而是經過了路由判斷之後作為訪問本地的服務進行了處理。
說明:正常情況下,訪問124.133.33.223的80連接埠會經過映射轉換,但此時並未發生,而是直接當做訪問本地80連接埠這一操作進行了處理,例如: 如果防火牆的web管理連接埠是80,此時我們內網通過公網地址訪問80連接埠時,會得到防火牆的web管理介面,此操作已經過實驗證實。
其實通過配置資訊也能看出來,我的DNAT是在WAN(0/0)口上做的配置,外網使用者的請求從此連接埠進入首先會經過DNAT的映射轉換,然後經過路由判斷之後轉寄給了WEB伺服器,而內部用戶端的流量是從LAN(0/1)口進入,所以並未發生DNAT轉換,而是直接進行了路由判斷(發送給自己,自己處理)。
以上現象流量圖如下:
650) this.width=650;" src="http://s4.51cto.com/wyfs02/M01/7F/97/wKiom1cjO2GyOOTdAABv0mPztu8708.png" title="3.png" alt="wKiom1cjO2GyOOTdAABv0mPztu8708.png" />
如果想實現內網用戶端正常訪問WEB伺服器,首先要做的就是實現DNAT的轉換,既然此配置只在所屬介面上起作用,那麼就在LAN口上做一下配置即可; 實現此操作之後,流量便引到了WEB伺服器上,即文章中第二張圖所顯示的流量過程,此時訪問失敗的原因就是WEB伺服器直接回複了用戶端的請求,如果讓WEB伺服器的回複資料再次經過防火牆,並進行DNAT的映射還原作業即可,我們通過配置LAN口的SNAT來實現,配置如下(其他配置不變,只修改LAN口配置):
interface GigabitEthernet0/1 port link-mode route nat outbound 2000 nat server 20 protocol tcp global 124.133.33.223 80 inside 10.1.20.200 80 ip address 172.19.10.253 255.255.255.0
流量圖如下:
650) this.width=650;" src="http://s4.51cto.com/wyfs02/M01/7F/97/wKiom1cjP1zzqkppAACHcS9gZYg079.png" title="4.png" alt="wKiom1cjP1zzqkppAACHcS9gZYg079.png" />
用戶端的請求流量被防火牆的DNAT引到WEB伺服器,因為防火牆的之前的SNAT操作,使得WEB伺服器的回複資料必須再次經過防火牆,防火牆經過NAT的映射關係進行還原作業,最終回複資料達到用戶端。
本文出自 “逆行者” 部落格,請務必保留此出處http://lingyi.blog.51cto.com/2837715/1769079
H3C防火牆——迴環流量問題(內網終端通過外網IP訪問內部伺服器)