OpenWRT-Netkeeper 开机自动连接方案

OpenWRT

由于需要时间正确才能连接,所以在路由器意外断电之后, 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 root@OpenWRT.lan:/etc/init.d/
local> ssh root@OpenWRT.lan
OpenWRT> chmod +x /etc/init.d/netkeeper

设置开机启动

在路由器上执行

OpenWRT> /etc/init.d/netkeeper enable

这样,在路由器意外断电之后,重新启动时就可以自动对时 + 连接 Netkeeper 了,十分方便。

最后感谢 miao1007 ,他的汗水为我们的校园生活带来了无尽的便利。