這篇文章主要介紹虛擬機網卡有哪些連接方式,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
按照以往習慣的設置我采用橋接模式進行上網,但現在面臨的需求場景是這樣:
要求centos虛擬機可以yum install、docker拉互聯網鏡像,因此需要訪問互聯網。centos需要訪問本地宿主機的vpn。本地xshell可以ssh訪問cenots虛擬機。
因此為了實現我的目標需求,采用了 nat+host-only方式對虛擬機進行設置。
VirtualBox中有4中網絡連接方式:
NAT
Bridged Adapter
Internal
Host-only Adapter
先來一張圖,通過這張圖就很容易看出這4種方式的區別:
NAT:Network Address Translation,網絡地址轉換
NAT模式是最簡單的實現虛擬機上網的方式,你可以這樣理解:
Guest訪問網絡的所有數據都是由主機提供的,Guest并不真實存在于網絡中,主機與網絡中的任何機器都不能查看和訪問到Guest的存在。
Guest可以訪問主機能訪問到的所有網絡,但是對于主機以及主機網絡上的其他機器,Guest又是不可見的,甚至主機也訪問不到Guest。
**虛擬機與主機的關系:**只能單向訪問,虛擬機可以通過網絡訪問到主機,主機無法通過網絡訪問到虛擬機。
**虛擬機與網絡中其他主機的關系:**只能單向訪問,虛擬機可以訪問到網絡中其他主機,其他主機不能通過網絡訪問到虛擬機。
**虛擬機與虛擬機的關系:**相互不能訪問,虛擬機與虛擬機各自完全獨立,相互間無法通過網絡訪問彼此。
網橋模式,你可以這樣理解:
它是通過主機網卡,架設了一條橋,直接連入到網絡中了。因此,它使得虛擬機能被分配到一個網絡中獨立的IP,所有網絡功能完全和在網絡中的真實機器一樣。
網橋模式下的虛擬機,你把它認為是真實計算機就行了。
**虛擬機與主機的關系:**可以相互訪問,因為虛擬機在真實網絡段中有獨立IP,主機與虛擬機處于同一網絡段中,彼此可以通過各自IP相互訪問。
**虛擬機于網絡中其他主機的關系:**可以相互訪問,同樣因為虛擬機在真實網絡段中有獨立IP,虛擬機與所有網絡其他主機處于同一網絡段中,彼此可以通過各自IP相互訪問。
**虛擬機與虛擬機的關系:**可以相互訪問,原因同上。
內網模式,顧名思義就是內部網絡模式:
虛擬機與外網完全斷開,只實現虛擬機于虛擬機之間的內部網絡模式。
**虛擬機與主機的關系:**不能相互訪問,彼此不屬于同一個網絡,無法相互訪問。
**虛擬機與網絡中其他主機的關系:**不能相互訪問,理由同上。
**虛擬機與虛擬機的關系:**可以相互訪問,前提是在設置網絡時,兩臺虛擬機設置同一網絡名稱。如上配置圖中,名稱為intnet。
主機模式,這是一種比較復雜的模式,需要有比較扎實的網絡基礎知識才能玩轉??梢哉f前面幾種模式所實現的功能,在這種模式下,通過虛擬機及網卡的設置都可以被實現。
我們可以理解為Guest在主機中模擬出一張專供虛擬機使用的網卡,所有虛擬機都是連接到該網卡上的,我們可以通過設置這張網卡來實現上網及其他很多功能,比如(網卡共享、網卡橋接等)。
**虛擬機與主機的關系:**默認不能相互訪問,雙方不屬于同一IP段,host-only網卡默認IP段為192.168.56.X 子網掩碼為255.255.255.0,后面的虛擬機被分配到的也都是這個網段。通過網卡共享、網卡橋接等,可以實現虛擬機于主機相互訪問。
**虛擬機與網絡主機的關系:**默認不能相互訪問,原因同上,通過設置,可以實現相互訪問。
**虛擬機與虛擬機的關系:**默認可以相互訪問,都是同處于一個網段。
軟件環境
virtualbox 6.0.22
centos linux7
設置nat網絡是為了讓虛擬機可以訪問互聯網。
設置前先把虛擬機關機,筆者在這里踩坑了很久。
在 VirtualBox 主控制界面點擊 【管理】–【全局設定】–【網絡】–【添加新NAT網絡】
在彈出的對話框中,設置【網絡CIDR】為【192.168.100.0/24】,【確定】
入下圖所示:
在管理界面點擊【設置】–【網絡】–【網卡1】,【連接方式】選擇【NAT網絡】,【界面名稱】選【NATNetwork】,【確定】,截圖如下:
【啟動】
登陸進系統之后,運行:
# 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
重啟網絡服務:
systemctl restart network
此時可以正常聯網了,curl訪問百度入下圖所示:
但是此時還不能通過 SSH 登陸服務器。
設置前先把虛擬機關機,筆者在這里踩坑了很久。
在【管理】–【全局設定】–【網絡】中,應該能看到【僅主機(Host-Only)網絡】的選項卡。在安裝完 VirtualBox后,在計算機的【網絡和共享中心】–【更改適配器設置】中可以看到【VirtualBox Host-Only Network】:
右鍵【屬性】–【Internet協議版本4(TCP/IPv4)】中可以看到 IP 地址是【192.168.56.1】:
回到 VirtualBox,選擇【編輯僅主機(Host-Only)網絡】??梢钥吹剑?/p>
【設置】–【網絡】–【網卡2】–【啟用網絡連接】,【連接方式】選【僅主機(Host-Only)網絡】:
開機。
執行下列命令:
復制一份網卡配置
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
重啟網絡服務。
systemctl restart network
此時可以使用 xshell連接虛擬機了,配置連接入下圖所示:
連接成功入下圖所示:
以上是“虛擬機網卡有哪些連接方式”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。