避免 DNSMASQ 在 resolv.conf 中进行更改

避免 DNSMASQ 在 resolv.conf 中进行更改

无法找到使 dnsmasq 不在 /etc/resolv.conf 文件中进行更改的解决方法。

编辑 init.d/dnsmasq 文件不是一个完整的选项,因为并非所有 ubuntu 版本 dnsmasq 都通过 init.d 运行

希望你能帮忙!

答案1

问题是由于网络管理器动态使用您/etc/resolv.confdnsmasq

解决方案是改变名称解析方式。请尝试以下操作

/etc/NetworkManager/NetworkManager.conf注释掉dns=dnsmasq

sudo nano /etc/NetworkManager/NetworkManager.conf

 [main]
plugins=ifupdown,keyfile,ofono
#dns=dnsmasq

no-auto-default=00:22:64:4E:6F:70,

[ifupdown]
managed=fals

并重新启动NM服务

sudo restart network-manager

这样/etc/resolv.conf就不再依赖于resolvconf包,而是根据网络管理器中每个连接的 DNS 条目进行更新

您还可以在 中添加名称服务器/etc/resolv.conf。如果您没有在每个连接的 NM 中设置 DNS,则将使用

sudo nano /etc/resolv.conf

nameserver 8.8.4.4
nameserver 8.8.8.8

编辑一

停止服务resolvconf

sudo service resolvconf stop

禁用它

update-rc.d resolvconf disable

禁用resolvconf覆盖resolv.conf

/etc/init/resolvconf.override用单行创建manual

echo 'manual' | sudo tee /etc/init/resolvconf.override

删除符号链接/etc/resolv.conf

rm /etc/resolv.conf

resolv.conf使用静态 DNS 条目创建

echo "namserver x.x.x.x." > /etc/resolv.conf

答案2

这可能会或可能不会解决您的问题,但我遇到了类似的问题,其中 dnsmasq(实际上是 dnsmasq 和 resolvconf 的组合)正在重写我的 /etc/resolv.conf 文件并忽略我在 /etc/network/interfaces 中设置的 dns-nameservers 选项。

问题原来是 resolvconf 会调用 dnsmasq 来更新 resolv.conf 中的名称服务器条目,然后似乎就会退出。

我通过将我的接口(在我的情况下)移到 /etc/resolvconf/interface-order 中的“lo.dnsmasq”条目之前,使它保留了 /etc/network/interfaces 中的 dns-nameservers 条目p+([0-9])p+([0-9])?(_+([0-9]))*。因此,现在,我得到的不是“nameserver 127.0.0.1”作为 /etc/resolv.conf 中的第一个、最后一个和唯一的名称服务器条目,而是

nameserver <ipaddr.frometc.network.interfaces> nameserver <another.frometc.network.interfaces> nameserver 127.0.0.1 search <domains from /etc/network/interfaces>

所以现在看来​​,resolvconf 运行,检查接口顺序,并从 /etc/network/interfaces 添加与“lo.dnsmasq”上方的条目相对应的条目,然后调用 dnsmasq 进程将这些条目添加到文件中,但不知何故工作得不太正确,它会忽略此后的任何接口。

当我试图弄清楚这一点时,我搜索了为什么 dnsmasq 忽略了 /etc/network/interfaces,但无济于事。(我确信这涉及到 dnsmasq,因为这发生在我安装 dnsmasq 后不久)我不确定这是否解决了您的问题,但对我来说,这似乎比删除 resolvconf 要干净一些。

答案3

您可以尝试将 chattr 设置为不可变。

chattr +i /path/to/filename

要删除不可变内容以允许再次进行更改,请更改文件上的标志。

chattr -i /path/to/filename

相关内容