Bridge 與 Bonding 混用

現在的這台Server身兼NAS,WEB,Home Gateway等多功能的用途,

除了讓我練練功外,也可說是我的玩具.

為了實現高速網路的環境,家裡的網路走線都是1Gbps有線的環境

然後為了加強區網內對Server存取的能力,實做Bonding Merge兩張網卡來增加頻寬.

Bonding

幾年前,為了媽的筆電,買了台DWL2000Ap 來擴充無線網路,因為第一代的Centrino

無線技術也只有802.11b 也就是2.4Ghz 11Mbps,所以DWL2000AP支援到54Mbps

當時覺得足夠了,也就這樣用了好多年.

 

但隨著時代與科技的演進,Wireless現已來到802.11n 150Mbps.且再透過MIMO的技術

2T2R Link Rate Double就來到 300Mbps, 而且家裡Android, iOS,等等掌上手持裝置

也越來越多,爆電容的DWL2000AP就越來越不敷使用了.

也因為工作上的接觸,對Wireless這塊可說是重新認識,並且也因為有更多的資源,對Wifi這邊

就開始有比較豐富的知識,但是對於實際上,仍然需要比較多的實作與應用來驗證所讀到的,

當然就趁5/1放假開始了這項計畫.

Bonding

上面這張是修改後主機上的配置,因為之前Wireless的AP直接接上區網內就行了.

如果Upgrade也只是照原本的這樣複製,啟不是太遜了嗎..(其實是現在要買純的AP很貴)

 

首先需要的是驅動Wireless網卡,並啟用SoftAP. Ralink與Atheros的無線網卡

實現軟體AP的方式不盡相同,Ralink大多靠iwconfig與自身的Driver實現,而WiFi論壇

目前比較新的方式是透過hostapd來運作,Atheros就是採用這樣的做法.

(然而在Ralink新的Driver裡面,有個flag似乎可以支援hostapd,不過倒是沒有用過)

因為本篇的目的在於Bridge與Bonding的設定,故Wireless這邊的設定就不多著墨.

 

再來安裝bridge-utils.i686, 先用手動的方式設定bridge mode

[root@scottj ~]# ifconfig bond0 down
[root@scottj ~]# ifconfig bond0 0.0.0.0 up

[root@scottj ~]# brctl addbr br0
[root@scottj ~]# brctl addif br0 bond0
[root@scottj ~]# brctl addif br0 ra0
[root@scottj ~]# brctl stp br0 on

[root@scottj ~]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.000df03f1359 yes bond0
ra0
pan0 8000.000000000000 no

[root@scottj ~]# ifconfig br0 192.168.2.1 up
[root@scottj ~]# ifconfig br0
br0 Link encap:Ethernet HWaddr 00:0D:F0:3F:13:59
inet addr:192.168.2.1 Bcast:192.168.2.255 Mask:255.255.255.0
inet6 addr: fe80::20d:f0ff:fe3f:1359/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2354627 errors:0 dropped:0 overruns:0 frame:0
TX packets:2581521 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:973998178 (928.8 MiB) TX bytes:2020531699 (1.8 GiB)

[root@scottj ~]#

到這邊基本上已經完成了但要注意的是你的路由規則必須改成現在新的對應介面

因為我用的是鳥哥提供的防火牆與NAT規則所以將原先的bond0–>br0

再來就是到”/etc/sysconfig/dhcpd”把dhcp預設的監聽interface也改成br0

然後重新執行就可以了,這樣就完成啦!

應證後就要把設定寫入,讓開機時不用再大費周張的再key in一次,

有兩種方式可以實踐,一為把剛剛上面的指令寫成script放到rc.local,開機時就會設好

我們採用另一種方式,使用network-service開機時自己建立,這部分需要kernel include

bridge, 不能以kernel module方式載入,確認後就可以進行下面的設定:

在”/etc/sysconfig/network-scripts/”底下建立”ifcfg-br0″

DEVICE=br0
TYPE=Bridge
ONBOOT=yes
IPADDR=192.168.2.1
BOOTPROTO=static
NETMASK=255.255.255.0
IPV6INIT=no
USERCTL=no
STP=on

然後修改ifcfg-bond0 拿掉IP加入BIRDGE參數並指向br0

DEVICE=bond0
ONBOOT=yes
#IPADDR=192.168.2.1
#BOOTPROTO=static
#NETMASK=255.255.255.0
IPV6INIT=no
USERCTL=no
BRIDGE=br0

“ifcfg-ra0″也參照增加或修改之.

refer:
http://benjr.tw/?q=node/387
http://ssorc.tw/rewrite.php/read-173.html
http://consultancy.edvoncken.net/index.php/HOWTO_Configure_a_network_bridge

Facebook Comments
Scottj Written by:

史考特 喜歡3C 愛拍照