網橋將兩個類似的網絡鏈接起來,並對網絡數據的流通進行管理。它工做於數據鏈路層python
不但能擴展網絡的距離或範圍,並且可提升網絡的性能、可靠性和安全性。linux
與中繼器相比多了存儲轉發功能且具有隔離鏈路層的衝突域的能力。shell
與路由器相比他是工做在數據鏈路層的,能夠看做更底層的路由器安全
與交換機相比,交換機能夠看做是多端網橋網絡
有五臺主機。其中一臺主機裝有linux ,安裝了網橋模塊,並且有四塊物理網卡,分別鏈接同一網段的其餘主機。咱們但願其成爲一個網橋,爲其餘四臺主機(IP分別爲192.168.1.2 ,192.168.1.3,192.168.1.4,192.168.1.5) 之間轉發數據包。同時,爲了方便管理,但願網橋可以有一個IP(192.168.1.1),那樣管理員就能夠在192.168.1.0/24網段內的主機上telnet到網橋,對其進行配置,實現遠程管理。性能
前一節中提到,網橋在同一個邏輯網段轉發數據包。針對上面的拓撲,這個邏輯網段就是192.168.1.0/24網段。咱們爲這個邏輯網段一個名稱,br0。首先須要配置這樣一個邏輯網段。spa
# brctl addbr br0 (創建一個邏輯網段,名稱爲br0)
實際上,咱們能夠把邏輯網段192.168.1.0/24看做使一個VLAN ,而br0則是這個VLAN的名稱。code
創建一個邏輯網段以後,咱們還須要爲這個網段分配特定的端口。在Linux中,一個端口實際上就是一個物理網卡。而每一個物理網卡的名稱則分別爲eth0,eth1,eth2,eth3。咱們須要把每一個網卡一一和br0這個網段聯繫起來,做爲br0中的一個端口。orm
# brctl addif br0 eth0 (讓eth0成爲br0的一個端口) # brctl addif br0 eth1 (讓eth1成爲br0的一個端口) # brctl addif br0 eth0 (讓eth2成爲br0的一個端口) # brctl addif br0 eth3 (讓eth3成爲br0的一個端口)
網橋的每一個物理網卡做爲一個端口,運行於混雜模式,並且是在鏈路層工做,因此就不須要IP了。ci
# ifconfig eth0 0.0.0.0 # ifconfig eth1 0.0.0.0 # ifconfig eth2 0.0.0.0 # ifconfig eth3 0.0.0.0
而後給br0的虛擬網卡配置IP:192.168.1.1。那樣就能遠程管理網
# ifconfig br0 192.168.1.0
給br0配置了IP以後,網橋就可以工做了。192.168.1.0/24網段內的主機均可以telnet到網橋上對其進行配置。
以上配置的是一個邏輯網段,實際上Linux網橋也能配置成多個邏輯網段(至關於交換機中劃分多個VLAN)。