方永、南天紫云

道亦有道

OpenWrt的WDS無線橋接模式
作者 vinoca 發布於 2013年11月24日

之前用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,

  1. 編輯 /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地址。

  2. 編輯防火牆規則,打開lan zone的轉發, /etc/config/firewall ,並運行 /etc/init.d/firefall reload 保證防火牆是生效的:

        config zone
                option name     lan
                option input    ACCEPT
                option output   ACCEPT 
                option forward  ACCEPT
        
  3. 編輯 /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路由器的配置也很相似,

  1. 首先配置無線連接參數:

        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'
        
  2. 同樣打開防火牆的轉發:

        config zone
                option name     lan
                option input    ACCEPT
                option output   ACCEPT 
                option forward  ACCEPT
        
  3. 打開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
        
  4. 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路由器試試吧。