您好,登錄后才能下訂單哦!
0.說明
本篇博文為《在實踐中深入理解VMware虛擬機的上網模式》系列的其中一篇:NAT模式。
有關于深入理解VMware虛擬機的上網模式的意義,可以參考本系列博文的另一篇《在實踐中深入理解VMware虛擬機的上網模式:NAT模式》中的說明部分,這里不再展開說明。
本博文的撰寫方式還是以理論為主線,結合實際操作,在實踐中深入理解VMware虛擬機的各種上網方式。
VMware虛擬機的上網方式有三種:NAT、橋接、僅主機模式,本篇介紹橋接模式。
1.實驗環境
博主的實驗環境如下:
宿主機操作系統:Windows 7
VMware Workstation版本:12.5.2 build-4638234
虛擬機操作系統:CentOS 6.5
虛擬機操作系統上網方式:橋接模式
說明:為了后面的測試正常,請務必將宿主機和虛擬機的操作系統的防火墻功能關閉。實際上虛擬機使用哪一種操作系統是沒有影響的,為了方便測試驗證,應該使用自己熟悉的操作系統。
對于上網模式的設置,可以參考下面的圖示:
2.橋接模式的理論知識
當把我們的虛擬機的上網方式設置為橋接模式時,虛擬機、宿主機、各網卡之間的連接關系可用下圖來表示:
事實上,上面的原理圖可以等價為下面的網絡拓撲圖:
因此,當虛擬機使用橋接模式上網時,你可以把這臺虛擬機完全看作是宿主機所在局域中的一臺真實主機,它使用的網絡地址信息跟宿主機的完全一樣。
不過需要注意的是,由于我們的宿主機中可能會有多張網卡,因此,在VMware Workstation中,我們是可以設定我們的虛擬機橋接到哪一張網卡上的:
如圖,博主是把當前的虛擬機橋接到宿主機的無線網卡上,因此虛擬機的網絡地址信息應該跟宿主機在無線網卡上所獲取到的網絡地址信息是在同一個網段的,即它們位于同一個局域網中。
3.在實踐中深入理解橋接模式的網絡原理
先在我們的宿主機上查看網絡地址信息:
可以看到宿主機所在局域網的IP地址段為192.168.1.0/24,因為我的宿主機是接wifi來上網的,并且使用的是DHCP方式來獲取ip地址,所以我們可以在虛擬機上設置使用dhcp的方式來獲取IP地址,CentOS的dhcp配置如下:
[root@leaf ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 HWADDR=00:0c:29:3b:4c:6d TYPE=Ethernet UUID=5ae16ecc-0149-487e-8dab-51afc75bd265 ONBOOT=yes NM_CONTROLLED=yes #BOOTPROTO=static BOOTPROTO=dhcp IPADDR=10.0.0.101 NETMASK=255.255.255.0 GATEWAY=10.0.0.2 DNS1=202.96.128.86 DNS2=202.96.128.166 IPV6INIT=no USERCTL=no PEERDNS=yes
重啟CentOS的網絡服務:
[root@leaf ~]# /etc/init.d/network restart Shutting down interface eth0: [ OK ] Shutting down loopback interface: [ OK ] Bringing up loopback interface: [ OK ] Bringing up interface eth0: Determining IP information for eth0... done. [ OK ]
再查看IP地址信息:
[root@leaf ~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:3B:4C:6D inet addr:192.168.1.106 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe3b:4c6d/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:31386 errors:0 dropped:0 overruns:0 frame:0 TX packets:15738 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:14467018 (13.7 MiB) TX bytes:1726371 (1.6 MiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:239 errors:0 dropped:0 overruns:0 frame:0 TX packets:239 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:23198 (22.6 KiB) TX bytes:23198 (22.6 KiB)
這時可以測試宿主機與虛擬機的連通情況,在宿主機上ping虛擬機的IP地址:
或者在CentOS上ping宿主機:
[root@leaf ~]# ping 192.168.1.100 PING 192.168.1.100 (192.168.1.100) 56(84) bytes of data. 64 bytes from 192.168.1.100: icmp_seq=1 ttl=128 time=0.530 ms 64 bytes from 192.168.1.100: icmp_seq=2 ttl=128 time=0.482 ms 64 bytes from 192.168.1.100: icmp_seq=3 ttl=128 time=0.508 ms 64 bytes from 192.168.1.100: icmp_seq=4 ttl=128 time=0.579 ms 64 bytes from 192.168.1.100: icmp_seq=5 ttl=128 time=0.447 ms 64 bytes from 192.168.1.100: icmp_seq=6 ttl=128 time=0.448 ms 64 bytes from 192.168.1.100: icmp_seq=7 ttl=128 time=0.552 ms 64 bytes from 192.168.1.100: icmp_seq=8 ttl=128 time=0.220 ms ^C --- 192.168.1.100 ping statistics --- 8 packets transmitted, 8 received, 0% packet loss, time 7352ms rtt min/avg/max/mdev = 0.220/0.470/0.579/0.107 ms
因為虛擬機和宿主機都是在同一個局域網中,所以正常情況下它們肯定是可以互通的,當出現通信不正常的情況下,就需要注意看是否是因為開啟了防火墻而把數據丟棄掉,所以在這些測試中,都 是建議把防火墻關掉的。
上面的IP地址信息,對應到前面的原理圖上,如下:
再將其用網絡拓撲圖來表示,就相當于:
所以這樣一來我們就很清楚,當VMware虛擬機使用橋接模式上網時,其背后的網絡通信原理和細節的一個完整過程了。
4.下一步應該做什么
上面對于虛擬機使用的是DHCP分配的地址的方式,實際用手動分配也是可以的,這時它一樣可以和宿主機進行網絡通信,可以自行測試一下。
5.在實際當中的應用
首先第一點是,當我們的虛擬機出現網絡問題的時候,都是需要先了解清楚網絡的拓撲結構再進行網絡排錯的,所以上面的內容就為我們提供了非常好的理論與實踐知識。
另外,如果可以在理解這些網絡知識的前提下再去搭建各種服務,做各種測試,可以讓我們做到胸有成竹的一種狀態,而不再是“霧里看花,水中望月”了,相應在這樣的不斷嘗試中,我們的綜合操作能力一定會變得更強。
不過仍然需要說明的是,上面的圖解仍然只是做參考,其中的很多細節都是需要了解VMware Workstation的網絡虛擬化的細節才可以真正了解清楚的,但不管怎么說,上面的內容對于在網絡通信上面,還是可以給我們帶來很大的幫助的,真心希望可以幫到大家!
由于能力和時間有限,如果發現有問題的,望及時指出。
補充:
對于網絡排錯,可以參考博主之前寫的一篇博文:《網絡排錯大講解》。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。