Linux中國

如何配置 VirtualBox 中的客戶機與宿主機之間的網路連接

在這篇文章中,我們將會以最簡單明了的方式來說明如何配置客戶機與 Linux 宿主機的網路,以實現兩者相互訪問或者讓客戶機連接到外網。(LCTT 譯註:客戶機指 Oracle VirtualBox 虛擬機軟體中安裝的操作系統,如本文中用到的 CentOS 7 和 Ubuntu 16.10 。宿主機就是你自己的筆記本電腦或台式機,注意這篇文章中作者的宿主機上安裝的操作系統是 Linux Mint 18 ,而不是我們平時使用的 Windows 系統。)

本文測試環境: 1、宿主機操作系統—— Linux Mint 18 2、客戶機操作系統—— CentOS 7 和 Ubuntu 16.10

要求

  1. 宿主機上安裝的 VirtualBox 虛擬機 能正常使用。
  2. 你得事先在 Oracle virtualBox 虛擬機軟體中安裝好客戶機操作系統,比如 Ubuntu、Fedora、CentOS、 Linux Mint 或者其它的 Linux 系統也行。
  3. 在你配置網路前,請先關閉客戶機。

為了讓宿主機和客戶機能夠互相聯通,這兩個機器的默認網卡 IP 必須設置在同一網段,你可以為客戶機添加多達 4 塊網卡。

默認網卡(網卡 1)通常用於使用 NAT 連接方式連接到宿主機進行上網。

重要提示:通常總是設置第一塊網卡與宿主機通信,第二塊網卡連接到外網。

為客戶機和宿主機創建網卡

在下面的 VirtualBox 管理器界面,創建客戶機和宿主機之間的通信網卡。

打開文件->首選項配置,或者使用組合鍵 Ctrl + G

Virtualbox Preferences Window

Virtualbox 首選項界面

在下圖中有兩個選項,單擊並選擇 僅主機 Host-only 網路。然後使用右側的 + 按鈕來添加一個新的僅主機網路。

Set Guest Network

設置客戶機網路

這樣就創建好了一個名為 vboxnet0 的新的僅主機模式網卡。

如果你願意,你可以使用中間的 - 按鈕來刪除這個網卡,你可以單擊編輯按鈕來查看這個網卡的詳細配置信息。

你也可以根據自己的實際環境修改配置信息,比如網路地址,子網掩碼等等。

注意:下圖中的 IPv4 地址就是你的宿主機的 IP 地址。

Host Network Details

宿主機網路信息

下圖中,如果你想讓客戶機使用動態 IP 地址,你可以通過配置 DHCP 服務來完成(在使用前請確保啟用 DHCP )。但是我建議你為客戶機配置一個靜態 IP 地址。

在下面的設置所有網路界面單擊 OK 按鈕來保存修改的配置。

Set Guest Static IP aAddress

為客戶機設置靜態 IP 地址

配置客戶機網路設置

注意:你可以根據下面的步驟來為任何需要與宿主機通信的客戶機添加網卡。

回到 VirtualBox 管理器界面,選擇客戶機,比如 Ubuntu 16.10 Server 或者 CentOS 7 ,然後單擊設置菜單。

Configure VM Settings

配置客戶機網路設置

配置客戶機網卡以連接到宿主機

從下圖的界面中選擇網路選項。然後配置第一塊網卡( 網卡 1 )的信息如下:

  1. 勾選選項:「啟用網卡」來開啟該網卡。
  2. 在連接方式選項:選擇 僅主機 Host-only 網路。
  3. 然後選擇網卡名稱:vboxnet0

如下圖所示,單擊 OK 來保存設置:

Enable Network Adapter for Guest VM

啟用客戶機網路

配置客戶機網卡連接外網

之後添加第二塊網卡(網卡 2 )來讓客戶機連接到宿主機進行上網。使用下面的設置:

  1. 勾選選項:「啟用網路連接」來激活這塊網卡。
  2. 在連接方式選項:選擇 NAT 方式。

Enable Network Adapter for VM

為客戶機啟用網路連接

為客戶機設置靜態 IP 地址

啟動客戶機,登錄系統並配置靜態 IP 地址。在客戶機上執行下面的命令來查看所有網卡配置信息,然後分配一個 IP 地址:

$ ip add

Configure Static IP Address for VM

為客戶機配置靜態 IP 地址

從上面的截圖中可以看出客戶機已啟用了三塊網卡:

  1. lo ——迴環網路介面
  2. enp0s3 (網卡 1)—— 前一步我們配置的連接方式為 僅主機 Host-Only 模式並且已啟用 DHCP 的網卡,之後我們又配置成了靜態 IP 地址。
  3. 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

Connect Guest VM using SSH

使用 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

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國