還是端口迴流問題 TCP協議解析

還是上一篇的問題
在一內部局域網中,
client  內網地址爲 10.0.0.2    
web  服務器內網地址爲 10.0.0.1    外網地址爲  211.6.15.1    域名爲  xx.love.com

     問題:在內網10.0.0.2的機器上訪問   外網地址 211.6.15.1 或者域名  xx.love.com  都無法訪問,

上一篇中提到的cisco asa設備 不能訪問是因爲 asa 它不允許數據流從內部流到外部再流回內部,所以連接會超時

     這裏從tcp協議的角度來分析下:
 包  動作 包 目的地址                 包  源地址                
  10.0.0.2發出包(第一次握手)   211.6.15.1  10.0.0.2
 到達路由器外網端口  nat 轉換後   10.0.0.1  10.0.0.2
 10.0.0.1接包後  回覆包(第二次握手)   10.0.0.2  10.0.0.1
 包到達交換機 直接被轉發(不過路由器)    
 10.0.0.2 接到包  10.0.0.2  10.0.0.1
 10.0.0.2此刻在等待211.6的第二次握手    
 10.0.0.2卻接到10.0.0.1的第二次握手  丟棄    
     
 10.0.0.1 卻還在等待 10.0.0.2的第三次握手    
 沒有結果的等待……    
   
!在這一步中  包也可能經過交換機到達路由器的內網接口,由於是發往內部主機的,路由器還是不會啓用pat轉換,而是通過直連路由直接轉發給你的客戶機10.0.0.2,這樣你的客戶機10.0.0.2仍然收不到源地址爲211.6.15.1的迴應包,還是不能成功建立連接。    

!在這裏還有一種情況   ,如果路由器將你發往211.6.15.1的數據包算做是發往外網,對其做了pat轉換,或路由器是強制地址轉換的,那麼該數據包的源地址將變爲211.6.15.1到達路由器外部接口,而路由器如果有相關防錯功能,也許該數據包就直接被幹掉了。
       如果可以繼續轉發那麼該數據包將以源地址爲200.200.200.1目標地址192.168.0.1到達web服務器。而服務器迴應的數據包就會以目標地址200.200.200.1 源地址200.200.200.1到達路由器外部接口。而路由器外部接口此時就暈了。

   解決方法:
      有些路由器內部設置可以  糾正此問題。
      如果不通過路由器解決,可以在內網建一臺dns服務器。
      自建dns太費時間,也可以修改機器的host文件
發佈了184 篇原創文章 · 獲贊 61 · 訪問量 36萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章