如何配置 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 首選項界面
在下圖中有兩個選項,單擊並選擇 僅主機 網路。然後使用右側的 +
按鈕來添加一個新的僅主機網路。
設置客戶機網路
這樣就創建好了一個名為 vboxnet0 的新的僅主機模式網卡。
如果你願意,你可以使用中間的 -
按鈕來刪除這個網卡,你可以單擊編輯按鈕來查看這個網卡的詳細配置信息。
你也可以根據自己的實際環境修改配置信息,比如網路地址,子網掩碼等等。
注意:下圖中的 IPv4 地址就是你的宿主機的 IP 地址。
宿主機網路信息
下圖中,如果你想讓客戶機使用動態 IP 地址,你可以通過配置 DHCP 服務來完成(在使用前請確保啟用 DHCP )。但是我建議你為客戶機配置一個靜態 IP 地址。
在下面的設置所有網路界面單擊 OK 按鈕來保存修改的配置。
為客戶機設置靜態 IP 地址
配置客戶機網路設置
注意:你可以根據下面的步驟來為任何需要與宿主機通信的客戶機添加網卡。
回到 VirtualBox 管理器界面,選擇客戶機,比如 Ubuntu 16.10 Server 或者 CentOS 7 ,然後單擊設置菜單。
配置客戶機網路設置
配置客戶機網卡以連接到宿主機
從下圖的界面中選擇網路選項。然後配置第一塊網卡( 網卡 1 )的信息如下:
- 勾選選項:「啟用網卡」來開啟該網卡。
- 在連接方式選項:選擇 僅主機 網路。
- 然後選擇網卡名稱:vboxnet0
如下圖所示,單擊 OK 來保存設置:
啟用客戶機網路
配置客戶機網卡連接外網
之後添加第二塊網卡(網卡 2 )來讓客戶機連接到宿主機進行上網。使用下面的設置:
- 勾選選項:「啟用網路連接」來激活這塊網卡。
- 在連接方式選項:選擇 NAT 方式。
為客戶機啟用網路連接
為客戶機設置靜態 IP 地址
啟動客戶機,登錄系統並配置靜態 IP 地址。在客戶機上執行下面的命令來查看所有網卡配置信息,然後分配一個 IP 地址:
$ ip add
為客戶機配置靜態 IP 地址
從上面的截圖中可以看出客戶機已啟用了三塊網卡:
lo
——迴環網路介面enp0s3
(網卡 1)—— 前一步我們配置的連接方式為 僅主機 模式並且已啟用 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 工具連接客戶機
就寫到這裡吧!在這篇文章中,我們用簡單易懂的方法講述了如何在宿主機與客戶機之間設置網路連接方式。請在下面的評論區跟大家分享下你的想法。
作者簡介:
Aaron Kili 是一名 Linux 和 F.O.S.S 愛好者,即將從事 Linux 系統管理員和網頁開發工作,他日前是 TecMint 技術網站的原創作者,非常喜歡使用電腦工作,堅信分享知識是一種美德。
via: http://www.tecmint.com/network-between-guest-vm-and-host-virtualbox/
作者:Aaron Kili 譯者:rusking 校對:Bestony
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive