【轉】VirtualBox配置雙網卡實現宿主機和虛擬機相互訪問及網絡互通

 

原文:https://zhuanlan.zhihu.com/p/458822186

----------------

近期在使用VirtualBox的時候遇到這樣的場景,我們需要讓宿主機可以訪問虛擬機內部的服務,並且虛擬機可以上網。VirtualBox默認的網絡方式是Nat網絡地址轉換,虛擬機可以直接上網但是宿主機卻無法訪問虛擬機的服務。

四種網絡類型

1、NAT 網絡地址轉換模式(NAT,Network Address Translation) 2、Bridged Adapter 橋接模式 3、Internal 內部網絡模式 4、Host-only Adapter

主機模式VMWare中有三種,其實他跟VMWare 的網絡連接方式都是一樣概念,只是比VMWare多了Internal方式。要讓自己(或別人)理解深刻,方法就是做比較和打比方,比較之間的不同和相同,拿熟知的事物打比方。先來一張圖,通過這張圖就很容易看出這4種方式的區別:

 

 

解決方案

我們可以使用雙網卡的配置來完成這個需求。

首先將網卡1設置爲僅主機(Host-Only)網絡

 

 

如果沒有這個選項,那麼點擊管理,然後點擊主機網絡管理器,點擊創建新建一個host-only網絡即可

 

 

然後啓用網卡2,將網卡2設置爲網絡地址轉換NAT

 

 

然後啓動ubuntu,命令行中輸入ip a查看網卡,由圖中我們可以看到已經有兩張網卡:enp0s3和enp0s8

 

 

我們在/etc/netplan/文件夾下新建一個網卡配置文件netcfg.yaml

cd /etc/netplan/
vim netcfg.yaml

然後寫上如下內容:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:				//對應網卡名稱,這個是host-only網絡
      addresses:
              - 192.168.56.101/24	// 我們給虛擬機分配的內網固定靜態ip地址
      dhcp4: no
    enp0s8:				// 這個是nat地址轉換網絡
      addresses: []
      dhcp4: true

然後保存,使用以下命令讓配置生效:

 sudo netplan generate
 sudo netplan apply

這個時候配置應該生效了,可以ping一下我們給虛擬機配置的ip看看是否可ping通

 

 

如果ping不通,可以嘗試重啓試一下。

我們在虛擬機內部ping一下百度,驗證是否可以上網

 

 

虛擬主機內部我安裝了寶塔,所以接下來嘗試訪問寶塔的端口看是否正常

 

 

ok,至此已配置完成。

本文參考:

編輯於 2022-01-18 10:23
VirtualBox
虛擬機
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章