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