1 | systemd[1]: Starting dnsmasq - A lightweight DHCP and caching DNS server... |
安装 dnsmasq 之后发现无法解析域名了,nslookup 显示请求被拒绝。dnsmasq 的日志显示如上,提示读取 /run/dnsmasq/resolv.conf
中的域名服务器,但文件为空,搜索发现有直接修改该文件的方案,但在测试后发现该文件每次重启 dnsmasq 服务的时候都会重新生成,修改无法保存。
dnsmasq 在默认安装的情况下被设置为若 resolvconf 已安装的话,则与 resolvconf 集成。这就意味着 dnsmasq 将其监听的地址(127.0.0.1)发送给 resolvconf,并使用 resolvconf 的可用域名服务器列表生成自己的上游域名服务器列表。dnsmasq 的 resolvconf 钩子脚本 /etc/resolvconf/update.d/dnsmasq
生成 /var/run/dnsmasq/resolv.conf
。这个脚本在每次 resolvconf 运行的时候触发。
需要编辑 etc/default/dnsmasq
文件,并设置 IGNOR_RESOLVCONF=yes
,这样的话 dnsmasq 就不会直接查找 /var/run/dnsmasq/resolv.conf
中的内容了。
/etc/init.d/dnsmasq
:
1 | # RESOLV_CONF: |