小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

深入淺出VMware的組網(wǎng)模式

 richsky 2012-03-30
大家都知道VMWare的三種組網(wǎng)模式,分別為Bridge,NAT,Host-Only。VMWare認為使用這三種組網(wǎng)模式則可以搭建出任意的網(wǎng)絡(luò)拓 撲了,事實上也正是如此。如果你對網(wǎng)絡(luò)很精通,那么應(yīng)該很容易就可以理解VMWare的網(wǎng)絡(luò)配置模式,然而即使如此,VMWare由于只是一個虛擬機,沒 有形象的拓撲展示出來。本文簡單的給出三種組網(wǎng)模式的形象化的圖示,另外,VMWare的幫助文檔中也有相當詳細的介紹VMNet的章節(jié)。

一.Bridge模式

顧名思義,Bridge模式就是橋接模式,虛擬機里面的網(wǎng)卡直接橋接在宿主機的某一個物理網(wǎng)卡所在的網(wǎng)段。示意圖如下:

這種方式很多時候是為像我這樣的懶人提供的,然而在非DHCP的情況下,很容易造成IP地址沖突,因此如果不是非要將虛擬機配置在一個網(wǎng)段,就不要用Bridge模式。Bridge模式的組網(wǎng)拓撲如下:

二.NAT模式

所謂NAT模式就是將虛擬機網(wǎng)卡隱藏在了一個NAT設(shè)備之后,在外界看來,只能看到宿主機物理網(wǎng)卡,甚至連NAT設(shè)備都看不到,NAT設(shè)備默默地轉(zhuǎn)換著虛擬機內(nèi)部出來的連接的源地址,如下圖所示:

然而,有一個細節(jié),那就是上圖中的菱形到底是如何實現(xiàn)的,VMWare到底如何在不同的宿主操作系統(tǒng)下模擬出一個一致的NAT設(shè)備的。為了實現(xiàn)的一致和簡 單,VMWare使用了用戶態(tài)連接代理的方式來實現(xiàn)NAT設(shè)備,因此NAT設(shè)備其實就是一個用戶態(tài)進程,它來執(zhí)行地址轉(zhuǎn)換,如下圖所示:

所謂的地址轉(zhuǎn)換其實不是真正的IP網(wǎng)絡(luò)意義上的地址轉(zhuǎn)換,而是一個代理。虛擬機里面發(fā)起的連接在宿主機的NAT進程中完全被截獲,然后NAT進程偷梁換柱 代替虛擬機里面的連接單獨向目的地發(fā)起一個連接,隨后和目的地通信,然后將數(shù)據(jù)轉(zhuǎn)發(fā)給虛擬機。我們可以通過一個簡單試驗來說明這一點:

1.只允許本地的TCP syn包發(fā)出去,禁止任何回包

iptables -A OUTPUT -p tcp --tcp-flags SYN SYN -j ACCEPT
iptables -A OUTPUT -j DROP
iptables -A INPUT -j DROP

2.在虛擬機中建立到百度的tcp連接

telnet 74.125.128.94 80

3.查看宿主機上的用戶態(tài)nat進程的文件描述符

lsof -p 271 -n
...
vmnet-nat 271 root    7u    IPv4 0xffffff8017b62160       0t0    TCP 192.168.1.101:49256->74.125.128.94:http (ESTABLISHED)
...

4.結(jié)論

虛擬機里面只能發(fā)出syn包,然而宿主機里面到74.125.128.94的連接已經(jīng)建立,說明nat進程是一個用戶態(tài)的連接代理。同樣的結(jié)論還可以通過 tcp抓包來觀測到,怎么觀測呢?很簡單,查看序列號即可,虛擬機里面抓取的數(shù)據(jù)包的序列號和確認號和宿主機上抓取的“同樣連接”(實際上不是一個連接, 而是被代理的)的序列號以及確認號不是一致的,而我們知道,常規(guī)的NAT只修改五元素,不會修改序列號。
        可見,由于NAT是一個代理,NAT模式可能會造成目的主機TCP連接統(tǒng)計的不準確,比如上述實驗中,虛擬機明明沒有連接成功目的地,然而宿主機的NAT 進程卻已經(jīng)建立了一個TCP連接。使用NAT模式,就需要知道它所帶來的一切副作用。最后NAT模式的組網(wǎng)拓撲如下:

三.Host-Only模式

這種模式其實是最純粹的了,虛擬機和宿主機的一塊網(wǎng)卡(虛擬網(wǎng)卡)直連,僅此而已,如下圖所示:

可是Host-Only模式的虛擬機如何連接外網(wǎng)呢?虛擬機可以將宿主機作為一臺路由器來看待,如此一來,剩下的問題就是如何來配置這個路由器了。以下步驟是必須的:

1.在虛擬機中將默認網(wǎng)關(guān)指向宿主機的虛擬網(wǎng)卡vmnet1,如果你不嫌麻煩也可以配置主機路由

2.打開宿主機的路由功能

Linux:sysctl -w net.ipv4.ip_forward=1
Mac OS:sysctl -w net.inet.ip.forwarding=1
Windows:打開Tcpip的IPEnableRouter注冊表項

3.以下方法選其一

3.1.配置SNAT。Linux使用iptables配置出口網(wǎng)卡的SNAT;Mac OS使用natd以及ipfw配置;Windows使用網(wǎng)卡的“共享”上網(wǎng)來配置

3.2.配置純路由,主要是解決回程路由的問題,然而很多外網(wǎng)服務(wù)器的路由我們沒法配置,因此這個只適用于實驗環(huán)境

Host-Only模式的組網(wǎng)拓撲如下所示:

四.vnnetX的含義

VMWare在宿主機中虛擬了幾塊網(wǎng)卡,這些網(wǎng)卡實際上都是一些帶有多個port的二層或者三層網(wǎng)絡(luò)設(shè)備。本文到此為止沒有談到DHCP,實際上每種組網(wǎng)模式都可以有一臺DHCP服務(wù)器插入這些虛擬設(shè)備的port,為虛擬機里面的網(wǎng)卡分配IP地址。
        默認情況下,VMWare提供了vmnet0/1/8三塊虛擬網(wǎng)卡,vmnet0外界看不到,它實際上是一個純鏈路層Bridge,該Bridge設(shè)備沒 有任何三層功能,該Bridge的其中一個port就是宿主機的某一塊物理網(wǎng)卡。vmnet1專門給Host-Only來使用,vmnet8專門用于 NAT,這兩個虛擬網(wǎng)卡都有三層的功能,都可以配置IP地址,實實在在是一塊宿主機上可見的網(wǎng)卡啊,除此之外,這兩塊網(wǎng)卡同時也是Bridge設(shè)備,只是 該Brdige并沒有橋接任何宿主機上的任何物理網(wǎng)卡。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多