如何配置 VirtualBox 中的客戶機與宿主機之間的網絡連接
當你在 VirtualBox 虛擬機軟件 中安裝了各種操作係統時,你可能需要實現宿主機與虛擬機之間的相互訪問。
在這篇文章中,我們將會以最簡單明了的方式來說明如何配置客戶機與 Linux 宿主機的網絡,以實現兩者相互訪問或者讓客戶機連接到外網。(LCTT 譯注:客戶機指 Oracle VirtualBox 虛擬機軟件中安裝的操作係統,如本文中用到的 CentOS 7 和 Ubuntu 16.10 。宿主機就是你自己的筆記本電腦或台式機,注意這篇文章中作者的宿主機上安裝的操作係統是 Linux Mint 18 ,而不是我們平時使用的 Windows 係統。)
本文測試環境: 1、宿主機操作係統—— Linux Mint 18 2、客戶機操作係統—— CentOS 7 和 Ubuntu 16.10
要求
- 宿主機上安裝的 VirtualBox 虛擬機 能正常使用。
- 你得事先在 Oracle virtualBox 虛擬機軟件中安裝好客戶機操作係統,比如 Ubuntu、Fedora、CentOS、 Linux Mint 或者其它的 Linux 係統也行。
- 在你配置網絡前,請先關閉客戶機。
為了讓宿主機和客戶機能夠互相聯通,這兩個機器的默認網卡 IP 必須設置在同一網段,你可以為客戶機添加多達 4 塊網卡。
默認網卡(網卡 1)通常用於使用 NAT 連接方式連接到宿主機進行上網。
重要提示:通常總是設置第一塊網卡與宿主機通信,第二塊網卡連接到外網。
為客戶機和宿主機創建網卡
在下麵的 VirtualBox 管理器界麵,創建客戶機和宿主機之間的通信網卡。
打開文件->首選項配置,或者使用組合鍵 Ctrl + G
:
Virtualbox 首選項界麵
在下圖中有兩個選項,單擊並選擇僅主機Host-only網絡。然後使用右側的 +
按鈕來添加一個新的僅主機網絡。
設置客戶機網絡
這樣就創建好了一個名為 vboxnet0 的新的僅主機模式網卡。
如果你願意,你可以使用中間的 -
按鈕來刪除這個網卡,你可以單擊編輯按鈕來查看這個網卡的詳細配置信息。
你也可以根據自己的實際環境修改配置信息,比如網絡地址,子網掩碼等等。
注意:下圖中的 IPv4 地址就是你的宿主機的 IP 地址。
宿主機網絡信息
下圖中,如果你想讓客戶機使用動態 IP 地址,你可以通過配置 DHCP 服務來完成(在使用前請確保啟用 DHCP )。但是我建議你為客戶機配置一個靜態 IP 地址。
在下麵的設置所有網絡界麵單擊 OK 按鈕來保存修改的配置。
為客戶機設置靜態 IP 地址
配置客戶機網絡設置
注意:你可以根據下麵的步驟來為任何需要與宿主機通信的客戶機添加網卡。
回到 VirtualBox 管理器界麵,選擇客戶機,比如 Ubuntu 16.10 Server 或者 CentOS 7 ,然後單擊設置菜單。
配置客戶機網絡設置
配置客戶機網卡以連接到宿主機
從下圖的界麵中選擇網絡選項。然後配置第一塊網卡( 網卡 1 )的信息如下:
- 勾選選項:“啟用網卡”來開啟該網卡。
- 在連接方式選項:選擇僅主機Host-only網絡。
- 然後選擇網卡名稱:vboxnet0
如下圖所示,單擊 OK 來保存設置:
啟用客戶機網絡
配置客戶機網卡連接外網
之後添加第二塊網卡(網卡 2 )來讓客戶機連接到宿主機進行上網。使用下麵的設置:
- 勾選選項:“啟用網絡連接”來激活這塊網卡。
- 在連接方式選項:選擇 NAT 方式。
Enable Network Adapter for VM
為客戶機啟用網絡連接
為客戶機設置靜態 IP 地址
啟動客戶機,登錄係統並配置靜態 IP 地址。在客戶機上執行下麵的命令來查看所有網卡配置信息,然後分配一個 IP 地址:
$ ip add
為客戶機配置靜態 IP 地址
從上麵的截圖中可以看出客戶機已啟用了三塊網卡:
-
lo
——回環網絡接口 -
enp0s3
(網卡 1)—— 前一步我們配置的連接方式為僅主機Host-Only模式並且已啟用 DHCP 的網卡,之後我們又配置成了靜態 IP 地址。 -
enp0s8
(網卡 2)—— 用於連接到外網。該網卡默認情況下使用 DHCP 來動態獲取 IP 地址。
在 Debian/Ubuntu/Linux Mint 係統下的配置
重要提示: 這裏我使用的是 Ubuntu 16.10 Server , IP 地址為 192.168.56.5 。
使用你喜歡的編輯器及管理員賬號打開 /etc/network/interfaces
配置文件:
$ sudo vi /etc/network/interfaces
修改網卡 enp0s3 的配置信息如下(根據你的實際環境進行修改):
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
保存並退出。
然後使用下麵的命令來重啟網絡服務:
$ sudo systemctl restart networking
或者,正常重啟係統,然後檢查網絡配置是否為新的 IP 地址:
$ ip add
在 RHEL/CentOS/Fedora 係統下的配置
重要提示: 這裏我使用的是 CentOS 7 係統, IP 地址為: 192.168.56.10 。
使用管理員帳號及你喜歡的編輯器打開 enp0s3 (僅主機網絡)的網卡配置文件 /etc/sysconfig/network-scripts/ifcfg-enp0s3
:
$ sudo vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
創建或修改配置文件信息如下(根據你實際的環境進行修改):
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
保存並退出。然後使用下麵的命令重啟網絡服務(也可以重啟係統):
$ sudo systemctl restart network.service
檢查修改的配置地信息是否生效:
$ ip add
在宿主機上使用 SSH 工具來管理客戶機
在宿主機上使用 SSH 工具來管理你的客戶機。在下麵的實例中,我將使用 SSH 工具連接到 CentOS 7 服務器(192.168.56.10):
$ ssh tecmint@192.168.56.10
$ who
使用 SSH 工具連接客戶機
原文發布時間為:2017-03-01
本文來自雲棲社區合作夥伴“Linux中國”
最後更新:2017-05-25 17:02:12