聲明:本文轉(zhuǎn)自:https://www.cnblogs.com/hld123/p/6505503.html 僅作為個(gè)人學(xué)習(xí)使用。 ———————————————————————————————— 最近在配置linux虛擬機(jī)的時(shí)候發(fā)現(xiàn)有很多坑,現(xiàn)在記錄下來以防日后又跳到坑里。 我的運(yùn)行環(huán)境是:主機(jī) windows 7 虛擬機(jī) Virtualbox +centos6.7 一、相關(guān)概念 linux虛擬機(jī)有三種網(wǎng)絡(luò)模式,分別是Bridged(橋接模式)、NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換模式)、Host-only(主機(jī)模式)。 1、NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換模式) 使用NAT模式,就是讓虛擬系統(tǒng)借助NAT的功能,通過宿主機(jī)所在的網(wǎng)絡(luò)來訪問公網(wǎng)。在這種模式下宿主機(jī)成為雙網(wǎng)卡主機(jī),同時(shí)參與現(xiàn)有的宿主局域網(wǎng) 和新建的虛擬局域網(wǎng),但由于加設(shè)了一個(gè)虛擬的NAT服務(wù)器,使得虛擬局域網(wǎng)內(nèi)的虛擬機(jī)在對(duì)外訪問時(shí),使用的則是宿主機(jī)的IP地址,這樣從外部網(wǎng)絡(luò)來 看,只能看到宿主機(jī),完全看不到新建的虛擬局域網(wǎng)。 這種情況下虛擬機(jī)可以上網(wǎng)可以ping通主機(jī),但是主機(jī)ping不通虛擬機(jī)。 優(yōu)點(diǎn):利用Virtualbox安裝一個(gè)新的虛擬系統(tǒng),在虛擬系統(tǒng)中不用進(jìn)行任何手工配置就能直接訪問互聯(lián)網(wǎng),只要宿主機(jī)器能訪問互聯(lián)網(wǎng)即可。 2、Bridged(橋接模式) 在這種模式下,Virtualbox虛擬出來的操作系統(tǒng)就像是局域網(wǎng)中的一臺(tái)獨(dú)立的主機(jī),它可以訪問網(wǎng)內(nèi)任何一臺(tái)機(jī)器,需要手工為虛擬系統(tǒng)配置IP地址、 網(wǎng)掩碼,而且還要和宿主機(jī)器處于同一網(wǎng)段,這樣虛擬系統(tǒng)才能和宿主機(jī)器進(jìn)行通信,虛擬系統(tǒng)和宿主機(jī)器的關(guān)系,就像連接在同一個(gè)Hub上的兩臺(tái)電腦。從 網(wǎng) 絡(luò)技術(shù)上理解相當(dāng)于在宿主機(jī)前端加設(shè)了一個(gè)虛擬交換機(jī),然后宿主機(jī)和所有虛擬機(jī)共享這個(gè)交換機(jī)。 這種情況下主機(jī)和虛擬機(jī)可以互相通信,虛擬機(jī)也可以上外網(wǎng)。 優(yōu)點(diǎn):利用Virtualbox在局域網(wǎng)內(nèi)新建一個(gè)虛擬服務(wù)器,為局域網(wǎng)用戶提供網(wǎng)絡(luò)服務(wù)。 3、Host-only(主機(jī)模式) 在某些特殊的網(wǎng)絡(luò)調(diào)試環(huán)境中,要求將真實(shí)環(huán)境和虛擬環(huán)境隔離開,這時(shí)就可采用host-only模式,在這種模式下宿主機(jī)上的所有虛擬機(jī)是可以相互通信 的,但虛擬機(jī)和真實(shí)的網(wǎng)絡(luò)是被隔離開的。 在這種模式下新建了一個(gè)由所有虛擬機(jī)與宿主機(jī)所構(gòu)成的局域網(wǎng),但該局域網(wǎng)與宿主機(jī)本身所處的現(xiàn)有局域網(wǎng)是相互獨(dú)立的,如果不做額外路由設(shè)置,這 兩個(gè)局域網(wǎng)之間不會(huì)連通,因此新建的局域網(wǎng)可以認(rèn)為是一個(gè)單獨(dú)從屬于當(dāng)前宿主機(jī)的私有網(wǎng)絡(luò),其成員為當(dāng)前宿主機(jī)和相關(guān)的所有虛擬機(jī)。 從網(wǎng)絡(luò)技術(shù)上講相當(dāng)于為宿主機(jī)增添了一個(gè)虛擬網(wǎng)卡,讓宿主機(jī)變成一臺(tái)雙網(wǎng)卡主機(jī)(宿主網(wǎng)卡+虛擬網(wǎng)卡)。同時(shí)在宿主機(jī)后端加設(shè)一個(gè)虛擬交換機(jī),讓 宿主機(jī)和所有虛擬機(jī)構(gòu)成另一個(gè)虛擬的局域網(wǎng)。由于具備雙網(wǎng)卡,宿主機(jī)可同時(shí)參與兩個(gè)局域網(wǎng)(現(xiàn)有的宿主局域網(wǎng)+新建的虛擬局域網(wǎng)),只不過缺省情 況下兩個(gè)局域網(wǎng)不連通。 優(yōu)點(diǎn):利用Virtualbox創(chuàng)建一個(gè)與網(wǎng)內(nèi)其他機(jī)器相隔離的虛擬系統(tǒng),進(jìn)行某些特殊的網(wǎng)絡(luò)調(diào)試工作。在 下面介紹分別在NAT模式和橋接模式進(jìn)行網(wǎng)絡(luò)配置的詳細(xì)過程。Host-only的模式我用的不多,所以這里就不介紹啦。 二.NAT模式下的網(wǎng)絡(luò)配置 1. virtualbox界面下菜單欄: 控制-設(shè)置-網(wǎng)絡(luò)
2.在命令端輸入vi /etc/sysconfig/network-scripts/ifcfg-eth0,如下圖
3.編輯網(wǎng)絡(luò)配置文件
4.vi編輯,不會(huì)的請(qǐng)自行百度,如下圖:
5.輸入 service network restart 重啟網(wǎng)卡 6.重啟后輸入:ping www.baidu.com(或其他可以訪問的網(wǎng)址),如果出現(xiàn)以下界面說明可以連上外網(wǎng)
7.注意:此處可能出現(xiàn)以下bug 1)在Virtualbox 克隆出來的CentOS Linux情況下, 輸入命令ifconfig后,并沒有看到eth0。然后重啟網(wǎng)卡又報(bào)下面錯(cuò)誤。 輸入命令 :service network restart 故障現(xiàn)象:
2)解決辦法: 點(diǎn)擊界面右上角網(wǎng)絡(luò)連接的電腦圖案,如圖:
然后點(diǎn)擊右鍵,選擇connection information
3)輸入 vi /etc/udev/rules.d/70-persistent-net.rules
從顯示的內(nèi)容中找到ATTR{address}為08:00:27:97:29:c1也就是與上圖中第一個(gè)紅框的物理地址相符合對(duì)應(yīng)NAME的值,如下圖,紅框里面本來是NAME=“eth2”,現(xiàn)在將eth2改為eth0
然后將該物理地址復(fù)制后, 在命令端輸入vi /etc/sysconfig/network-scripts/ifcfg-eth0,替換掉HWADDR對(duì)應(yīng)的值。保存配置。 4)此時(shí)再重啟網(wǎng)卡,輸入service network restart,應(yīng)該就恢復(fù)正常。 三.橋接模式下的網(wǎng)絡(luò)配置 1. virtualbox界面下菜單欄: 控制-設(shè)置-網(wǎng)絡(luò)
2.在主機(jī)中打開cmd命令行,輸入ipconfig,查看ip地址,網(wǎng)關(guān)等相關(guān)信息
3.在虛擬機(jī)命令端輸入:vi /etc/sysconfig/network-scripts/ifcfg-eth0 手工為虛擬系統(tǒng)配置IP地址、子網(wǎng)掩碼,而且還要和宿主機(jī)器處于同一網(wǎng)段。 注意:此處子網(wǎng)掩碼NETMASK 和 網(wǎng)關(guān)GATEWAY跟主機(jī)的保持一致,還要添加2個(gè)DNS。
4.輸入命令:cat /etc/resolv.conf 如果顯示出之前配置的2個(gè)DNS地址,則說明主機(jī)沒有屏蔽ping命令如下圖:
否則,就要去檢查主機(jī)防火墻是否打開,是否屏蔽了ping命令 5.重啟網(wǎng)卡,輸入service network restart,然后再ping www.baidu.com,如下圖:
6. 注意:此處可能出現(xiàn)以下bug 如果在虛擬機(jī)出現(xiàn)可以ping通外網(wǎng)和網(wǎng)關(guān),但是主機(jī)和虛擬機(jī)互相ping不通。解決辦法如下: 1)檢查主機(jī)防火墻是否打開,主機(jī)網(wǎng)絡(luò)是否共享。這里要求防火墻關(guān)閉,主機(jī)網(wǎng)絡(luò)共享。以及禁用其他網(wǎng)絡(luò)。 2)檢測(cè)linux虛擬機(jī)是否開啟防火墻,如果已開啟,就關(guān)閉防火墻或者不用關(guān)閉防火墻,輸入setup,打開防火墻對(duì)應(yīng)的端口。不會(huì)的話請(qǐng)自行查看百度。 3)此處,重啟主機(jī)網(wǎng)絡(luò):找到本地網(wǎng)絡(luò),點(diǎn)擊右鍵查看屬性,檢查是否有橋接的驅(qū)動(dòng),如果沒有,需要安裝一個(gè)。然后雙擊TCP/IPv4, 打開后確認(rèn)是自動(dòng)獲取IP地址(這點(diǎn)很重要)。然后關(guān)閉返回上一個(gè)界面。將TCP/IPv4選項(xiàng)前面的勾去掉,保存設(shè)置。再重新選中打勾,保存。
4)此時(shí),再去測(cè)試與主機(jī)連接。應(yīng)該就能夠互相ping通。我這邊測(cè)試就恢 復(fù)正常。如果大家測(cè)試的時(shí)候發(fā)現(xiàn)還是不起作用,再根據(jù)具體情況分析解決。 |
|