发生了什么
软路由断电后,会导致整个网络全部挂掉,初步诊断是硬件时间(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
XiLingHost 2022-06-27 02:02:12 +08:00 1
硬件时间被重置大概率和系统关系不大,你得看 BIOS 的实现
|
2
vmebeh 2022-06-27 02:03:14 +08:00 via iPhone 1
ntp 服务器的地址放行不走 openclash
|
3
PMR 2022-06-27 03:16:07 +08:00 via Android 1
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 1
ntp 列表里面多加几个,使用 ip 的
|
5
loveyu 2022-06-27 08:33:00 +08:00 via Android 1
最近刚处理这个问题,自己写个开机脚本通过 ip 更新时间
|
6
noyidoit OP @vmebeh 思路不错!试了一下让 dnsmasq 不转发 ntp server 相关域名,开机后国内可以正常访问了,但国外还是不行,需要重启 openclash
|
8
noyidoit OP 感谢各位大佬,现在这个问题解决了
1. 为 ntp 域名设置不转发 dns 2. 装个 ntpdate / chrony ,然后启动项加个开机脚本,同步时间并重启 openclash |