家里墙多,一台路由器的5G覆盖很糟糕,因此做了一套AC+AP的无线自动部署方案。主路由接在进户线上作为AC(无线控制器)用,每台AP(无线接入点)连上AC以后会自动从AC获取到无线网络配置,自动组建一个大局域网,实现无缝的信号覆盖。
硬件
路由器的选择
我对Cisco的配置逻辑和TP-Link之类辣鸡硬件都没什么好感,所以还是一贯选择RouterBOARD了。
在家里部署千兆有线+无线网络的推荐配置(需要到各个路由器位置有预埋网线或者重新拉线):
- AC: MikroTik hEX RB750Gr3
- 主AP: MikroTik hAP ac RB962UiGS-5HacT2HnT
- 需要5GHz Wi-Fi覆盖但是对速度要求不高的地方:MikroTik hAP ac lite RB952Ui-5ac2nD
- 只需要2.4GHz Wi-Fi覆盖的地方(比如某些奇怪布置的智能家居接入):Mikrotik mAP RBmAPL-2nD
我自己家实在是穷对速度要求不高,用了两台MikroTik hAP ac lite RB952Ui-5ac2nD,一台同时作为AC+AP,另一台仅作为AP。
网线布设
如果不是准备装修的话,家里很有可能已经有了比较坑爹的预埋网线。一百块钱买个寻线仪吧,然后慢慢测墙里的网线是不是通的。
路由器的位置选择
家里往往很难再做吸顶AP了,不然放房子中间的天花板是个不错的选择。如果地方大的话大概只能选择把主AP放在房子两头,或者分别放在无线设备密集的房间里。5GHz目前看来穿一堵墙都困难。
推荐几个软件可以用来查看Wi-Fi信号质量:
- Windows / Windows Phone: WiFi Commander
- macOS: WiFi Explorer
- Linux: airodump-ng
- Android: Wifi Analyzer
软件
首先对所有机器更新最新版系统以及把必要的Extra包都装上(system,dhcp,ipv6,security,wireless,ppp,advanced-tools,ntp)。如果你家宽带是你唯一的上网方式,在做任何事情之前建议你准备一台带Ethernet接口的Windows 8以上的PC,一根网线,并且下载好WinBox、NetInstall和你路由器Current版本的Extra Packages(官网下载链接)。
注:
- 这里假设每台设备都有2.4G和5G支持,并且分别叫做 wlan1 和 wlan2 ,如果配置不同,自行修改相应的字段;
- 尖括号之间的内容根据你的实际情况填写;
- 下文的配置建立在出厂默认设置的基础上。
入户网络
如果是铜线入户,基本上都是路由器上PPPoE拨号即可,一般问题不大。有些地区可能有MAC限制,在AC的Quick Settings面板改一下ether1的MAC即可。
如果是FTTH,可能有两种情况:如果光猫只是光猫,路由器PPPoE拨号,那么理论上可玩性是最高的。如果光猫还负责拨号,你家就会有两层NAT了,特定应用会比较难受。(除非你把AC也设成bridge,让光猫当路由,但是运营商送的光猫性能往往不好。)所以不妨看看能不能在光猫配置里面把你的路由器设置成DMZ主机之类的。
配置AC
AC需要做的事情:
- 连接互联网
- 设置防火墙规则
- 启用DHCP服务器
- 启用CAPsMAN服务器(以及可选的配置证书)
- 配置AP规则
- 设置自动断开低信号的设备,这样移动设备的无线漫游会靠谱很多
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# configure identity /system identity set name=<cap> # enable CAPsMAN /caps-man manager set ca-certificate=auto certificate=auto enabled=yes upgrade-policy=suggest-same-version # enable AP mode for current device # only needed if AC have wireless # /interface wireless cap set certificate=request discovery-interfaces=bridge enabled=yes interfaces=wlan1,wlan2 # enable local forwarding /caps-man datapath add bridge=bridge client-to-client-forwarding=yes local-forwarding=yes name=local-forwarding # add CAPsMAN password /caps-man security add authentication-types=wpa-psk,wpa2-psk encryption=aes-ccm name=default passphrase=<your_wifi_password> # drop low signal devices for better roaming /caps-man access-list add action=reject comment="drop low signal devices" interface=all signal-range=-120..-80 # create wireless config /caps-man configuration add comment="5g config; do not set channel if using the same SSID for 2.4g/5g network!" country=china datapath=local-forwarding datapath.bridge=bridge \ distance=dynamic hw-protection-mode=rts-cts name=ap_5g security=default security.encryption=aes-ccm ssid=<your_ssid> add comment="2.4g config; do not set channel if using the same SSID for 2.4g/5g network!" country=no_country_set datapath=local-forwarding datapath.bridge=bridge \ distance=dynamic hw-protection-mode=cts-to-self name=ap_2.4g security=default ssid=<your_ssid> # set which wireless config to apply for every AP /caps-man provisioning add action=create-enabled comment="2.4G/5G dual band radio should use 5G" hw-supported-modes=an,gn master-configuration=ap_5g \ name-format=prefix-identity name-prefix=dualband add action=create-enabled comment="5G only radio" hw-supported-modes=an master-configuration=ap_5g name-format=prefix-identity \ name-prefix=5g add action=create-enabled comment="2.4G radio" hw-supported-modes=gn master-configuration=ap_2.4g name-format=prefix-identity \ name-prefix=2.4g |
另外建议配置NTP Client并且启用NTP Server。
1 2 |
/system ntp client set enabled=yes primary-ntp=202.118.1.81 secondary-ntp=17.253.54.125 /system ntp server set enabled=yes |
配置AP
AP需要做的事:
- 配置switch为转发所有port模式
- 配置无线使用CAP
- 在bridge上启动一个DHCP客户端
- 禁用DHCP服务器
如果尚未初始化AP,直接用开机按RES键的方法把它置成AP模式就好(不同设备按键方法不同,参见设备随附的说明书或者在官网设备介绍页面下载Quick Start Guide)。如果已有配置,可以用以下命令把它置为AP模式:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
# set name /system identity set name=<ap_n> # set to switch all mode /interface ethernet switch set switch1 switch-all-ports=yes /interface ethernet set [ find default-name=ether1 ] master-port=ether2-master /interface bridge port add bridge=bridge interface=ether1 # enable AP mode /interface wireless cap set discovery-interfaces=bridge interfaces=wlan1,wlan2 enabled=yes # get IP address from AC /ip dhcp-client add default-route-distance=0 dhcp-options=hostname,clientid disabled=no interface=bridge |
接下来,在 /ip firewall 里禁用掉所有 ether1 相关的路由规则。默认的应该是下面两条:
1 2 3 4 5 |
# in Filter action=drop chain=forward comment="defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat connection-state=new disabled=yes in-interface=ether1 # in NAT action=masquerade chain=srcnat comment="defconf: masquerade" disabled=yes out-interface=ether1 |
禁用DHCP服务器
1 |
/ip dhcp-server disable defconf |
最后重启所有AP。
参考资料:
最后一段禁用DHCP Server是为啥?我禁用了以后WinBox就无法登录ap了,Mac/ip都不行了
因为一个二层里面不应该有两个DHCP服务器啊。你没配静态IP或者DHCP client么……
MAC肯定能登录啊,除非你MAC WinBox对特定端口关了