我在 wheezy 系统上运行 OpenVPN 和 dnsmasmq。Dnsmasq 仅对 VPN 和本地用户是必需的,因此我不希望它在所有设备上监听(是的,无论如何也有防火墙)。
当服务在启动时启动时,openvpn 首先从 启动S02openvpn
,然后是 dnsmasq S03dnsmasq
。当我让 dnsmasq 绑定在所有设备上时,它工作正常,但如果我interface=tun0
在配置中将其限制为 tun0+loop,我在启动时会从 dnsmasq 收到错误,抱怨它无法绑定到tun0
。
那么,我如何确保某些设备(即tun0
我的情况)在其他初始化脚本执行之前可用?任何其他不太优雅的快速修复也欢迎!
答案1
我终于自己找到了答案。最近的 Debian init 脚本在文件开头有一些特殊的注释。可以指定它们提供哪种服务以及哪些服务必须首先可用。这里描述得相当清楚:
https://wiki.debian.org/LSBInitScripts
因此,对于我的特殊情况,我必须编辑/etc/inti.d/dnsmasq
并添加openvpn
要求:
# Required-Start: $network $remote_fs $syslog openvpn