首先說明使用有線網卡和使用wifi模式是不同的。
virtualbox默認的網絡連接方式如下
這種連接方式虛擬機可以ping通宿主機和外網,但是宿主機無法ping通虛擬機,執行ip address命令可以看到虛擬機自動分配的ip地址是10.0.2.15(我這里顯示的是這個ip,可能會有不同),跟宿主機根本不在一個網段。
VirtualBox的四種網絡連接方式
可以看到橋接模式是最佳選項,它支持所有情況的訪問 。
我的實際情況是在新建虛擬機的時候就設置好 bridge模式。 我是wifi網絡,選擇intel wifi. 然后建好虛擬機就行了,這種方法不需要額外設置,就可以有虛擬機和主機相互ping通的效果。可謂是開箱即用。
在虛擬機里選擇要橋接的物理網卡,這里選擇的是Intel wi-fi這個物理網卡:
因為啟用了【網卡1】,虛擬機會給Ubuntu系統配置一塊虛擬網卡【enp03】,這里我們設置Ubuntu虛擬網卡和橋接的Windows物理網卡在同一個網段,這樣就可以實現互通了;
因為windows的wifi網卡地址是:10.4.23.200,所以設置虛擬機的enp0s3網卡地址為:10.4.23.218;這樣兩個系統現在都在真實的網絡上,且可以正常上網。
出現的問題:有一次我發現主機可以ping通虛擬機,虛擬機ping不同主機。
解決辦法:
控制面板->windows 防火牆->啟用或關閉windows防火牆->關閉(建議重啟計算機)。
Bridged(橋接模式)
橋接模式就是將主機的網卡,與虛擬機虛擬的網卡利用虛擬網橋進行通信。
- 類似於把物理主機虛擬為一個交換機,所有橋接設置的虛擬機連接到這個交換機的一個接口上,物理主機也同樣插在這個交換機當中,所以所有橋接下的網卡與網卡都是交換模式的,相互可以訪問而不干擾。
- 虛擬機ip地址需要與主機在同一個網段,如果需要聯網,則網關與DNS需要與主機網卡一致。
其網絡結構如下圖所示:
- 橋接模式:物理機和虛擬機在網絡上是一樣的,虛擬系統相當於在此網絡下的一個獨立系統,需要分配網絡的一個獨立IP。
- 連接時指定的橋接到哪個物理網卡,相當於要把虛擬系統接到那個網段的交換機上。
https://zhuanlan.zhihu.com/p/403513377
https://www.cnblogs.com/chenhaoqiang/p/9491902.html
https://zhuanlan.zhihu.com/p/403513377