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