OpenWRT设置WDS实现网络无缝切换
如果你家里需要多个无线路由器,并需要组成一个局域网,使得所有连上的电脑(有线或无线)都能互相访问,WDS就是最简单的一种配置方法,无线组网还有Client + AP(需要设置两个网络),或Bridaged Client(仅适用与Broadcom芯片)等方法,这里只讨论WDS。
WDS原理图
使用WDS组网最好采用相同无线芯片的路由器,原因是各个厂商对WDS的实现不完全相同。
OpenWRT是一个强大的基于Linux的开源路由器操作系统。关于无线的配置文件在/etc/config/wireless。
假设你有两个路由器分别为A和B,其中A通过ADSL拨号上网,B则通过无线连接A。
假设A的mac地址是aa:aa:aa:aa:aa:aa,B的mac地址是:bb:bb:bb:bb:bb:bb
首先配置A的LAN IP为192.168.1.1/24,并开启DHCP服务;B的LAN IP为192.168.1.2/24,Gateway,DNS都设成192.168.1.1,并一定关闭DHCP服务。
A的/etc/config/wireless设置:
config 'wifi-device' 'radio0' option 'type' 'mac80211' option 'macaddr' 'aa:aa:aa:aa:aa:aa' option 'hwmode' '11ng' list 'ht_capab' 'SHORT-GI-20' list 'ht_capab' 'SHORT-GI-40' list 'ht_capab' 'TX-STBC' list 'ht_capab' 'RX-STBC1' list 'ht_capab' 'DSSS_CCK-40' option 'channel' '3' option 'txpower' '20' option 'country' 'US' option 'htmode' 'HT20' option 'disabled' '0' option 'noscan' '1' config 'wifi-iface' option 'device' 'radio0' option 'mode' 'ap' option 'ssid' 'hugo' option 'wds' '1' option 'network' 'lan' option 'encryption' 'psk2' option 'key' 'password'
B的/etc/config/wireless设置
config 'wifi-device' 'radio0' option 'type' 'mac80211' option 'macaddr' 'bb:bb:bb:bb:bb:bb' option 'hwmode' '11ng' list 'ht_capab' 'SHORT-GI-20' list 'ht_capab' 'SHORT-GI-40' list 'ht_capab' 'TX-STBC' list 'ht_capab' 'RX-STBC1' list 'ht_capab' 'DSSS_CCK-40' option 'channel' '3' option 'country' 'US' option 'txpower' '20' option 'htmode' 'HT20' option 'noscan' '1' option 'disabled' '0' config 'wifi-iface' option 'device' 'radio0' option 'ssid' 'hugo' option 'mode' 'sta' option 'wds' '1' option 'network' 'lan' option 'essid' 'aa:aa:aa:aa:aa:aa' option 'encryption' 'psk2' option 'key' 'password' config 'wifi-iface' option 'device' 'radio0' option 'mode' 'ap' option 'ssid' 'hugo2' option 'network' 'lan' option 'encryption' 'psk2' option 'key' 'password'
修改配置文件后可以执行wifi命令使之生效,这样就基本可以了。
配置好后可以通过A的openWRT的web界面登录进去看已经连上的无线终端中是否有B的mac地址,如果不成功,请注意无线的加密方式,我采用WPA2中继成功,但采用WEP就不行。
原文:http://hugozhu.appspot.com/2011/07/13/openwrt%E8%AE%BE%E7%BD%AEwds/