本文將介紹如何把一個普通的路由器系統轉化成帶有中繼功能的無線路由器的方案。在使用無線路由器的過程中,最常見的是直接把路由器掛載光貓后面撥號,然后分出wifi給其他設備供其上網。但是在一些情況下往往會有特殊的需求,比如有可能我們用這個路由器中繼其他的無線信號而且還要確保擴展出來的接入終端仍舊在原來的子網中。
概述
AP:Access Point Mode,允許無線接入(即發出wifi,供別人連接),家里的無線路由器大多都是這個模式。
STA:Station Mode,作為無線終端,連接AP用,手機wifi等,大多都是這個模式。
AP+STA:允許OpenWrt路由器,既能提供無線接入功能的AP,又能連接到其他AP,繼續提供上網功能,即作為一個Repeater。
配置:首先需要硬件支持,仔細閱讀芯片及驅動手冊,確認支持AP+STA,確認支持WDS。
本文將以Qualcomm Atheros QCA4531為例。
內核編譯選項
首先在內核里面將relay模塊編譯進SDK,并重新燒寫;此模塊可實現二級路由同網段無線橋接功能:
make menuconfig
LuCI---->5.protocols----><*>luci-proto-relay
配置
配置目標
a、路由器使用station模式接受Wifi
b、路由器使用AP模式發射Wifi
c、連入中繼路由器的設備也能訪問外網且還處于原來的子網
配置環境
路由器的內部系統采用的是openwrt。
配置步驟
配置的方法主要有3種:直接修改配置文件、通過UCI指令進行配置、通過WEB網頁配置,此次采用UCI指令的方式進行配置。
配置AP模式:
uci set wireless.@wifi-iface[0].network=lan
uci set wireless.@wifi-iface[0].mode=ap
uci set wireless.@wifi-iface[0].encryption=psk2
//設置加密方式同上級路由
uci set wireless.@wifi-iface[0].key=87654321
//設置密碼同上級路由
uci set wireless.@wifi-iface[0].ssid=openwrt_num1
//設置WIFI的名稱
uci set wireless.@wifi-iface[0].device=radio0
配置station模式:
uci add wireless wifi-iface
uci set wireless.@wifi-iface[1].network=wwan
uci set wireless.@wifi-iface[1].mode=sta
uci set wireless.@wifi-iface[1].encryption=psk2 (上級路由加密方式)
uci set wireless.@wifi-iface[1].ssid=ali_test (上級路由SSID)
uci set wireless.@wifi-iface[1].key=87654321 (上級路由密碼)
uci set wireless.@wifi-iface[1].device=radio0
uci commit wireless
將路由器WWAN口與LAN口進行中繼橋接:
uci set network.wwan=interface
uci set network.wwan.proto=dhcp
uci set network.lan.ipaddr=192.168.10.1
uci set network.abcd=interface
uci set network.abcd.proto=relay
uci add_list network.abcd.network=lan
uci add_list network.abcd.network=wwan
uci commit network
設置防火墻:
uci add_list firewall.@zone[0].network='wwan'
uci commit firewall
關閉LAN口的dhcp功能
uci delete dhcp.lan.start
uci delete dhcp.lan.limit
uci delete dhcp.lan.leasetime
uci set dhcp.lan.ignore=1
uci commit dhcp
效果
配置完畢之后重啟路由器,路由器將自動連接上級路由器,同時開啟一個WiFi;設備連上WiFi之后與上路由處于同一網段。
