一、聯網方式
virtualBox提供的網絡接入方式包括四種:
- NAT網絡
- 橋接網絡
- 內部網絡
- 僅主機(Host-Only)網絡
下面就簡單介紹一下這四種聯網方式有什麼區別,大家可以根據自己的情況選擇合適的方式聯網。
(一)NAT網絡
NAT:Network Address Translation,網絡地址轉換
Guest訪問網絡的所有數據都是由主機提供的,Guest並不真實存在於網絡中,主機與網絡中的任何機器都不能查看和訪問到Guest的存在。
因此,使用這種配置聯網我們的虛擬機可以訪問到網絡以及主機,但是主機卻不能訪問到虛擬機,也就是我們用xshell無法連接我們的虛擬機。
- 虛擬機與主機的關係:只能單向訪問,虛擬機可以通過網絡訪問到主機,主機無法通過網絡訪問到虛擬機。
- 虛擬機與網絡中其他主機的關係:只能單向訪問,虛擬機可以訪問到網絡中其他主機,其他主機不能通過網絡訪問到虛擬機。
- 虛擬機與虛擬機的關係:相互不能訪問,虛擬機與虛擬機各自完全獨立,相互間無法通過網絡訪問彼此。
(二)橋接網絡
我們可以理解爲通過主機網卡,架設了一條橋,直接連入網絡中了。因此,虛擬機就能被分配到一個網絡中的獨立IP,所有的網絡功能完全和在網絡中的真實機器一樣。
小編沒有采取這種方式的原因是因爲虛擬機會佔用主機所在網絡的一個IP,但是公司所有的IP都是分配好的,使用這種方式就可能會把別人的IP佔用了。
- 虛擬機與主機的關係:可以相互訪問,因爲虛擬機在真實網絡段中有獨立IP,主機與虛擬機處於同一網絡段中,彼此可以通過各自IP相互訪問。
- 虛擬機於網絡中其他主機的關係:可以相互訪問,同樣因爲虛擬機在真實網絡段中有獨立IP,虛擬機與所有網絡其他主機處於同一網絡段中,彼此可以通過各自IP相互訪問。
- 虛擬機與虛擬機的關係:可以相互訪問,同樣因爲虛擬機在真實網絡段中有獨立IP,虛擬機與所有網絡其他主機處於同一網絡段中,彼此可以通過各自IP相互訪問。
(三)內部網絡
虛擬機與外網完全斷開,只實現虛擬機於虛擬機之間的內部網絡模式
- 虛擬機與主機的關係:不能相互訪問,彼此不屬於同一個網絡,無法相互訪問。
- 虛擬機與網絡中其他主機的關係:不能相互訪問,理由同上。
- 虛擬機與虛擬機的關係:可以相互訪問,前提是在設置網絡時,兩臺虛擬機設置同一網絡名稱。
(四)僅主機(Host-Only)網絡
Guest在主機中模擬出一張專供虛擬機使用的網卡,所有虛擬機都是連接到該網卡上的,我們可以通過設置這張網卡來實現上網及其他很多功能,比如(網卡共享、網卡橋接等)。
4. 虛擬機與主機的關係:默認不能相互訪問,雙方不屬於同一IP段,host-only網卡默認IP段爲192.168.56.X 子網掩碼爲255.255.255.0,後面的虛擬機被分配到的也都是這個網段。通過網卡共享、網卡橋接等,可以實現虛擬機於主機相互訪問。
5. 虛擬機與網絡主機的關係:默認不能相互訪問,原因同上,通過設置,可以實現相互訪問。
6. 虛擬機與虛擬機的關係:默認可以相互訪問,都是同處於一個網段。
二、配置步驟
小編採用的聯網方式是使用兩塊網卡,分配配置NAT(虛擬機訪問互聯網,使用10.0.2.x段)和僅主機模式(虛擬機和主機互相通信,使用192.168.56.x段)。這樣不僅可以訪問外網同時也可以使用xshell連接我們的虛擬機了。
(一)配置兩塊網卡
管理——全局設定——網絡——添加
如果我們只有一塊網卡可以通過下面方法添加一塊新的網卡。
(二)配置NAT網絡
選中虛擬機右擊——設置——網絡——給網卡1選擇網絡轉換地址NAT
注意:我們要記住下面的這個MAC地址,配置網絡是知道對應的網卡配置
我們可以先輸入命令:ip addr,查看NAT網絡對應的網卡是否開啓工作。
從上圖可以看出我的已經開啓工作了,enp0s3對應的是NAT網絡的網卡。如果配置開啓我們就需要將enp0s3的網卡配置文件的onBoot修改爲yes.
命令如下:
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3(注意你的網卡可能不是這個名字)
重啓網卡
service network restart
這樣我們的虛擬機就可以連接外網了,我們可以ping一下百度試一下!成功~
(二)配置僅主機網絡
我們需要設置第二塊網卡來完成主機對虛擬機的訪問了。
首先我們需要在cd /etc/sysconfig/network-scripts/目錄下面看沒有ifcfg-enp0s8文件,如果沒有可以將將ifcfg-enp0s3複製一份,改名爲ifcfg-enp0s8,並且做如下修改:
- 修改HWADR爲host-only網卡的MAC地址。
- 修改BOOTPROTO爲static。 修改NAME爲enp0s8。
- 修改UUID(可以隨意改動一個值,只要不和原先的一樣)。
- 添加IPADDR,可以自己制定,用於主機連接虛擬機使用。
- 添加NETMASK=255.255.255.0。
用xshell測試連接成功!