【鏗鏘40#1】羅大佑

1978年啟播的《鏗鏘集》今年四十歲。我們製作了一系列短片,重溫經典鏗鏘故事。

回看經典,九十年代一首《皇后大道東》,由羅大佑作曲,林夕填詞,寫盡對主權移交的想像。重看1991年鏗鏘集《香港,我的愛人》,對比當下「一地兩檢」、「一言九鼎」的爭議,三十年前的預言丶憂慮有沒有成真了?「偉大同志」搞了甚麼「新意思」?

RTHK

https://www.youtube.com/watch?v=O6goBtVx2e0 (已删除,原因。)

通过 Home Assistant 让 OpenWrt 软路由的 CPU 温度显示在苹果 Homekit 上

通过 Home Assistant 的 Synology 集成我们已经可以让群晖的CPU温度显示在 Homekit 上,我使用的 NanoPi R2S 路由器 CPU 发热很严重,为了方便查看路由器温度决定尝试下看看能不能接入 Home Assistant。

Home Assistant 官方有 OpenWrt 集成,可惜那个只能追踪设备。搜了下确实有成功把路由器温度接入 Home Assistant 的案例,一个是 K3 官改固件一个是梅林固件,并没有 OpenWrt 的。

[技术探讨] 监测K3路由器温度

[进阶教程] 梅林路由器CPU和无线芯片温度接入Home Assistant

我参考第一个链接通过 Command Line 成功让软路由的温度显示在 Home Assistant 和 Homekit 上。

方法如下:

  1. 打开 Home Assistant 的终端,以我通过群晖 Docker 安装的 Home Assistant 为例,打开 Docker 应用的容器选项,找到 Home Assistant 的容器,点上面的详情,再切换终端机,新建 bash,进入终端界面了。
  2. 输入 ssh-keygen 回车创建密钥,输入密钥的名字,然后回提示你设置密码,密码留空直接回车两下就创建完成了。

我这里的私钥 id_rsa (图上名字填错)和公钥 id_rsa.pub 都存在 /config 目录下。

ssh-keygen

3. 输入 cat id_rsa.pub 回车查看公钥,拷贝里面的内容。

cat id_rsa.pub

在 OpenWrt 界面的 系统 – 管理权 – SSH密钥 中粘贴并应用。

4. 在 Home Assistant 的终端输入下面的命令测试,成功会输出温度数字。如果失败,尝试赋予 id_rsa 私钥文件 700 权限。

ssh -o StrictHostKeyChecking=no -i /config/id_rsa root@路由器IP cut -c1-2 /sys/class/thermal/thermal_zone0/temp

5. 在 Home Assistant 的 configuration.yaml 配置文件添加下面的配置并重启 Home Assistant 服务,就能在 Home Assistant 和 Homekit 里看到路由器温度的传感器了。

homekit:

sensor:
  - platform: command_line
    name: R2S CPU 温度
    command: "ssh -o StrictHostKeyChecking=no -i /config/id_rsa root@路由器IP cut -c1-2 /sys/class/thermal/thermal_zone0/temp"
    unit_of_measurement: "°C"
    scan_interval: 300

红米 AX6 路由器和群晖 NAS 单网口旁路由设置

因为拼多多打骨折入手了红米 AX6 路由器,终于要用上 WIFI6 路由器了。然而问题来了,红米 AX6 没有第三方固件,没法在路由器上部署翻墙和过滤广告,很不方便。

那怎么办?要翻墙,要低成本,要低功耗,还要稳定。

  • 方案1:K3 当主路由,AX6 当AP

有些浪费,功耗高,需要设置定时重启,有时候会断网需要重新连接 WAN 口和LAN 口才行,不知道为啥。

  • 方案2:升级 NAS

升级到有双网口的 DS720+ 或者 DS920+ ,直接用群晖的虚拟机套件安装 OpenWrt 当做主路由,外接红米 AX6 当做 AP 。

缺点是成本过高,旧的 DS218+ 二手价格跌倒 1600 不到,出手就是血亏。

  • 方案3:X86 软路由

J1900 的软路由加上配件都得 500+ ,成本高功耗高对于已有 NAS 的我来说过于浪费。

  • 方案4:R2S 软路由

近期很火的 ARM 软路由,有官方的 OpenWrt 固件,也有 Lean 的,可玩性不错。而且功耗低,价格也只要 199 元。

因为 R2S 要等到月底才能发货,于是我尝试了下用 NAS 做旁路由,发现效果还不错,以上方案就 PASS 了。

下面简单介绍下怎么搞虚拟机软路由。

先看下网络拓扑图,光猫改桥接模式,使用主路由红米 AX6 进行拨号、DHCP分发,旁路由只负责翻墙。

安装方法参考这篇文章:

单网口群晖使用 Virtual Machine Manager 安装 Koolshare OpenWRT 作为旁路网关

不同的是我使用的固件是 eSir 编译的 OpenWrt 精品小包固件,还有个高大全版,因为只用到了翻墙插件还是选个小巧的吧。Koolshare 是必源固件,个人不推荐安装。

主路由红米 AX6 的 IP 是 10.0.0.1 ,不需要做其他设置。

虚拟机旁路由 IP 是 10.0.0.10 , LAN 口的设置如下:

基本设置里给“忽略此接口”打勾,因为要用主路由提供 DHCP 服务。

LAN 口的物理设置里的“桥接接口”还要去掉勾,点击保存。

再在防火墙的自定义规则里添加一段规则,然后重启防火墙和应用设置。

iptables -t nat -I POSTROUTING -j MASQUERADE

因为 AX6 的固件不能给设备下发网关和 DNS ,在需要翻墙的设备上需要手动设置网关和 DNS 。如在 iOS 系统的 IP 设置里,路由器指的就是网关,填旁路由的 IP ,DNS 也填旁路由的 IP 。

Windows 设置:

没有 NAS 的朋友还是建议买个 R2S 之类的软路由,比 N1 做旁路由更好折腾。