2015/09/01

以運行於VirtualBox上的Ubuntu Linux來進行hairpin網路位址轉譯

摘要

本文記錄了hairpin網路位址轉譯(Network Address Translation)實驗的注意事項;實驗環境包含了在Windows 8執行的Oracle VM VirtualBox,以及在其上所運行的Windows Vista、Windows Server 2008 R2、和Ubuntu Linux。



說明

1. 首先需對hairpin網路位址轉譯有所了解,這裡有充份的描述。
2. 接著準備實驗所需的機器,包含1台擔任用來界接WAN與LAN的網路位址轉譯裝置、2台LAN內的電腦、和1台WAN外的電腦。此處各機器的配置如下所示。
2.1 位於WAN外之電腦的網路設定如下所示;其位址為192.168.56.1/24,運行了Windows 8。
2.2 位於LAN內之電腦的網路設定如下所示;它們的位址包含運行了Windows Server 2008 R2的172.16.1.2/20、和運行了Windows Vista的172.16.1.10/20
2.3 界接了WAN與LAN的位址轉譯裝置的網路設定如下所示;其WAN端介面為eth0、而位址為192.168.56.101/24,而且LAN端介面為eth1、而位址為172.16.1.1/20,運行了Ubuntu。
 
3. 設定位址轉譯裝置的hairpin規則。透過iptables工具程式設定完畢的規則如下所示。
4. 執行程式以進行hairpin實驗、並且測試典型的使用案例。首先在172.16.1.2上執行web伺服器(此處為Microsoft的IIS)、以及在192.168.56.1上執行web伺服器(此處為nginx)。
4.1192.168.56.1上執行瀏覽器,令其存取192.168.56.101;此時Ubuntu轉譯了來自WAN的目的位址予172.16.1.2,所以瀏覽器雖然輸入的是192.168.56.101、但得到的是運行於172.16.1.2的IIS頁面。
4.2172.16.1.10上執行瀏覽器,令其存取192.168.56.101;此時Ubuntu轉譯了來自LAN的目的位址予172.16.1.2,所以瀏覽器雖然輸入的是192.168.56.101、但得到的是運行於172.16.1.2的IIS頁面。
4.3172.16.1.10上執行瀏覽器,令其存取192.168.56.1;此時Ubuntu轉譯了來自LAN的來源位址予192.168.56.1,所以瀏覽器輸入的192.168.56.1雖然是相異網段、但仍能經由預設閘道器172.16.1.1而得到運行於192.168.56.1的nginx頁面。

參考文獻

可攜式的nginx伺服器 http://mobileapplab.se/web/tools/webserver
一個線上製作圖表的網站 https://www.draw.io/


1 則留言: