拖了很久,终于能静下心来分享一下我的家庭组网经验。

由于户型的原因,弱电箱(入户光纤)在餐厅的角落,如果只在此处放上一个无线路由器,可能只能覆盖50%的区域,因此需要考虑一个全覆盖的方案。因为每个房间都有一个网线接口通到了被弱电箱,首先想到的是把无线路由器放在中间的次卧房间插上网线,但这个方案仍然可能会有个别角落因为穿了多堵墙而造成信号差。而且这样也不利于扩展,后续如果其他房间需要有线连接到这个路由器时就无解了。再加上我需要在这个路由器下再接若干设备,全放在次卧也不是太好,白白浪费了配电箱的空间。

再考虑其他方案。开发商给主卧和次卧都预留了一个网线接口和一个电话线接口,分别在两堵相对的墙上。可这年头谁还用固定电话啊,完全是落后的设计嘛。把电话线接口卸下一看,果然电话线也是走的双绞线,完全可以当网线用嘛。得益于这个落后的设计,把电话线两端改成 RJ45 水晶头后,相当于每个房间有两条通往配电箱的线路了,只要根据实际情况安装 AP 面板就可以了。恰好赶上狗东双十一促销,入手了PoE交换机(TPLink SG10005P)和两个AP (TPLink TL-AP1202GI-POE),接上后便实现了千兆双频网络全覆盖。

接线过程中也遇到了一些困难。在狗东买设备时顺便买了点水晶头,结果水晶头质量一般般,加上手头没有网线测试仪,接上后AP启动正常但没有网络,调试到怀疑人生。后来购入网线测试仪和新的水晶头,重新接线后便正常工作了。

如此一来,无论是厨房的 Google Home 还是次卧的米家网关,亦或是客厅的 PS4、Chromecast 都可以以非常良好的信号和速度连接网络。至于我,拿着 iPad 或是电脑走着来走也是畅快得很。

为了屏蔽小米电视的广告,需要在路由器上对广告流量进行拦截,最简单的方式就是 DNS 投毒。我的 R7000 已经启用了科学上网插件,而科学上网插件本身就会启用 dnsmasq 来进行远程 dns 解析。所以只需要在设置界面上配置一下即可进行 DNS 投毒。我把 gist 一个别人分享的屏蔽小米广告的 host 列表它改成了 dnsmasq 的配置,配上之后果然就生效了。没有广告的小米电视还是不错的。当然这种方式比较简单,app 可以利用 dns over http 来绕过,不过我目前还没有遇到过,这种情况可能需要安装证书进行 mitm 来识别广告了,等碰到了再搞。

address=/api.ad.xiaomi.com/sdkconfig.ad.xiaomi.com/ad.mi.com/ad.xiaomi.com/ad1.xiaomi.com/adv.sec.miui.com/test.ad.xiaomi.com/new.api.ad.xiaomi.com/cdn.ad.xiaomi.com/e.ad.xiaomi.com/test.new.api.ad.xiaomi.com/ssp.ad.xiaomi.com/o2o.api.xiaomi.com/api.cupid.ptqy.gitv.tv/127.0.0.1

最后,配电箱乱得不行,索性把配电箱的门以及里面预装的完全落后的百兆交换机、根本没用的电话与同轴电缆分配器都卸了,再把设备都挂起来,给每条线都安排得明明白白。