virtualbox centos7 nat+host-only方式聯(lián)網(wǎng)踩坑總結(jié)
1、問題背景
按照以往習(xí)慣的設(shè)置我采用橋接模式進行上網(wǎng),但現(xiàn)在面臨的需求場景是這樣:
要求centos虛擬機可以yum install、docker拉互聯(lián)網(wǎng)鏡像,因此需要訪問互聯(lián)網(wǎng)。centos需要訪問本地宿主機的vpn。本地xshell可以ssh訪問cenots虛擬機。
因此為了實現(xiàn)我的目標(biāo)需求,采用了 nat+host-only方式對虛擬機進行設(shè)置。在設(shè)置的過程中花了一些時間,為了總結(jié)經(jīng)驗就有了該文章。
2、虛擬機網(wǎng)卡有哪些連接方式?
VirtualBox中有4中網(wǎng)絡(luò)連接方式:
- NAT
- Bridged Adapter
- Internal
- Host-only Adapter
先來一張圖,通過這張圖就很容易看出這4種方式的區(qū)別:

2.1、NAT
NAT:Network Address Translation,網(wǎng)絡(luò)地址轉(zhuǎn)換
NAT模式是最簡單的實現(xiàn)虛擬機上網(wǎng)的方式,你可以這樣理解:
Guest訪問網(wǎng)絡(luò)的所有數(shù)據(jù)都是由主機提供的,Guest并不真實存在于網(wǎng)絡(luò)中,主機與網(wǎng)絡(luò)中的任何機器都不能查看和訪問到Guest的存在。
Guest可以訪問主機能訪問到的所有網(wǎng)絡(luò),但是對于主機以及主機網(wǎng)絡(luò)上的其他機器,Guest又是不可見的,甚至主機也訪問不到Guest。
**虛擬機與主機的關(guān)系:**只能單向訪問,虛擬機可以通過網(wǎng)絡(luò)訪問到主機,主機無法通過網(wǎng)絡(luò)訪問到虛擬機。
**虛擬機與網(wǎng)絡(luò)中其他主機的關(guān)系:**只能單向訪問,虛擬機可以訪問到網(wǎng)絡(luò)中其他主機,其他主機不能通過網(wǎng)絡(luò)訪問到虛擬機。
**虛擬機與虛擬機的關(guān)系:**相互不能訪問,虛擬機與虛擬機各自完全獨立,相互間無法通過網(wǎng)絡(luò)訪問彼此。
2.2、Bridged Adapter(網(wǎng)橋模式)
網(wǎng)橋模式,你可以這樣理解:
它是通過主機網(wǎng)卡,架設(shè)了一條橋,直接連入到網(wǎng)絡(luò)中了。因此,它使得虛擬機能被分配到一個網(wǎng)絡(luò)中獨立的IP,所有網(wǎng)絡(luò)功能完全和在網(wǎng)絡(luò)中的真實機器一樣。
網(wǎng)橋模式下的虛擬機,你把它認為是真實計算機就行了。
**虛擬機與主機的關(guān)系:**可以相互訪問,因為虛擬機在真實網(wǎng)絡(luò)段中有獨立IP,主機與虛擬機處于同一網(wǎng)絡(luò)段中,彼此可以通過各自IP相互訪問。
**虛擬機于網(wǎng)絡(luò)中其他主機的關(guān)系:**可以相互訪問,同樣因為虛擬機在真實網(wǎng)絡(luò)段中有獨立IP,虛擬機與所有網(wǎng)絡(luò)其他主機處于同一網(wǎng)絡(luò)段中,彼此可以通過各自IP相互訪問。
**虛擬機與虛擬機的關(guān)系:**可以相互訪問,原因同上。
2.3、Internal(內(nèi)網(wǎng)模式)
內(nèi)網(wǎng)模式,顧名思義就是內(nèi)部網(wǎng)絡(luò)模式:
虛擬機與外網(wǎng)完全斷開,只實現(xiàn)虛擬機于虛擬機之間的內(nèi)部網(wǎng)絡(luò)模式。
**虛擬機與主機的關(guān)系:**不能相互訪問,彼此不屬于同一個網(wǎng)絡(luò),無法相互訪問。
**虛擬機與網(wǎng)絡(luò)中其他主機的關(guān)系:**不能相互訪問,理由同上。
**虛擬機與虛擬機的關(guān)系:**可以相互訪問,前提是在設(shè)置網(wǎng)絡(luò)時,兩臺虛擬機設(shè)置同一網(wǎng)絡(luò)名稱。如上配置圖中,名稱為intnet。
2.4、Host-only Adapter(主機模式)
主機模式,這是一種比較復(fù)雜的模式,需要有比較扎實的網(wǎng)絡(luò)基礎(chǔ)知識才能玩轉(zhuǎn)??梢哉f前面幾種模式所實現(xiàn)的功能,在這種模式下,通過虛擬機及網(wǎng)卡的設(shè)置都可以被實現(xiàn)。
我們可以理解為Guest在主機中模擬出一張專供虛擬機使用的網(wǎng)卡,所有虛擬機都是連接到該網(wǎng)卡上的,我們可以通過設(shè)置這張網(wǎng)卡來實現(xiàn)上網(wǎng)及其他很多功能,比如(網(wǎng)卡共享、網(wǎng)卡橋接等)。
**虛擬機與主機的關(guān)系:**默認不能相互訪問,雙方不屬于同一IP段,host-only網(wǎng)卡默認IP段為192.168.56.X 子網(wǎng)掩碼為255.255.255.0,后面的虛擬機被分配到的也都是這個網(wǎng)段。通過網(wǎng)卡共享、網(wǎng)卡橋接等,可以實現(xiàn)虛擬機于主機相互訪問。
**虛擬機與網(wǎng)絡(luò)主機的關(guān)系:**默認不能相互訪問,原因同上,通過設(shè)置,可以實現(xiàn)相互訪問。
**虛擬機與虛擬機的關(guān)系:**默認可以相互訪問,都是同處于一個網(wǎng)段。
3、讓我們動手配置吧!
軟件環(huán)境
- virtualbox 6.0.22
- centos linux7
3.1 設(shè)置Nat網(wǎng)絡(luò)
設(shè)置nat網(wǎng)絡(luò)是為了讓虛擬機可以訪問互聯(lián)網(wǎng)。
設(shè)置前先把虛擬機關(guān)機,筆者在這里踩坑了很久。
- 在 VirtualBox 主控制界面點擊 【管理】–【全局設(shè)定】–【網(wǎng)絡(luò)】–【添加新NAT網(wǎng)絡(luò)】
- 在彈出的對話框中,設(shè)置【網(wǎng)絡(luò)CIDR】為【192.168.100.0/24】,【確定】
入下圖所示:

在管理界面點擊【設(shè)置】–【網(wǎng)絡(luò)】–【網(wǎng)卡1】,【連接方式】選擇【NAT網(wǎng)絡(luò)】,【界面名稱】選【NATNetwork】,【確定】,截圖如下:

【啟動】
登陸進系統(tǒng)之后,運行:
# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
將【ONBOOT】改為【yes】 具體配置如下:
TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=dhcp DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=enp0s3 UUID=3b8d1c63-5d2e-43d2-9508-6c1ecec961346 DEVICE=enp0s3 ONBOOT=yes HWADDR=08:00:27:AF:90:BF
重啟網(wǎng)絡(luò)服務(wù):
systemctl restart network
此時可以正常聯(lián)網(wǎng)了,curl訪問百度入下圖所示:

但是此時還不能通過 SSH 登陸服務(wù)器。
3.2 設(shè)置Host-only網(wǎng)絡(luò)
設(shè)置前先把虛擬機關(guān)機,筆者在這里踩坑了很久。
在【管理】–【全局設(shè)定】–【網(wǎng)絡(luò)】中,應(yīng)該能看到【僅主機(Host-Only)網(wǎng)絡(luò)】的選項卡。在安裝完 VirtualBox后,在計算機的【網(wǎng)絡(luò)和共享中心】–【更改適配器設(shè)置】中可以看到【VirtualBox Host-Only Network】:

右鍵【屬性】–【Internet協(xié)議版本4(TCP/IPv4)】中可以看到 IP 地址是【192.168.56.1】:
回到 VirtualBox,選擇【編輯僅主機(Host-Only)網(wǎng)絡(luò)】??梢钥吹剑?/p>


【設(shè)置】–【網(wǎng)絡(luò)】–【網(wǎng)卡2】–【啟用網(wǎng)絡(luò)連接】,【連接方式】選【僅主機(Host-Only)網(wǎng)絡(luò)】:

開機。
執(zhí)行下列命令:
復(fù)制一份網(wǎng)卡配置
cp ifcfg-enp0s3 ifcfg-enp0s8 vi ifcfg-enp0s8
刪除【HWADDR】行,刪除【UUID】行,添加【IPADDR】和【NETMASK】,修改【DEVICE】為【enp0s8】,【BOOTPROTO】為【static】:
TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=enp0s8 UUID=3b8d1c63-5d2e-43d2-9508-6c1ecec96146 DEVICE=enp0s8 ONBOOT=yes IPADDR=192.168.56.42 NETMASK=255.255.255.0
重啟網(wǎng)絡(luò)服務(wù)。
systemctl restart network
此時可以使用 xshell連接虛擬機了,配置連接入下圖所示:

連接成功入下圖所示:

收工!
參考
https://www.cnblogs.com/dee0912/p/5470700.html
https://www.cnblogs.com/york-hust/archive/2012/03/29/2422911.html
到此這篇關(guān)于virtualbox centos7 nat+host-only方式聯(lián)網(wǎng)踩坑總結(jié)的文章就介紹到這了,更多相關(guān)virtualbox host-only聯(lián)網(wǎng)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
配置?VirtualBox?虛擬機的網(wǎng)絡(luò)模式
這篇文章主要介紹了配置?VirtualBox?虛擬機的網(wǎng)絡(luò)模式,主要以 VirtualBox 為例梳理一下虛擬機的網(wǎng)絡(luò)設(shè)置,具有一的參考價值,需要的朋友可以參考一下2022-04-04
virtualbox不能安裝64位系統(tǒng)的解決方法
這篇文章主要為大家詳細介紹了virtualbox不能安裝64位系統(tǒng)的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-11-11
virtualbox安裝增強功能時【未能加載虛擬光盤】的問題解決
本篇文章主要介紹了virtualbox安裝增強功能時【未能加載虛擬光盤】的問題解決,對virtualbox安裝增強功能遇到問題具有一定的參考價值,有需要的可以了解一下。2016-11-11
VirtualBox中最小化安裝Centos8.1虛擬機的教程詳解
這篇文章主要介紹了VirtualBox中最小化安裝Centos8.1虛擬機的方法,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-05-05
virtualbox虛擬機網(wǎng)絡(luò)設(shè)置原理解析
這篇文章為大家詳細主要介紹了virtualbox虛擬機網(wǎng)絡(luò)設(shè)置原理,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-10-10
Oracle VM VirtualBox 安裝CentOS7操作系統(tǒng)的教程圖解
這篇文章主要介紹了Oracle VM VirtualBox 安裝CentOS7操作系統(tǒng)的教程圖解,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-11-11
Virtualbox?NAT網(wǎng)絡(luò)配置方法
這篇文章主要介紹了Virtualbox?NAT網(wǎng)絡(luò)配置,配置NAT網(wǎng)絡(luò)很簡單,配置好之后,需要配置端口映射,將虛擬機中的服務(wù)映射出來,可以在局域網(wǎng)中測試并使用,具體操作步驟跟隨小編一起看看吧2022-03-03
VirtualBox安裝CentOS實現(xiàn)鼠標(biāo)自動切換和復(fù)制粘貼功能
這篇文章主要介紹了VirtualBox安裝CentOS實現(xiàn)鼠標(biāo)自動切換和復(fù)制粘貼,需要的朋友可以參考下2017-02-02

