發表文章

目前顯示的是有「NAT」標籤的文章

NAT loopback 已ASA為範例

圖片
我們有一台 WEB SERVER 已經設定好外部可以透過 210.242.144.108 80 port 對應到 192.168.4.1 80 port,但是還希望內部網段 192.168.3.0/24 也可以透過 210.242.144.108 連到 192.168.4.1。   我們設定從 LAN 的網段 要到 210.242.144.108 轉成  192.168.4.1,反之亦然。 我們用 192.168.3.1 的電腦 telnet 210.242.144.108 80 port,好像沒有成功。 卻看到 192.168.4.1 收到來至 192.168.3.1 的 SYN,而且狀態好像卡在 SYN_RECEIVED。 我們想想如果他真的傳回 192.168.4.1會怎樣,透過 L3 Switch 就直接routing掉了,封包不可能回防火牆,NAT就一定失敗,回去的封包沒機會從192.168.4.1 轉回 210.242.144.108。 192.168.3.1的電腦會感覺我去SYN 210.242.144.108 怎麼會有一台電腦 192.168.4.1 一直回我SYN_ACK 莫名奇妙。 就像我發LINE給A,結果B一直回我有收到LINE。 我們這次把來源IP強迫轉成 210.242.144.108,強迫流量回防火牆。 看起來內部IP可以透過210.242.144.108連到192.168.4.1 達成 NAT loopback。 伺服器端確實也完成三方交握,狀態是 ESTABLISHED。 PS:ASA預設同一個流量不能同時進出同一個介面,所以要把上面這個選項打勾。

NAT loopback 實驗

圖片
通常企業為了安全會建立內部DNS和外部DNS, 如果我有一個IP 192.168.1.151 要對應到公司內部電腦01 192.168.168.1的WEB服務, 我會在外部DNS設一筆紀錄要到 www.abc.com.tw 的回應 192.168.1.151, 企業內部主機都指向內部DNS 設一筆紀錄要到 www.abc.com.tw 的回應 192.168.168.1。 這樣就可以做到同樣的WEB服務內部和外部都可以存取。 但是有時候公司沒有架設DNS,或是主機都指向外部DNS 168.95.1.1 或 8.8.8.8。 這時候就需要NAT LOOPBACK了。 簡單來說就是電腦02連192.168.1.151這個在WAN的外部IP,可以也可以NAT存取到192.168.168.1。 以Sonicwall防火牆來舉例,當你NAT建立好了時候會產生三條。 第一條為內部IP網段(192.168.168.0/24)要到WEB PUBLIC(192.168.1.151) 來源轉換為WEB PUBLIC(192.168.1.151)到WEB PRIVATE(192.168.168.1) 第二條為WEB PRIVATE(192.168.168.1)到任何地方(WAN的網段) 來源轉換為WEB PUBLIC(192.168.1.151)到原本的任何地方(WAN的網段) 第三條為任何網段要到WEB PUBLIC(192.168.1.151) 來源不轉換可是目的地轉換為WEB PRIVATE(192.168.168.1) 這個跟防火牆規則一樣由上到下,先執行就出去了,有先後順序之分。 二、三條很好理解,就是純粹外對內的NAT,但是為什麼需要第一條呢? 電腦02封包 電腦01封包 (因為我分段抓封包,所以不是同一個回應封包) 我們來分析一下,以電腦02來說 電腦02到防火牆 來源 192.168.168.2-> 目的地 192.168.1.151 因為我們設定好NAT要到 192.168.1.151 目的地轉換為 192.168.168.1 所以防火牆到電腦01 來源 192.168.168.2-> 目的地 192.168.168.1 最後電腦01發現目的地是 192.168.168.2,同個網...