之前用RTL8187做了無線中繼,使用情況並不理想,即使連接質量可以的情況下,掉包十分地嚴重,rtl8187的linux驅動都無力吐槽了。
還是Broadcom自家的板載無線好用,同樣的RG100A,內置天線,ping值也是很好的。
只是BCM的網卡板載没有多模式,即使sta模式,即使wds模式,都不能以ap模式做真正的無線轉發了Broadcom AP-to-AP WDS (brcm-2.4 only), 而RTL8187的linux驅動天生不支持ap模式,所以wds只能中繼到有線,無線是沒戲了。雖然如此,sta-wds橋接配置成功,記之以備忘。
整個過程參考Broadcom WDS按步就班,只是無線配置略有不同,轉述如下:
有兩臺路由器A與B,A的macaddr爲 00:00:00
,B的macaddr爲 11:11:11
,A作爲信號源,那麼有如下配置,
一、先配置路由器A,
-
編輯
/etc/config/wireless
,添加或修改如下內容:config wifi-iface option device wl0 option network lan option mode ap option wds 1 option bssid 11:11:11 option ssid 'wds-bri' # option encryption psk2 # option key 'secret_key'
注意bssid要填B路由器的無線網卡的MAC地址。
-
編輯防火牆規則,打開lan zone的轉發,
/etc/config/firewall
,並運行/etc/init.d/firefall reload
保證防火牆是生效的:config zone option name lan option input ACCEPT option output ACCEPT option forward ACCEPT
-
編輯
/etc/config/network
,打開STP協議:config interface lan option type bridge option stp 1 option ifname eth0.0 option proto static option ipaddr 192.168.1.1 option netmask 255.255.255.0
這樣,A路由器就配置好了。
二、B路由器的配置也很相似,
-
首先配置無線連接參數:
config wifi-iface option device wl0 option network lan option mode sta option wds 1 option bssid 00:00:00 option ssid 'wds-bri' # option encryption psk2 # option key 'secret_key'
-
同樣打開防火牆的轉發:
config zone option name lan option input ACCEPT option output ACCEPT option forward ACCEPT
-
打開STP協議,並配置靜態地址:
nterface lan option type bridge option stp 1 option ifname eth0.0 option proto static option ipaddr 192.168.1.2 option netmask 255.255.255.0
-
B路由器多一步,要關閉lan的dhcp,
/etc/config/dhcp
:config dhcp lan option ignore 1 option interface lan option start 100 option limit 150 option leasetime 12h
三、 好了,在兩個路由器確認執行
/etc/init.d/network reload
/etc/init.d/firewall reload
/etc/init.d/dnsmasq reload
連接B路由器試試吧。