
发生了什么
软路由断电后,会导致整个网络全部挂掉,初步诊断是硬件时间(hwclock)因未知原因被错误重置,又因为整个网络都经过 openclash ,openclash 又对时间敏感,错误的时间导致 openclash 挂了,进而导致整个网络都挂了 XD
我尝试了什么
用以下关键词 google ,然后没搜到什么有用的信息(也可能是我没能慧眼识珠...)
以下是断电再上电重启后,ssh 进软路由打印出的信息
root@OpenWrt:~# hwclock Thu Jan 21 08:50:36 2016 0.000000 seconds root@OpenWrt:~# date Thu Jan 21 16:50:38 CST 2016 root@OpenWrt:~# time BusyBox v1.35.0 (2022-06-07 15:11:28 UTC) multi-call binary. Usage: time [-vpa] [-o FILE] PROG ARGS Run PROG, display resource usage when it exits -v Verbose -p POSIX output format -f FMT Custom format -o FILE Write result to FILE -a Append (else overwrite) root@OpenWrt:~# 环境
可以稳定复现,目前的 workarond 是每次断电在 LuCI 上同步浏览器时间,但这不是个办法... 暂时没啥思路,请教下 v2 的前后浪们
1 KagurazakaNyaa 2022-06-27 02:02:12 +08:00 硬件时间被重置大概率和系统关系不大,你得看 BIOS 的实现 |
2 vmebeh 2022-06-27 02:03:14 +08:00 via iPhone ntp 服务器的地址放行不走 openclash |
3 PMR 2022-06-27 03:16:07 +08:00 via Android Bootlog: [ 3.013095] rk808-rtc rk808-rtc: registered as rtc0 [ 3.014204] rk808-rtc rk808-rtc: setting system clock to 2016-01-21T08:50:07 UTC (1453366207) “未知原因被错误重置” 主板没电池存储时间 让马跑又不喂草 装 chrony 自动同步 还能分发到网内其它设备 |
4 Kinnice 2022-06-27 08:28:58 +08:00 via Android ntp 列表里面多加几个,使用 ip 的 |
5 loveyu 2022-06-27 08:33:00 +08:00 via Android 最近刚处理这个问题,自己写个开机脚本通过 ip 更新时间 |
6 noyidoit OP @vmebeh 思路不错!试了一下让 dnsmasq 不转发 ntp server 相关域名,开机后国内可以正常访问了,但国外还是不行,需要重启 openclash |
8 noyidoit OP 感谢各位大佬,现在这个问题解决了 1. 为 ntp 域名设置不转发 dns 2. 装个 ntpdate / chrony ,然后启动项加个开机脚本,同步时间并重启 openclash |