2012/11/14

EstiNet real word emulation

今天我所要介紹的是EstiNet Emulation
這篇基本上早該在今年的五六月就刊登了…
只是因為開課的因素而沒有寫出來…

不過現在寫這篇應該算是懺悔文吧,我要上台上課,卻忘記步驟…
當天馬上被老闆定在椅子上…

這次Demo所使用的是三台真實電腦
並採用以下規格的軟體及系統
Vmware Workstation、Hfs、XP


在下圖我們看到總共有一台Router和四台電腦
左右兩台是真實電腦連接近來的,中間那個Router則是假裝當作中間那台真實電腦,而下方那兩台電腦則是虛擬電腦

Router是為了讓左右兩邊電腦能夠透過中間電腦達到不一樣的網段也能去溝通

右邊電腦當作FTP Server讓左邊這台電腦去下載檔案,而左邊的電腦當作Client端去下載到右邊這台電腦所架設的Ftp,能去控制到網路整體狀況

剩餘兩台虛擬電腦則是用來Ping右邊這台真實電腦,並達到Emulation


右邊電腦的IP我們設置為10.0.1.1,而Router介面設定為10.0.1.2





左邊電腦的IP我們設置為10.0.2.1,而Router介面設定為10.0.2.2





這兩張網路卡設定好之後,我們要來設定VM網路卡配置的問題了
我們選擇以Bridged將兩張網路卡導入到VM的環境底下去
VM初始配置如下圖


我們先將VMnet0裝置改成Router連接右邊網路線的介面卡


在新增一張網路卡,點擊Add Network,按下確定即可,接著也如同上面步驟
將VMnet2改成Router連接右邊網路線的介面卡,好了之後按下OK


設定完之後,我們再來新增網路卡到系統裡面



下圖是將右邊介面的網路卡導入到系統去



下圖是將右邊介面的網路卡導入到系統去

好了之後按下確定,並開啟系統
我們主要還是以eth0作為開啟EstiNet系統,而eth1和eth2則是作為連接左右兩台電腦的介面

以上設定好之後在開啟EstiNet前先輸入以下指令

echo 1 > /proc/sys/net/ipv4/ip_forward 
echo 0 > /proc/sys/net/ipv4/conf/eth0/rp_filter 
echo 0 > /proc/sys/net/ipv4/conf/eth1/rp_filter 
echo 0 > /proc/sys/net/ipv4/conf/eth2/rp_filter 
echo 1 > /proc/sys/net/ipv4/conf/eth0/proxy_arp
echo 1 > /proc/sys/net/ipv4/conf/eth1/proxy_arp
echo 1 > /proc/sys/net/ipv4/conf/eth2/proxy_arp
route add 10.0.1.1 eth1
route add 10.0.2.1 eth2

echo "Setting Ok"



左邊的電腦輸入
route add 10.0.1.1 mask 255.255.255.255 10.0.2.1



右邊的電腦輸入
route add 10.0.2.1 mask 255.255.255.255 10.0.1.1



輸入完畢後,用ping來測試雙方是否可以建立通訊




目前先測試左邊在尚未開啟EstiNet時下載右邊電腦的檔案頻寬是多少





當我們將兩端的頻寬都調成10mb時,並且執行模擬時左邊這台電腦下載速度會開始減慢





做到最後來搞個惡作劇吧!!
就直接讓模擬從第0秒斷線到第50秒吧XDD!!




以下的圖是用Wireshark來證明我們確實有做出真假網路的互連,並且透過中間這台Router達到網路的控管












參考資料:
http://blog.unixwiz.net/2010/09/vmware-workstation-there-are-no-un-bridged-host-network-adapters.html