查找哪个程序正在替换我的 resolv.conf 文件

Rud*_*off 3 domain-name-system debian networkmanager

我在 Debian 8 上使用网络管理器。我的配置包含一些自定义 DNS 服务器,因此由网络管理器生成的 /etc/resolv.conf 文件如下所示:

# Generated by NetworkManager
search rudloff.pro
nameserver 89.234.141.66
nameserver 8.8.8.8
nameserver 2a00:5881:8100:1000::3
Run Code Online (Sandbox Code Playgroud)

这完全没问题,但几分钟后,resolv.conf 文件被替换为:

nameserver 2a01:e00::1
nameserver 2a01:e00::2
Run Code Online (Sandbox Code Playgroud)

(这些是我的 ISP DNS 服务器,由 DHCP 服务器发送。)

我不知道是什么替换了这个文件。你知道什么可以做到吗?有没有办法查看哪个进程编辑了文件?

ase*_*seq 6

network(mis)manager 和 resolvconf(仅限 dns)都可以更改网络设置和/或 dns 设置(例如,如您所见,更改 /etc/resolv.conf 文件)。

虽然在可以看到许多不同(无线)网络的笔记本电脑上很方便,但它在服务器上的实际用途有限,甚至可以咬你,使服务器无法连接(例如,如果有人意外或故意在网络上添加了 dhcp 服务器,突然网络(错误)经理可能决定从那里获取 IP 地址)。如果您运行服务器,则这些软件包几乎没有用处,最好删除它们并手动配置网络。这样您就可以确保配置保持一致和不变。

修理:

apt-get --purge remove resolvconf network-manager
Run Code Online (Sandbox Code Playgroud)

这不会删除诸如 /etc/resolv.conf 和 /etc/network/interfaces 之类的文件,您可以手动编辑这些文件以创建自己的稳定网络配置。

在设置新服务器时,或者当我接管服务器的管理并且移除是适当的(在 99% 的情况下)时,我这样做是一项规则。