我在我的喘息的系统上运行OpenVPN和dnsmasmq。 Dnsmasq只是VPN和本地用户所必需的,所以我不想让它听所有的设备(是的,也有一个防火墙,反正)。
当服务在启动时开始,openvpn首先从S02openvpn ,dnsmasq, S03dnsmasq 。 当我让dnsmasq在所有设备上绑定时,这工作正常,但是如果我将它限制在tun0 + loop中,并且在configuration中使用interface=tun0 ,则会在dnsmasq引导时收到错误,抱怨它无法绑定到tun0 。
那么,如何确保某些设备(即我的情况下为tun0在其他一些初始化脚本执行之前可用? 其他不太优雅的quickfix也将受到欢迎!
我终于自己find了。 最近的Debian init脚本在文件的开始处提供了一些特殊的注释。 可以指定他们提供哪种服务,哪些服务必须首先提供。 这里描述得相当好:
https://wiki.debian.org/LSBInitScripts
所以对于我的特殊情况,我不得不编辑/etc/inti.d/dnsmasq并将openvpn添加到要求中:
# Required-Start: $network $remote_fs $syslog openvpn