hotplug.d/iface是在接口接驳状态发生变化时所执行的脚本,所执行的内容应该在执行有限次之后不再触发接口接驳状态的变化,绝不可以执行无限次之后仍然可触发接口接驳状态的变化,所以使用hotplug.d/iface实现DNS隐蔽信道的自动连接必须使用判断结构,避免DNS隐蔽信道连接建立之后由于触发了接口接驳状态的变化导致脚本重复执行,判断条件为DNS隐蔽信道是否已连接。
判断条件为$(ifconfig dns0 |grep "not"),条件为真表示未连接成功,条件为假表示已连接成功。由于DNS隐蔽信道程序带有自动检测网络通断的特性,长时间无法保持连接时会放弃连接断开dns0虚拟网卡,所以无需通过ping隐蔽信道服务器端的方式侦测连接状态。
参考脚本:
while [ "1" ]; do
dns=$(ifconfig dns0 |grep "not")
if [ "$dns" ]; then
sleep 60
else
iodine iodine.ipv6nxtgnwrt.homenet.org
fi
done
经测试DNS隐蔽信道使用上述参考脚本自动连接后最长1小时以上保持稳定状态,已基本可满足Internet隐蔽接入的稳定性需求。
没有评论:
发表评论