如何利用 VMWare 搭建隨機拓撲網絡
這篇文章是計算機網絡上機實驗課的作業(yè)。
實驗任務:利用 VMWare 搭建一個由 5 個主機組成的隨機拓撲的網絡。要求該網絡中至少有 2 個子網,兩個路由器 。實驗的網絡拓撲圖如下:
網絡中有兩個路由器,三個終端,組成三個局域網絡。路由器和終端均為VMWare的的虛擬機。VMWare軟件下載就在百度下載就可以了。這里我收藏了八臺虛擬機ubuntu12,需要的同學可以下載使用哦。下載鏈接:https://pan.baidu.com/s/1miMIM9q (每臺虛擬機的用戶名和密碼都是user,三臺有圖形界面,四臺沒有圖形界面。)關于怎么導入和使用虛擬機自行百度哈~這里就不贅述了。
1. 虛擬機的網絡配置
1.1 導入多個虛擬機
除需運行圖形界面軟件的虛擬機外,其它默認采用字符界面。在字符界面下可以選用普通用戶或根用戶(root)登錄。用普通用戶登錄時,命令提示符為$,在執(zhí)行需要 root 用戶權限的命令時可通過在命令前加 sudo,或用 su 命令提升為 root 用戶完成。用 root 用戶登錄時,命令提示符變?yōu)?。從字符界面啟動圖形界面時用命令 startx,為使圖形界面運行正常,請先確保虛擬機內存達到256M。 我這次實驗導入了5臺虛擬機,571和572是路由器,573到575是終端。
1.2 連接多個虛擬機
VMWare 提供了十個虛擬交換機 VMnet0—VMnet9。其中 VMnet0、 VMnet1 和 VMnet8為專用設備,分別以 default Bridged、 Host-only 和 NAT 三種方式為虛擬機提供宿主機器原網絡服務。另外七個虛擬交換機未被定義,可以用它們進行連接,配制虛擬網絡。
下面介紹怎么配置各個虛擬機的網絡:
U571 對應于網絡中的route0,負責兩個子網之間的交換路由。打開U571的虛擬機設置:
打開網絡適配器,右側選擇自定義網絡,選擇VMNET2,這樣虛擬機U571便與虛擬交換機VMNET2相連,與VMNET2相連的都在一個局域網內。VMWare 沒有提供虛擬路由,我們需要用虛擬機來模擬出一個路由器,這樣用來模擬路由器的虛擬機至少需要兩張網卡, 所以你可能看到你的網絡適配器只有一個,點擊下方的添加按鈕就可以為虛擬機添加多張網卡。
這樣變又加入了一張網卡。現(xiàn)在U571就是一個鏈接了VMNET2和VMNET3的路由器了,同樣的配置U572為鏈接VMNET3和VMNET4的路由器。U573和U574為連接VMNET2的終端。U575為鏈接VMNET4的終端。
為了理清網絡結構和后面的內容,我給前面出現(xiàn)的圖加一些注釋方便理解:
標注了每個交換機和終端的網卡的IP地址,通過ping操作來檢測是否網絡鏈接正常。目標是任意的兩個IP之間都能PING通。
2. 設置IP與路由規(guī)則
ip 地址是計算機進行網絡通訊的基礎,每一臺聯(lián)網計算機都至少具有一個 ip 地址。在日常使用中,我們通常能自動獲取 ip,這是由于 DHCP 協(xié)議的作用。在本次實驗中我們需
要手動為配置好的虛擬網絡分配 ip 地址。
首先使用 ifconfig 命令查看網絡配置,以虛擬機 U-571 為例,鍵入命令
- ifconfig -a |less
用"q"鍵退出。剛開始的虛擬機還沒有IPV4地址。
然后使用ifconfig命令分別為兩個網絡設備eth0和eth1設置IP.(U571)
- sudo ifconfig eth0 192.168.2.1 netmask 255.255.255.0
- sudo ifconfig eth1 192.168.3.1 netmask 255.255.255.0
同樣在U572中設置為
- sudo ifconfig eth0 192.168.4.1 netmask 255.255.255.0
- sudo ifconfig eth1 192.168.3.1 netmask 255.255.255.0
U573--U575的IP按照的上述的方法設置成上圖中每個節(jié)點的IP就可以了。這里要仔細聯(lián)系上面的圖理清楚網絡關系。
配置好之后我們可以用ifconfig -a 查看:
IP設置好后,就可以根據IP在路由上設置路由規(guī)則。這個也是本次實驗的核心部分,路由器是根據路由表來進行數(shù)據包的轉發(fā)的,如果沒有路由表,數(shù)據包就不知道往哪里發(fā),這個就跟寫信不寫地址就發(fā)不了一樣。
在這里我們以路由器U571為例來說明,U572配置的方法是一樣的。配置路由規(guī)則的命令如下:
- sudo ip route add 192.168.2.0/24 via 192.168.2.1
- sudo ip route add 192.168.3.0/24 via 192.168.3.1
- sudo ip route add 192.168.4.0/24 via 192.168.3.2
其中 ip route add 192.168.2.0/24 via 192.168.2.1 命令添加的規(guī)則,告訴路由目的 ip 在192.168.2.0/24(192.168.2.1~192.168.2.255)網段內的封包經由 ip 地址為 192.168.2.1 的設備轉發(fā)出去,即下一跳的 ip 為 192.168.2.1。而 192.168.2.0/24 是 Linux 中常用的掩碼表示方式。24 表示掩碼字長為 24 即掩碼為 255.255.255.0, 192.168.2 為網絡號, 1~254 為網絡中的主機號。 此外還有其他形式用于添加路由規(guī)則的命令。
這里要好好體會路由器轉發(fā)的是下一跳的IP,我當時實驗的時候翻了一個錯誤就是在轉發(fā)192.168.4.0/24的時候,把他的下一跳IP設置成了192.168.3.1,這里可以看到這樣是不行的,如果有U575(192.168.4.2)的數(shù)據包的話,那么轉發(fā)給192.168.3.1,路由器并不知道下面該把包發(fā)送給誰。所以應該設置成192.168.3.2,然后路由器U572中,再添加路由規(guī)則sudo ip route add 192.168.4.0/24 via 192.168.4.1,這樣便可以把包轉發(fā)給U575了。這里需要好的體會下是怎么實現(xiàn)的。
最后我們要讓虛擬路由允許轉發(fā),置虛擬機 U-571 的 ip_forward 標志為 1。 這里我們需要把/proc/sys/net/ipv4/目錄下的文件 ip_forward 值置為 1。 使用命令 echo,形如:
- echo 1 > /proc/sys/net/ipv4/ip_forward
在運行上述代碼會出現(xiàn)permission denied,這時運行 sudo su,然后再執(zhí)行上述代碼就可以了。
然后同理的配置好路由器U572后就可以愉快的相互ping通了。
實驗下從U572(192.168.2.2) ping u575(192.168.4.2)結果如下:
這就ping通啦~說明網絡配置成功了。
我也是才開始學計算機網絡,文章中出現(xiàn)了哪些專業(yè)術語不正確的地方還望大家指正~純手打,看完點個贊吧(●'◡'●)!!!