| 2017-03-01 13:40 評論: 3 收藏: 3 php
當你在 VirtualBox 虛擬機軟件 中安裝了各類操做系統時,你可能須要實現宿主機與虛擬機之間的相互訪問。html
在這篇文章中,咱們將會以最簡單明瞭的方式來講明如何配置客戶機與 Linux 宿主機的網絡,以實現二者相互訪問或者讓客戶機鏈接到外網。(LCTT 譯註:客戶機指 Oracle VirtualBox 虛擬機軟件中安裝的操做系統,如本文中用到的 CentOS 7 和 Ubuntu 16.10 。宿主機就是你本身的筆記本電腦或臺式機,注意這篇文章中做者的宿主機上安裝的操做系統是 Linux Mint 18 ,而不是咱們平時使用的 Windows 系統。)linux
本文測試環境: 一、宿主機操做系統—— Linux Mint 18 二、客戶機操做系統—— CentOS 7 和 Ubuntu 16.10git
爲了讓宿主機和客戶機可以互相聯通,這兩個機器的默認網卡 IP 必須設置在同一網段,你能夠爲客戶機添加多達 4 塊網卡。github
默認網卡(網卡 1)一般用於使用 NAT 鏈接方式鏈接到宿主機進行上網。centos
重要提示:一般老是設置第一塊網卡與宿主機通訊,第二塊網卡鏈接到外網。服務器
在下面的 VirtualBox 管理器界面,建立客戶機和宿主機之間的通訊網卡。網絡
打開文件->首選項配置,或者使用組合鍵 Ctrl + G
:ssh
Virtualbox 首選項界面編輯器
在下圖中有兩個選項,單擊並選擇僅主機( Host-only )網絡。而後使用右側的 +
按鈕來添加一個新的僅主機網絡。
設置客戶機網絡
這樣就建立好了一個名爲 vboxnet0 的新的僅主機模式網卡。
若是你願意,你可使用中間的 -
按鈕來刪除這個網卡,你能夠單擊編輯按鈕來查看這個網卡的詳細配置信息。
你也能夠根據本身的實際環境修改配置信息,好比網絡地址,子網掩碼等等。
注意:下圖中的 IPv4 地址就是你的宿主機的 IP 地址。
宿主機網絡信息
下圖中,若是你想讓客戶機使用動態 IP 地址,你能夠經過配置 DHCP 服務來完成(在使用前請確保啓用 DHCP )。可是我建議你爲客戶機配置一個靜態 IP 地址。
在下面的設置全部網絡界面單擊 OK 按鈕來保存修改的配置。
爲客戶機設置靜態 IP 地址
注意:你能夠根據下面的步驟來爲任何須要與宿主機通訊的客戶機添加網卡。
回到 VirtualBox 管理器界面,選擇客戶機,好比 Ubuntu 16.10 Server 或者 CentOS 7 ,而後單擊設置菜單。
配置客戶機網絡設置
從下圖的界面中選擇網絡選項。而後配置第一塊網卡( 網卡 1 )的信息以下:
以下圖所示,單擊 OK 來保存設置:
啓用客戶機網絡
以後添加第二塊網卡(網卡 2 )來讓客戶機鏈接到宿主機進行上網。使用下面的設置:
Enable Network Adapter for VM
爲客戶機啓用網絡鏈接
啓動客戶機,登陸系統並配置靜態 IP 地址。在客戶機上執行下面的命令來查看全部網卡配置信息,而後分配一個 IP 地址:
$ ip add
爲客戶機配置靜態 IP 地址
從上面的截圖中能夠看出客戶機已啓用了三塊網卡:
lo
——迴環網絡接口enp0s3
(網卡 1)—— 前一步咱們配置的鏈接方式爲僅主機( Host-Only)模式而且已啓用 DHCP 的網卡,以後咱們又配置成了靜態 IP 地址。enp0s8
(網卡 2)—— 用於鏈接到外網。該網卡默認狀況下使用 DHCP 來動態獲取 IP 地址。重要提示: 這裏我使用的是 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
重要提示: 這裏我使用的是 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 工具鏈接到 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