有五臺主機。其中一臺主機裝有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。首先需要配置這樣一個邏輯網段。
# brctl addbr br0??????????????????? (建立一個邏輯網段,名稱為br0)
實際上,我們可以把邏輯網段192.168.1.0/24看作使一個VLAN?,而br0則是這個VLAN的名稱。
建立一個邏輯網段之后,我們還需要為這個網段分配特定的端口。在Linux中,一個端口實際上就是一個物理網卡。而每個物理網卡
的名稱則分別為eth0,eth1,eth2,eth3。我們需要把每個網卡一一和br0這個網段聯系起來,作為br0中的一個端口。
# 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了。
# 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.1
給br0配置了IP之后,網橋就能夠工作了。192.168.1.0/24網段內的主機都可以telnet到網橋上對其進行配置。
以上配置的是一個邏輯網段,實際上Linux網橋也能配置成多個邏輯網段(相當于交換機中劃分多個VLAN)
[root@xenserver ~]# brctl --help
Usage: brctl [commands]
commands:
??????? addbr?????????? <bridge>??????????????? add bridge
??????? delbr?????????? <bridge>??????????????? delete bridge
??????? addif?????????? <bridge> <device>?????? add interface to bridge
??????? delif?????????? <bridge> <device>?????? delete interface from bridge
??????? setageing?????? <bridge> <time>???????? set ageing time
??????? setbridgeprio?? <bridge> <prio>???????? set bridge priority
??????? setfd?????????? <bridge> <time>?????? ??set bridge forward delay
??????? sethello??????? <bridge> <time>???????? set hello time
??????? setmaxage?????? <bridge> <time>???????? set max message age
??????? setpathcost???? <bridge> <port> <cost>? set path cost
??????? setportprio???? <bridge> <port> <prio>? set port priority
??????? show??????????????????????????????????? show a list of bridges
??????? showmacs??????? <bridge>??????????????? show a list of mac addrs
??????? showstp???????? <bridge>??????????????? show bridge stp info
??????? stp? ???????????<bridge> {on|off}?????? turn stp on/off
====================================================================
??????? addbr bridge的名稱? #添加bridge;
??????? delbr bridge的名稱????????????? #刪除bridge;
??????? addif bridge的名稱device的名稱#添加接口到bridge;
??? ????delif bridge的名稱device的名稱#從bridge中刪除接口
??????? setageing bridge的名稱時間???? #設置老化時間,即生存周期
??????? setbridgeprio bridge的名稱 優先級#設置bridge的優先級
??????? setfd bridge的名稱時間???????? #設置bridge轉發延遲時間
??????? sethello bridge的名稱時間????? #設置hello時間
??????? setmaxage bridge的名稱時間???? #設置消息的最大生命周期
??????? setpathcost bridge的名稱 端口 權重#設置路徑的權值
??????? setportprio bridge的名稱 端口 優先級#設置端口的優先級
??????? show???? #顯示bridge列表
??????? showmacs bridge的名稱? #顯示MAC地址
??????? showstp? bridge的名稱?????????? #顯示bridge的stp信息
??????? stp bridge的名稱{on|off}?????? #開/關stp