虛擬機器的bridge和實體bridge有不同嗎?



贊助商連結


LIAR
2011-04-29, 10:36 AM
我用virtlalbox或virtual PC,讓GUEST的虛擬網卡bridge到HOST的實體網卡,可以讓HOST和GUEST同時取得真實IP(HOST的網卡直接接到MODEM。

        |---------|
        | HOST A  |
        |/-------\|
MODEM ------|GUSET B||
        |\-------/|
        |         |
        |---------|

而現在我HOST A有兩張實體網卡,這次想要讓另一台實體電腦HOST C和GUSET B的情況一樣取得真實IP,而不是像ICS時只能取得虛擬ip。


MODEM ---------HOST A-------------HOST C

我設定HOST A的兩張網卡為BRIDGE,不過這時HOST C卻完全沒反應,和虛擬機器中的GUEST B會自動抓到真實IP的情況不一樣,請問這兩種BRIDGE的方式有哪裡不同嗎?

贊助商連結


tvirus
2011-04-29, 11:19 AM
基本網路驗証:先從ping開始

一個是透過實體介面模擬出另一張網卡
一個是兩個實體介面模擬成一個介面

LIAR
2011-04-29, 09:47 PM
基本網路驗証:先從ping開始

一個是透過實體介面模擬出另一張網卡
一個是兩個實體介面模擬成一個介面

請問這代表兩者的bridge在技術上是不一樣的嗎?

我之前看過文章表示BRIDGE會有軟體HUB的功能,但我目前查到VM用的BRIDGE有牽扯到雜湊模式,所以HOST C如果真的想要拿到真的IP,就要從這邊著手是嗎?

wangcm
2011-04-29, 11:51 PM
guest B和C都要取得public IP的確是用bridge mode就可以了,而且和host A有幾個網卡無關(就算網卡只對應一個guest的虛擬網卡,host A的實體網卡還是得透過promiscous mode才會收到屬於guest理論上與其無關的封包----既然是promiscous mode,自然是任何MAC address的封包全收了:p),除非有特殊須求,不然應該不太須要大費周張搞一片實體網卡只提供一個guest用(雖然這麼用也沒啥問題就是了:p),至於您的問題鵝只能猜會不會是host A有兩個實體網卡接在同一個switch,如果沒設定好被當成loop導致STP發揮作用切斷其中之一所致啊:confused::confused:....

LIAR
2011-04-30, 10:01 AM
guest B和C都要取得public IP的確是用bridge mode就可以了,而且和host A有幾個網卡無關(就算網卡只對應一個guest的虛擬網卡,host A的實體網卡還是得透過promiscous mode才會收到屬於guest理論上與其無關的封包----既然是promiscous mode,自然是任何MAC address的封包全收了:p),除非有特殊須求,不然應該不太須要大費周張搞一片實體網卡只提供一個guest用(雖然這麼用也沒啥問題就是了:p),至於您的問題鵝只能猜會不會是host A有兩個實體網卡接在同一個switch,如果沒設定好被當成loop導致STP發揮作用切斷其中之一所致啊:confused::confused:....

如果以第二個例子來說,HOST A之所以要兩張網卡是因為HOST C要透過HOST A聯絡,所以HOST A勢必得多一張網卡和HOST C連(反正網卡有剩,暫時不想用之前看過的"調整GATEWAY"的克難方式)。
至於LOOP我不太明白,我這這個例子中還沒用到SWITCH啊?

坦白說,實際情況之一是,HOST A為LINUX(untangle 8.1.1),HOST C是DMZ。
http://vahamartti.fi/images/network.png
我的DMZ比較簡單只有一台。網路上找到有人的架構和我幾乎一樣,對方似乎也和我有一樣的問題:|||:
而我的DMZ網卡就是設定bridge到external,internal的部分使用則完全正常。

Spen
2011-05-05, 02:04 PM
bridge 就是 bridge ~ 跟是否虛擬、實體 完全無關~
您的問題應該在於-虛擬環境可以成功,實體失敗~
因為虛擬環境中~VirtualBox 幫你處理好 "當作bridge" 的設定..
但是兄臺您~ 對於兩片實體網卡如何當作 bridge 完全沒有描述~
原因很可能是在這裡喔~~

wangcm
2011-05-05, 03:22 PM
不好意思,鵝沒看清楚,C是host而不是guest,所以host A是須要有獨立的網卡才能讓host C透過bridge連上MODEM,有可能是VirtualBox對這類有點複雜的環境處理的不是很好所致,您可以試一下在host A上下brctl show,看VirtualBox把host A config成怎樣嗎:confused::confused:....

LIAR
2011-05-10, 09:47 PM
bridge 就是 bridge ~ 跟是否虛擬、實體 完全無關~
您的問題應該在於-虛擬環境可以成功,實體失敗~
因為虛擬環境中~VirtualBox 幫你處理好 "當作bridge" 的設定..
但是兄臺您~ 對於兩片實體網卡如何當作 bridge 完全沒有描述~
原因很可能是在這裡喔~~

非常抱歉!這麼久才回覆,我這幾天想搞清楚untangle(就是HOST A)的設定,結果設定炸掉兩次,幾小時前才剛灌好第三次:jump2:

我現在發現一個麻煩,就是我用Console設定一些參數,但untangle的GUI介面又會改回來,譬如說我用brctl處理好bridge後,想回GUI看其他設定,這時前面Console的設定就會被蓋台:mummy:所以我得先用GUI做主要的設定,GUI管不到的才回Console改,而且還要時時確定沒被蓋台。

我的bridge就只在GUI中對想要當DMZ的網卡設定「bridge到external」就這樣,另外一個是問"連線速度/全雙工半雙工"而已,沒其他可設定的東西了。至於在Console下ifconfig看的就是多出br.eth1之類的東西

bridge name bridge id STP enabled interfaces
br.eth1 8000.00101350e76a no eth1
eth2

br.eth1 Link encap:Ethernet HWaddr 00:10:13:50:e7:6a
inet addr:118.233.88.197 Bcast:255.255.255.255 Mask:255.255.252.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2183813 errors:0 dropped:0 overruns:0 frame:0
TX packets:4556380 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1213915801 (1.1 GiB) TX bytes:2554564518 (2.3 GiB)

eth1 Link encap:Ethernet HWaddr 00:10:60:d0:f8:44
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4569117 errors:2 dropped:0 overruns:0 frame:2
TX packets:4500517 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2444907025 (2.2 GiB) TX bytes:2510691173 (2.3 GiB)

eth2 Link encap:Ethernet HWaddr 00:10:13:50:e7:6a
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

我是用eth1(外)和eth2(DMZ)做bridge,eth0則是internal,負責內部區域網路。區網的使用完全正常。