18.04:仿生海狸:强制执行静态/etc/resolv.conf


10

以前,在Ubuntu 16.04上,当Ubuntu更新安装dnsmasq软件包,对其进行配置并赋予其优先于我自己的超稳定,超快速和自己配置的BIND DNS服务器时,我感到背叛。感觉就像Ubuntu入侵了我的工作站一样。

由于我碰巧是系统管理员,所以这是绝对不能接受的。这是个怪胎。这是当您要解决问题并在其中一个步骤中使用dig或时nslookup,您惊讶地看到lo界面在答复您。恐慌

有没有一种方法不仅可以解决此问题,还可以保证/etc/resolv.conf防篡改?

Answers:


5

一个简单的编辑/etc/NetworkManager/NetworkManager.conf和禁用systemd-resolved.service(如此答案https://askubuntu.com/a/907249/719422)。但是,仅此一项虽然必不可少,但不能保证防篡改resolv.conf

要真正强制执行/etc/resolv.conf已知会在任何类型的重启后仍然存在的静态变量,您需要为其设置不可变属性。在上面提到的Bastian Voigt的答案中,您以超级用户身份执行此操作:

echo nameserver 8.8.8.8 > /etc/resolv.conf
chattr -e /etc/resolv.conf
chattr +i /etc/resolv.conf

...将其更改nameserver为您选择的值。这样,您就可以拥有一个真正的 static /etc/resolv.conf


3
/etc/NetworkManager/NetworkManager.conf文件在18.04
hfranco

@hfranco如果没有,我怀疑,那么您只需创建一个即可!而且,顺便说一句,如果您的情况如此,那么它不是标准设置;而是 您的情况不正常。我会说您在寻找时输入错误!
MK


这是唯一在Ubuntu 18.04上对我有用的东西
Lucas Bustamante

1

我发现的最佳解决方案是阻止NetworkManager更新/etc/resolv.conf,然后使用静态DNS服务器创建新的/etc/resolv.conf文件。有关如何执行此操作,请参见https://www.ctrl.blog/entry/resolvconf-tutorial


1
感谢您的垃圾邮件!但是无论如何,您都缺少Immutable属性!
MK

0

根据文档,您可以将写入resolv.conf/usr/lib/systemd/resolv.conf,这是可以从链接的静态文件/etc/resolv.conf。那不应该重写。

sudo ln -sf /usr/lib/systemd/resolv.conf /etc/resolv.conf

http://manpages.ubuntu.com/manpages/bionic/man8/systemd-resolved.service.8.html#contenttoc3

/ETC/RESOLV.CONF

支持四种处理/etc/resolv.conf的模式(请参阅resolv.conf(5)):

...

提供了一个静态文件/usr/lib/systemd/resolv.conf,该文件列出了127.0.0.53 DNS存根(请参见上文)作为唯一的DNS服务器。为了将所有绕过本地DNS API的本地客户端连接到systemd-resolved,可以从/etc/resolv.conf中对该文件进行符号链接。该文件不包含任何搜索域。


2
不,对不起 当规格更改或配置方法根据Ubuntu自己的意愿改变时会发生什么?您知道,这正是我离开萨蒂亚(Satya)曾经梦想的操作系统的惨败。而且,这是Linux应该避免的惨败。resolve.conf有什么问题?为什么要麻烦?为什么尝试以某种方式模仿可恶而乏味的Redhat网络配置?抱歉,我只会坚持我的解决方案。
MK

您怎么知道将来不会简单地忽略您的文件?我知道强迫某些应用程序以静态方式工作而另一些则不会。使用wisbucky的解决方案,至少我们可以使用当前的方式。我没有看到他们也需要进行更改,但是我没有投票。有人否决了该解决方案,但实际上它确实有效并且最简单。+1
马龙(Marlon)'18

@Marlon“您怎么知道您的文件将来不会被简单地忽略”?因为它被设置为不可变的;并且,如果/etc/resolv.conf将被忽略,那么为什么大惊小怪无论如何围绕它构建框架?仅当某些Ubuntu wacko认为该文件无用时才会忽略该文件(例如,在接口文件中实现一些功能!)
MK

如果我想让某人为我做决定,那我就回到Microsoft Windows上了,他们的编码人员和设计师以及最重要的Satya认为他们比你更了解你的缘故,并且你无权选择如何运行他们的“创建”。大惊小怪!
MK

如果人类无法享受运行操作系统的麻烦,为什么要为人类造福呢?如果有人要告诉我什么时候使用它,那么大惊小怪的是Immutable属性。这不是关于“遵循维加银河手册”,而是关于选择的自由。任何人都不应对自己造成一成不变的一心一意的冲动。你是一个存在,你有权利。
MK

-2

存在的文件是到另一个文件的符号链接。删除档案

rm /etc/resolve.conf
vim / etc resolve.conf
输入你的数据
:wq

该文件不再是符号链接,而是永久文件。


已经有步骤直接指向预先删除/etc/resolv.conf。
MK
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.