在一內部局域網中,
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的第三次握手 | ||
沒有結果的等待…… |
如果可以繼續轉發那麼該數據包將以源地址爲200.200.200.1目標地址192.168.0.1到達web服務器。而服務器迴應的數據包就會以目標地址200.200.200.1 源地址200.200.200.1到達路由器外部接口。而路由器外部接口此時就暈了。
自建dns太費時間,也可以修改機器的host文件