由于需要时间正确才能连接,所以在路由器意外断电之后, OpenWRT-Netkeeper 常常无法自动重连, OpenWRT 自带的“开机自动运行”设置会尝试在时间不正确的情况下连接 Netkeeper ,这会造成更加麻烦的问题。那么要如何设置才能让 OpenWRT 开机自动对时 + 连接 Netkeeper 呢?
找到能使用的 ntp 时间服务器的 IP
首先找出你所在的内网中可以使用的 ntp 服务器的 IP 地址,这个服务器一般会打开 123 端口。记下这个地址,以下假设这个地址是 10.0.0.123。
关闭 OpenWRT 自带的“开机自动运行”
OpenWRT 设置页面 -> 网络 -> 接口 -> netkeeper -> 修改 -> 高级,确认“开机自动运行”前面的勾没有选上,如果选上了请取消勾选。
编写 init.d 脚本
新建一个名为 netkeeper 的文件,写入以下内容,然后保存
#!/bin/sh /etc/rc.common
#/etc/init.d/netkeeper
START=99
start() {
# 把 10.0.0.123 换成第 1 步找到的 ntp 服务器地址
ntpd -n -q -p 10.0.0.123
ifup netkeeper
}
stop() {
ifdown netkeeper
}
将 init.d 脚本放入路由器
将该文件传输到路由器的/etc/init.d
目录下面,并添加运行权限
local> scp netkeeper [email protected]:/etc/init.d/
local> ssh [email protected]
OpenWRT> chmod +x /etc/init.d/netkeeper
设置开机启动
在路由器上执行
OpenWRT> /etc/init.d/netkeeper enable
这样,在路由器意外断电之后,重新启动时就可以自动对时 + 连接 Netkeeper 了,十分方便。
最后感谢 miao1007 ,他的汗水为我们的校园生活带来了无尽的便利。