如何配置VirtualBox中的客戶機(jī)與宿主機(jī)之間的網(wǎng)絡(luò)連接
當(dāng)你在 VirtualBox 虛擬機(jī)軟件 中安裝了各種操作系統(tǒng)時(shí),你可能需要實(shí)現(xiàn)宿主機(jī)與虛擬機(jī)之間的相互訪問(wèn)。
在這篇文章中,我們將會(huì)以最簡(jiǎn)單明了的方式來(lái)說(shuō)明如何配置客戶機(jī)與 Linux 宿主機(jī)的網(wǎng)絡(luò),以實(shí)現(xiàn)兩者相互訪問(wèn)或者讓客戶機(jī)連接到外網(wǎng)。(LCTT 譯注:客戶機(jī)指 Oracle VirtualBox 虛擬機(jī)軟件中安裝的操作系統(tǒng),如本文中用到的 CentOS 7 和 Ubuntu 16.10 。宿主機(jī)就是你自己的筆記本電腦或臺(tái)式機(jī),注意這篇文章中作者的宿主機(jī)上安裝的操作系統(tǒng)是 Linux Mint 18 ,而不是我們平時(shí)使用的 Windows 系統(tǒng)。)
本文測(cè)試環(huán)境: 1、宿主機(jī)操作系統(tǒng)—— Linux Mint 18 2、客戶機(jī)操作系統(tǒng)—— CentOS 7 和 Ubuntu 16.10
一、要求
1. 宿主機(jī)上安裝的 VirtualBox 虛擬機(jī) 能正常使用。
2. 你得事先在 Oracle virtualBox 虛擬機(jī)軟件中安裝好客戶機(jī)操作系統(tǒng),比如 Ubuntu、Fedora、CentOS、 Linux Mint 或者其它的 Linux 系統(tǒng)也行。
3. 在你配置網(wǎng)絡(luò)前,請(qǐng)先關(guān)閉客戶機(jī)。
為了讓宿主機(jī)和客戶機(jī)能夠互相聯(lián)通,這兩個(gè)機(jī)器的默認(rèn)網(wǎng)卡 IP 必須設(shè)置在同一網(wǎng)段,你可以為客戶機(jī)添加多達(dá)
4. 網(wǎng)卡。
默認(rèn)網(wǎng)卡(網(wǎng)卡 1)通常用于使用 NAT 連接方式連接到宿主機(jī)進(jìn)行上網(wǎng)。
重要提示:通??偸窃O(shè)置第一塊網(wǎng)卡與宿主機(jī)通信,第二塊網(wǎng)卡連接到外網(wǎng)。
二、為客戶機(jī)和宿主機(jī)創(chuàng)建網(wǎng)卡
在下面的 VirtualBox 管理器界面,創(chuàng)建客戶機(jī)和宿主機(jī)之間的通信網(wǎng)卡。
打開(kāi)文件->首選項(xiàng)配置,或者使用組合鍵 Ctrl + G :
Virtualbox 首選項(xiàng)界面
在下圖中有兩個(gè)選項(xiàng),單擊并選擇僅主機(jī)Host-only網(wǎng)絡(luò)。然后使用右側(cè)的 + 按鈕來(lái)添加一個(gè)新的僅主機(jī)網(wǎng)絡(luò)。
設(shè)置客戶機(jī)網(wǎng)絡(luò)
這樣就創(chuàng)建好了一個(gè)名為 vboxnet0 的新的僅主機(jī)模式網(wǎng)卡。
如果你愿意,你可以使用中間的 - 按鈕來(lái)刪除這個(gè)網(wǎng)卡,你可以單擊編輯按鈕來(lái)查看這個(gè)網(wǎng)卡的詳細(xì)配置信息。
你也可以根據(jù)自己的實(shí)際環(huán)境修改配置信息,比如網(wǎng)絡(luò)地址,子網(wǎng)掩碼等等。
注意:下圖中的 IPv4 地址就是你的宿主機(jī)的 IP 地址。
宿主機(jī)網(wǎng)絡(luò)信息
下圖中,如果你想讓客戶機(jī)使用動(dòng)態(tài) IP 地址,你可以通過(guò)配置 DHCP 服務(wù)來(lái)完成(在使用前請(qǐng)確保啟用 DHCP )。但是我建議你為客戶機(jī)配置一個(gè)靜態(tài) IP 地址。
在下面的設(shè)置所有網(wǎng)絡(luò)界面單擊 OK 按鈕來(lái)保存修改的配置。
為客戶機(jī)設(shè)置靜態(tài) IP 地址
三、配置客戶機(jī)網(wǎng)絡(luò)設(shè)置
注意:你可以根據(jù)下面的步驟來(lái)為任何需要與宿主機(jī)通信的客戶機(jī)添加網(wǎng)卡。
回到 VirtualBox 管理器界面,選擇客戶機(jī),比如 Ubuntu 16.10 Server 或者 CentOS 7 ,然后單擊設(shè)置菜單。
配置客戶機(jī)網(wǎng)絡(luò)設(shè)置
四、配置客戶機(jī)網(wǎng)卡以連接到宿主機(jī)
從下圖的界面中選擇網(wǎng)絡(luò)選項(xiàng)。然后配置第一塊網(wǎng)卡( 網(wǎng)卡 1 )的信息如下:
- 勾選選項(xiàng):“啟用網(wǎng)卡”來(lái)開(kāi)啟該網(wǎng)卡。
- 在連接方式選項(xiàng):選擇僅主機(jī)Host-only網(wǎng)絡(luò)。
- 然后選擇網(wǎng)卡名稱:vboxnet0
如下圖所示,單擊 OK 來(lái)保存設(shè)置:
啟用客戶機(jī)網(wǎng)絡(luò)
五、配置客戶機(jī)網(wǎng)卡連接外網(wǎng)
之后添加第二塊網(wǎng)卡(網(wǎng)卡 2 )來(lái)讓客戶機(jī)連接到宿主機(jī)進(jìn)行上網(wǎng)。使用下面的設(shè)置:
- 勾選選項(xiàng):“啟用網(wǎng)絡(luò)連接”來(lái)激活這塊網(wǎng)卡。
- 在連接方式選項(xiàng):選擇 NAT 方式。
為客戶機(jī)啟用網(wǎng)絡(luò)連接
六、為客戶機(jī)設(shè)置靜態(tài) IP 地址
啟動(dòng)客戶機(jī),登錄系統(tǒng)并配置靜態(tài) IP 地址。在客戶機(jī)上執(zhí)行下面的命令來(lái)查看所有網(wǎng)卡配置信息,然后分配一個(gè) IP 地址:
- $ ip add
為客戶機(jī)配置靜態(tài) IP 地址
從上面的截圖中可以看出客戶機(jī)已啟用了三塊網(wǎng)卡:
- lo ——回環(huán)網(wǎng)絡(luò)接口
- enp0s3 (網(wǎng)卡 1)—— 前一步我們配置的連接方式為僅主機(jī)Host-Only模式并且已啟用 DHCP 的網(wǎng)卡,之后我們又配置成了靜態(tài) IP 地址。
- enp0s8 (網(wǎng)卡 2)—— 用于連接到外網(wǎng)。該網(wǎng)卡默認(rèn)情況下使用 DHCP 來(lái)動(dòng)態(tài)獲取 IP 地址。
七、在 Debian/Ubuntu/Linux Mint 系統(tǒng)下的配置
重要提示: 這里我使用的是 Ubuntu 16.10 Server , IP 地址為 192.168.56.5 。
使用你喜歡的編輯器及管理員賬號(hào)打開(kāi) /etc/network/interfaces 配置文件:
- $ sudo vi /etc/network/interfaces
修改網(wǎng)卡 enp0s3 的配置信息如下(根據(jù)你的實(shí)際環(huán)境進(jìn)行修改):
- auto enp0s3
- iface enp0s3 inet static
- address 192.168.56.5
- network 192.168.56.0
- netmask 255.255.255.0
- gateway 192.168.56.1
- dns-nameservers 8.8.8.8 192.168.56.1
保存并退出。
然后使用下面的命令來(lái)重啟網(wǎng)絡(luò)服務(wù):
- $ sudo systemctl restart networking
或者,正常重啟系統(tǒng),然后檢查網(wǎng)絡(luò)配置是否為新的 IP 地址:
- $ ip add
八、在 RHEL/CentOS/Fedora 系統(tǒng)下的配置
重要提示: 這里我使用的是 CentOS 7 系統(tǒng), IP 地址為: 192.168.56.10 。
使用管理員帳號(hào)及你喜歡的編輯器打開(kāi) enp0s3 (僅主機(jī)網(wǎng)絡(luò))的網(wǎng)卡配置文件 /etc/sysconfig/network-scripts/ifcfg-enp0s3 :
- $ sudo vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
創(chuàng)建或修改配置文件信息如下(根據(jù)你實(shí)際的環(huán)境進(jìn)行修改):
- BOOTPROTO=static
- ONBOOT=yes
- IPADDR=192.168.56.10
- NETWORK=192.168.56.0
- NETMASK=255.255.255.0
- GATEWAY=192.168.56.1
- DNS=8.8.8.8 192.168.56.1
- NM_CONTROLLED=no #use this file not network manager to manage interface
保存并退出。然后使用下面的命令重啟網(wǎng)絡(luò)服務(wù)(也可以重啟系統(tǒng)):
- $ sudo systemctl restart network.service
檢查修改的配置地信息是否生效:
- $ ip add
九、在宿主機(jī)上使用 SSH 工具來(lái)管理客戶機(jī)
在宿主機(jī)上使用 SSH 工具來(lái)管理你的客戶機(jī)。在下面的實(shí)例中,我將使用 SSH 工具連接到 CentOS 7 服務(wù)器(192.168.56.10):
- $ ssh tecmint@192.168.56.10
- $ who
使用 SSH 工具連接客戶機(jī)