0. 闲话
疫情在家宅了几个月,一直对家里的网络不爽。前段时间搞了个R2S做主路由,解决了之前用的水果802.11ac时间胶囊PPPoE拨号不支持IPv6的问题。IPv6加持,远程访问的问题迎刃而解,很爽。
可是,前几天突然断网,发现R2S竟然毫无征兆的死机了!就是那种彻底没有任何反应的死。
事后分析,应该是存储卡有坏块的原因。现在的存储卡,几乎可以说都是垃圾!丧心病狂的厂家,存储卡用的都是什么闪存啊?可靠性尼玛都不要啦?
不行,还得搞个常规的路由器,一来可靠性更强,二来主路由+AP两个设备占用两个电源插座,想想就觉得不太爽。
选来选去,最后选中了小米的AX1800。没选3600的原因,太大、用不上、不好看。。。(就不说穷嫌贵)。
一顿操作之后,AX1800正式上线。之后几个设置尝试改来改去之后,这个路由器的优缺点也就都展现出来了。
1. 先说优点:
- 虚的:好看、不占地儿。。。- 没用的:支持mesh。拿到手就升级成了最新的固件,据说最大的改进就是支持mesh。
这里先吐槽一下小米的升级问题。在app里和web界面,都检测不到有新版固件,只能手动下载、人工升级。何必呢这是?
说没用也是真的,两层意思:用不着、不好用。
用不着的意思是手上只有这一台支持mesh的路由器,之所以只有一台,是因为家里的房子并不大只需要一台就够了(还是穷不是?)。一台路由器当然用不着这个mesh了。
不好用——是啊,我根本就没用,有没有资格说他不好用?说不好用,是因为小米说组mesh的话,必须有一个mesh节点是主路由。如果你用别的比如软路由做主路由、用AX1800做AP,那么是不能组mesh的。
-最大的优点:覆盖比之前用的Apple TimeCapsule AC好了很多!很多是多少呢?我没有专业的设备进行测量,也没那个必要,我就用家里用的几个小米插座啥的上面显示的信号强度做个对比,也很有说服力:
ABCDEFG都是米家里的WiFi器件,摆放位置不同,当然,测量结果可能也各自有不同的准确度。但前后对比很有说服力,因为我只是换了路由器、调整了路由器的发射功率,这些WiFi终端设备的位置和设置没有任何改动。对了,不想列出具体名称,因为我想保留一点点可怜的隐私,因为这几个东西里面,有包括马桶等好几种米家智能硬件,说多了不合适。
可以看出,AX1800使用默认的“标准”信号强度,终端接收到的电平比之前用苹果TC时增加了12~30个dB!搞过无线的都知道,这个数值实在太夸张了,以至于我都在怀疑小米以及其他国内路由器厂家为了比拼穿墙效果,都在昧着良心不顾用户死活擅自加大发射功率!
小命要紧!再说我要这么强的信号也没啥用,修改一下、降低发射功率吧。
把信号强度改为“节能”,比“标准”模式大概降低了3dB,也就是说,发射功率大概减少了一半。就这,都比之前用苹果路由器强了很多。
难道我发现了苹果为啥要停掉路由器这个产品线的原因啦?
就改个信号强度,不经意间发现了一个小米程序员该打屁股的问题:
我用了好几年、一直用得好好的密码,web界面楞说输入格式不正确,无法修改WiFi的选项,只能在手机app上改。在app里这个密码就没问题(其实也没啥特殊符号,都是键盘直接可以输入的)。
2. 再说说缺点
其实上面已经说了三个缺点了:升级检测不靠谱、ap模式下不能组mesh、密码输入框格式错误。另外还有一个擅自违背国家标准、发射功率过大的嫌疑。。。。。。
- 最大的缺点,就是标题里说的,IPv6支持程度太差。小米只是迫于国家政策要求必须支持IPv6,至于用户使用IPv6时需要什么,根本就没放在心上!
先不要替小米喊冤,我也没有冤枉小米。
你说使用IPv6的意义是啥?或者说对于普通用户,IPv6最大的好处是啥?
没错,就是我在开头说的远程访问!因为有了IPv6,奸恶的运营商就不再单独为我们要用的IP地址收费了,给我们分配的地址也不再是公网无法方位的内网地址了——就是俗称假IP的那种,192.168.xx.xx/10.x.x.x/172.x.x.x那些。
在IPv6时代,我们的路由器、以及路由器后面各个支持IPv6的设备,都可以拿到真真正正的、可以从公网直接访问的地址(而且一般来说都不止一个)。配合DDNS或类似手段,人在外自由访问家里的电脑nas等自由自在,想想就很美好有木有?
可是,小米路由器剥夺了我们需要的这种美好!
使用小米路由器(至少这个AX1800配合最新的固件是这样),虽然每个电脑可以获得正常的IPv6地址,但是,你是不能从公网访问的,路由器上也无法进行设置!!!
使用标准的OpenWRT作为主路由,可以对防火墙进行合适的设置,实现外网直接访问网内某个或某些端口的目的。
但小米呢?这个事情上还停留在IPv4时代,只能设置基于IPv4的端口转发和DMZ!奸恶的运营商给我们分配的IPv4地址都是假IP、私有IP、内网IP,小米你说,你说这个端口转发和DMZ有什么用处???你说说,全国各地,还在给用户分配IPv4公网地址的地方有多少?
- 还有一个缺点,兼容性问题。当然,这个问题可能不怪小米,或者说不能全怪小米。
眼尖的朋友在前面那个图里可能已经发现了:你咋还在用老掉牙的WPA2加密?咋不用高大上的WPA3呢?如果有些旧设备不支持WPA3,那也应该选WPA3+WPA2啊?
没错,小米路由器默认的就是WPA3+WPA2的强混合加密。
然后我家里的HP打印机(其实还不是老掉牙的型号)就连不上网了,与此相同命运的,还有一台老掉牙的iPad。
开始还以为是WiFi6太新了,旧设备不支持无法连接,小米的app和界面也在暗示我这一点。可是我打开“Wi-Fi 5 兼容模式”,这两台设备还是连不上!
经过尝试,发现把加密模式改为WPA2,即使关闭“Wi-Fi 5 兼容模式”,打印机和旧iPad都可以正常连接。
怀疑这个锅应该还是小米背才合适。
3. 回头再说说覆盖
上面的信号强度对比只是2.4G的。
5G的没做对比(因为没有可以方便查看信号电平的手段)。但从实际体验来看,原来隔一睹承重墙、5G时断时连的地方,同一台设备,现在可以稳定连接了。
速度对比测试?没做过,也懒得做。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
这儿是hassbian,当然还要说智能家庭相关的了。
我之前很看重的一个用法:OpenWRT做主路由,在提供外网访问hass的能力的同时,还可以准确敏捷地监测外网连接状态(感兴趣的话可以看看我的其他帖子)。
如果用小米路由器做主路由的话,这两个非常重要的事情都无法实现。
那么,在可以刷机之前,这个路由器只能当AP用了,主路由还得用非阉割版的OpenWRT。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~20200607更新:
从恩山论坛学到的:已经有大神给出了开启SSH的方法。
然后就可以更改防火墙设置、实现ipv6远程访问了(不是访问路由器,而是访问网内主机,比如hass)。
另外一个小惊喜:小米已经内置了mosquitto,可以直接用于wan口监控发送mqtt消息了。
详见5楼6楼。
两个路由器,信号电平最大差异达30dB,换个说法就是功率相差1000倍,想想就觉得恐怖!
即使是平均,也有20dB,100倍也是一个很恐怖的数字。~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
感谢囧大!最近被囧大表扬了好几回了
估计算法有差异,苹果产品比较保守,不怎么夸大,国内就呵呵了。
也就是小米水分太大,苹果比较干。。
至于你说的这个ipv6的问题,确实够坑的,简直就是鸡肋啊,糊弄不明就里的人呗。
最后,感谢测评!!让我之前一直想换路由器的心 冷静了下来~~
ipv6确实太坑了,也许以后的固件会改进,但我更期待可以刷非阉割版的OpenWRT。
覆盖确实比苹果的路由器明显要好,但数值确实值得怀疑,这些数值都是从小米的智能硬件以及小米的app获得的,以小米安兔兔的优良传统,判断出是自家的路由器就在数值上注水,一点也不意外。
恩山上的大神们找到了开启SSH的方法,解决ipv6远程访问就好办了:
修改/etc/config/firewall,打开特定端口的转发(反对简单粗暴的关闭ipv6防火墙的做法,不安全):
config rule option src 'wan' option family 'ipv6' option target 'ACCEPT' option dest 'lan' list proto 'tcp' option name 'Allow-5080' option dest_port '5080'
复制代码
这儿以5080为例,打开外网到内网的转发,当然,你想开那个端口都可以。
然后,/etc/init.d/firewall reload一下,就可以从外网访问内网主机的相应端口了。
当然,直接在命令行增加规则也可以。
另外,还发现小米官方固件已经内置了mosquitto-ssl和mosquito-client-ssl,可以直接使用。
那,我之前发的OpenWRT wan口监测的玩法,也可以继续了。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
解决了外网访问和wan口监测,这个路由器就可以当作主路由使用了。
好处是少了一个需要开机的设备,虽然性能比软路由差些,但平时一般也很少用到那么强的性能,再说了,软路由还可以当旁路由不是?
油塘開鎖
油塘開鎖
油塘開鎖
藍田開鎖
意思是直接填192.168.31.1的mqtt服务器地址?
不是。
这个mqtt服务器是ssl的,需要正确配置后才可以使用。
而客户端可以直接用。
大佬,问下小米路由器有没有接入设备监控?ha监控接入设备在线离线.尝试用ha官方的插件不起作用,不是到是不是小米最新固件不支持了