系统启动时,/var/run/dnsmasq/resolv.conf 文件最终为空白。我原本希望 resolvconf 包使用来自 /etc/network/interfaces (dns-nameservers、dns-search) 的信息来更新它。
我正在运行 Ubuntu 10.04.2 LTS lucid 服务器。我安装了 resolvconf 和 dnsmasq。
这是 eth0 的接口文件部分(更改了 ip 和 dns 名称):
auto eth0
iface eth0 inet static
address 10.100.1.100
netmask 255.255.255.0
network 10.100.1.0
broadcast 10.100.1.255
gateway 10.100.1.1
dns-nameservers 10.100.2.2 10.100.3.2
dns-search my-domain.com mydomain.com
如果我在启动后运行 ifdown eth0 && ifup eth0,那么 /var/run/dnsmasq/resolv.conf 文件就会正确填充。
答案1
我讨厌这个。我在我的系统上发现了同样的问题。我认为部分问题出在 NetworkManager (NetworkMangler) 上。
我做了以下事情
echo "nameserver 8.8.8.8" > /etc/resolv.conf
echo "nameserver 8.8.4.4" >> /etc/resolv.conf
chattr +i /etc/resolv.conf
现在除了我之外,没有人能改变它。虽然不能解决根本问题,但确实有效。
注意:你可以用 /var/run/dnsmasq/resolv.conf 替换 /etc/resolv.conf
设置它,然后忘掉它。在服务器上,我不赞成服务篡改我的配置。特别是如果我设置了静态 IP。
该死的,我想要掌控一切。