前面介紹了虛擬測試環境,但只是談到了最後的需求,並無實際的操做步驟。從這裏開始經過實際的操做方法一步步創建測試環境。這一節主要記錄網絡環境RouterOS的搭建。有關RouterOS的安裝過程這裏不會作太多說明,網絡上此類說明較多,google一下一堆。這裏重點介紹中間的設定。
簡介
RouterOs 是一款基於Linux的路由器操做系統,功能強大,擁有幾乎全部硬件路由具備的功能。RouterOs要求至關簡單:一臺具備奔騰以上的CPU,64M內存的X86計算機就足夠了(既然號稱ISP級的路由器,對內存的要求是大了點)。關鍵是對網卡的支持:Intel的8255X系列、3com的3c905系列、RealTek的8139系列,常見的網卡全能夠。(建議你們選用Intel82559網卡,速度和穩定性都很好。RealTek8139對CPU資源消耗較大,不適合×××量工做。3com就不要考慮了,官方文件說它不支持MTU1500,在特殊應用上可能有問題。具體的資料請你們到到
www.mikrotik.com
查詢)。惟一的缺點是該軟件是收費的,試用時間只有24小時。我這裏的是3.2的版本。
整個網絡環境中分爲兩部份:一部份爲實際的物理網絡其網段爲192.168.0.x,經過一臺D-Link路由器ADSL撥號上網,網關爲192.168.0.1。而RouterOS安裝在一臺較舊的電腦上,其外網卡設定爲192.168.0.x網段用於模擬虛擬網絡中的外網。第二部份爲虛擬網絡,經過RouterOS的2、3、4、五號端口模擬192.168.2.x,192.168.3.x,192.168.4.x,172.16.x.x這幾個網段。虛擬網絡環境主要完成如下要求:
1、保證虛擬網段(四個網段)能相互通信;
2、保證虛擬網段能和192.168.0.x及互聯網通信;
3、各虛擬網段內的客戶機經過DHCP功能自動獲取IP地址並能完成上面的功能,重要的測試服務器經過DHCP的靜態指定保證其IP地址的正確性和穩定性;
4、創建虛擬網絡中的DNS服務器,保證在虛擬網絡內經過域名定位其IP地址;
5、開啓FTP功能;
6、經過RouterOS的腳本功能設定免費的動態DNS域名;
7、經過動態DNS結合端口映射功能將虛擬主機的服務發佈到互聯網絡上(需通過兩次端口映射)
初始設定
在安裝好RouterOS後須要對其進行初始設定,第一次須要在Console方式下設定網絡。通常是設定好網絡後保證網絡中其它機器能夠訪問或是Ping通後就經過它自帶的Winbox工具進行遠程設定。初始的安裝也很簡單,主要是選擇接入的網卡,而後指定其IP地址及子網掩碼,而後指定網關就OK了。這裏不作太多描述。而Winbox通常能夠經過http訪問設定好的Routeros就能夠下載。如本例中的192.168.0.7。
(圖一:外網網口的IP地址)
(圖二:機器中網卡的數量)
經過Winbox管理中IP-Address選項爲各網卡設定合適的IP地址。需注意的是地址設定要和物理網卡相結合,並且前三個網段是C類網段,子網爲24;後一個網段是B類網段,子網是16;這些在後面的DHCP中也會用到。
(圖三:2網段設定)
(圖四:172網段設定)
(圖五:各網段設定後完整圖)
DHCP設定
DHCP設定須要作一些準備工做:先要創建IP地址池,也就是DHCP的IP範圍;而後須要記錄重點服務器的mac址以便在DHCP中進行綁定。而經過DHCP配發後的IP能自動生成DNS記錄的方法暫時沒找到(Windows的DHCP和DNS能夠這樣配合工做,Linux下的好像有點複雜),因此主要經過手工方式指定。在Winbox中的IP-IP Pool設定中設定IP地址池(需注意172網段中的地址的範圍和其它網段不一樣)。
(圖六:IP地址池的設定)
設定好IP地址池後能夠經過IP-DHCP Server選項設定DHCP服務器。和先前網卡IP地址設定同樣這裏也須要注意IP地址池和相應網卡要一致。
(圖七:新建2網段的DHCP服務器)
(圖八:DHCP基本設定)
先前的需求中有說明要保證虛擬網絡中各機器能夠經過內部域名訪問,因此這裏的設定須要多加留心。我我的用的網絡是4網段的,而虛擬環境中的服務器和普通機都是172網段中。要保證4網段能經過DNS訪問172網段,4網段中首選DNS就得按下面的這種方式設定。其它環境中類同(請對比後面的DNS設定)。而須要訪問外網的需求中DNS的設定也是相當重要的。看看這裏備用DNS用的是什麼你就很明白了。
(圖九:DHCP服務中網關及DNS設定)
(圖十:DHCP中IP綁定操做)
DNS設定
DNS的重要性在Internet普及的今天顯得尤其顯著,能夠說沒有了它,網頁瀏覽就成了很大問題。而在RouterOS中,DNS的設定仍是比較簡單的。這裏須要注意的地方就是要和DHCP服務結合起來。
(圖十一:DNS服務設定)
(圖十二:DNS測試)
動態域名設定
這裏說的動態域名主要是指免費的動態域名,它可以將ADSL撥號的外網地址實時更新並和你所申請的域名對應。結合路由器上的端口映射工具,能夠在沒有固定IP的狀況下在Internet上發佈局域中的服務(如網頁,FTP等)。RouterOS支持的動態域名能夠在
www.changeip.net
網上申請。結合RouterOS強大的腳本功能實現動態域名功能。 如下是腳本內容。
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# EDIT YOUR DETAILS / CONFIGURATION HERE
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:global ddnsuser "用戶名"
:global ddnspass "密碼"
:global ddnshost "申請的域名"
:global ddnsinterface "ether1"
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# END OF USER DEFINED CONFIGURATION
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:global ddnssystem ("mt-" . [/system package get [/system package find name=system] version] )
:global ddnsip [ /ip address get [/ip address find interface=$ddnsinterface] address ]
:global ddnslastip
:if ([:len [/interface find name=$ddnsinterface]] = 0 )
do={ :log info "DDNS: No interface named $ddnsinterface, please check configuration." }
:if ([ :typeof $ddnslastip ] = "nothing" )
do={ :global ddnslastip 0.0.0.0/0 }
:if ([ :typeof $ddnsip ] = "nothing" )
do={ :log info ("DDNS: No ip address present on " . $ddnsinterface . ", please check.")
}else={
:if ($ddnsip != $ddnslastip) do={
:log info "DDNS: Sending UPDATE!"
:log info [ :put [/tool dns-update name=$ddnshost address=[:pick $ddnsip 0 [:find $ddnsip "/"] ] key-name=$ddnsuser key=$ddnspass ] ]
:global ddnslastip $ddnsip
} else={
:log info "DDNS: No changes necessary."
}
}
在Winbox的System-Script設定中添加以上腳本。有關這些腳本的解釋,相信搞過Linux的人應該都能明白,若是理解有問題的話問google吧。
(圖十三:動態域名腳本設定)
腳本設定完成後就能夠給系統加一個計劃任務讓其按期執行該腳本以得到最新的地址。須要注意的是時間的設定以及任務中事件的命令方式。
(圖十四:任務計劃的設定)
這些設定完成後,能夠執行一次腳本讓其生效,能夠登錄動態域名的管理界面看看是否成功。
(圖十五:查詢到的外網地址)
(圖十六:動態域名的監控畫面)
NAT及端口映射
內網的機器要訪問Internet須要給其指定NAT策略,而若是要將服務發佈到外網則須要對計算機進行端口映射。需注意的是我測試網絡的外網地址是192.168.0.7,虛擬網絡的服務器是192.168.2.3。先須要在192.168.0.1上給192.168.0.7作映射,而後在RouterOS上給192.168.2.3作映射。
(圖十七:0網段的映射)
上網NAT及端口映射在RouteOS中都在防火牆策略的NAT規則中,其中在基本頁面中指定Chain爲srcnat,外出的網卡爲第一塊網卡,在Action頁面設定Action爲masquerade。而端口映射其方式差很少。
(圖十八:上網NAT的General設定)
(圖十八:上網NAT的Action設定)
(圖十九:端口映射的General設定)
(圖二十:端口映射的action設定)
測試
經過以上設定就能夠在保證虛擬網絡中的機器能夠訪問外網外還能保證能在外網訪問映射的服務。
(圖二一:外網測試)
(圖二二:外網服務發佈測試)