在這篇文章中,我們将會以最簡單明了的方式來說明如何配置客戶機與 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 連接配接方式連接配接到主控端進行上網。
重要提示:通常總是設定第一塊網卡與主控端通信,第二塊網卡連接配接到外網。
<a target="_blank"></a>
在下面的 virtualbox 管理器界面,建立客戶機和主控端之間的通信網卡。
打開檔案->首選項配置,或者使用組合鍵 <code>ctrl + g</code> :
virtualbox 首選項界面
在下圖中有兩個選項,單擊并選擇僅主機host-only網絡。然後使用右側的 <code>+</code> 按鈕來添加一個新的僅主機網絡。
設定客戶機網絡
這樣就建立好了一個名為 vboxnet0 的新的僅主機模式網卡。
如果你願意,你可以使用中間的 <code>-</code> 按鈕來删除這個網卡,你可以單擊編輯按鈕來檢視這個網卡的詳細配置資訊。
你也可以根據自己的實際環境修改配置資訊,比如網絡位址,子網路遮罩等等。
注意:下圖中的 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
為客戶機啟用網絡連接配接
<code>$ ip add</code>
為客戶機配置靜态 ip 位址
從上面的截圖中可以看出客戶機已啟用了三塊網卡:
<code>lo</code> ——回環網絡接口
<code>enp0s3</code> (網卡 1)—— 前一步我們配置的連接配接方式為僅主機host-only模式并且已啟用 dhcp 的網卡,之後我們又配置成了靜态 ip 位址。
<code>enp0s8</code> (網卡 2)—— 用于連接配接到外網。該網卡預設情況下使用 dhcp 來動态擷取 ip 位址。
重要提示: 這裡我使用的是 ubuntu 16.10 server , ip 位址為 192.168.56.5 。
使用你喜歡的編輯器及管理者賬号打開 <code>/etc/network/interfaces</code> 配置檔案:
<code>$ sudo vi /etc/network/interfaces</code>
修改網卡 enp0s3 的配置資訊如下(根據你的實際環境進行修改):
<code>auto enp0s3</code>
<code>iface enp0s3 inet static</code>
<code>address 192.168.56.5</code>
<code>network 192.168.56.0</code>
<code>netmask 255.255.255.0</code>
<code>gateway 192.168.56.1</code>
<code>dns-nameservers 8.8.8.8 192.168.56.1</code>
儲存并退出。
然後使用下面的指令來重新開機網絡服務:
<code>$ sudo systemctl restart networking</code>
或者,正常重新開機系統,然後檢查網絡配置是否為新的 ip 位址:
重要提示: 這裡我使用的是 centos 7 系統, ip 位址為: 192.168.56.10 。
使用管理者帳号及你喜歡的編輯器打開 enp0s3 (僅主機網絡)的網卡配置檔案 <code>/etc/sysconfig/network-scripts/ifcfg-enp0s3</code> :
<code>$ sudo vi /etc/sysconfig/network-scripts/ifcfg-enp0s3</code>
建立或修改配置檔案資訊如下(根據你實際的環境進行修改):
<code>bootproto=static</code>
<code>onboot=yes</code>
<code>ipaddr=192.168.56.10</code>
<code>network=192.168.56.0</code>
<code>netmask=255.255.255.0</code>
<code>gateway=192.168.56.1</code>
<code>dns=8.8.8.8 192.168.56.1</code>
<code>nm_controlled=no #use this file not network manager to manage interface</code>
儲存并退出。然後使用下面的指令重新開機網絡服務(也可以重新開機系統):
<code>$ sudo systemctl restart network.service</code>
檢查修改的配置地資訊是否生效:
在主控端上使用 ssh 工具來管理你的客戶機。在下面的執行個體中,我将使用 ssh 工具連接配接到 centos 7 伺服器(192.168.56.10):
<code>$ ssh [email protected]</code>
<code>$ who</code>
使用 ssh 工具連接配接客戶機
原文釋出時間為:2017-03-01
本文來自雲栖社群合作夥伴“linux中國”