为什么每次在 Debian 中断开/连接互联网时,resolv.conf 都会被清空?

为什么每次在 Debian 中断开/连接互联网时,resolv.conf 都会被清空?

我将 Debian 9.1 与 KDE 一起使用,我注意到每次断开或连接到互联网时,resolv.conf 都会被清除。这是为什么?为什么它不保留其内容?
如果它的内容(至少部分?)取决于连接设置或连接的网络或路由器,那么它不应该保留内容并仅在必要时更改它们吗?

对它的所有更改难道不应该由用户明确授权吗?造成这个问题的另一个原因是,否则很难跟踪和记录对文件的更改。

答案1

网络管理器正在管理您的 resolv.conf。这是默认设置,但有很多方法可以更改它。

  1. 将 dns=no 添加到 /etc/NetworkManager/NetworkManager.conf 的 [main] 部分`

  2. 使用 GUI:见下文

来自 Debian 维基: https://wiki.debian.org/NetworkConfiguration#DNS_configuration_for_NetworkManager

NetworkManager 的 DNS 配置:

NetworkManager 将覆盖 dhcp 设置,即使您已在 /etc/dhcp/dhclient.conf 中配置了 DNS,也会覆盖 resolv.conf,例如导致 DNS 首先搜索本地域,这可能在 DNS 解析继续之前超时,从而导致冗长的 DNS分辨率倍。您可以通过在命令行执行 nm-tool 来了解 NetworkManager 认为应该进行的设置。

您可以使用 GUI 通过启动 nm-connection-editor 来配置这些设置,当前(13.11.23)在“系统工具”→“管理”菜单中找不到它,而必须从命令行手动启动它。启动后:

  • 选择一个连接(从“有线”或“无线”选项卡),然后单击“编辑”。
  • 单击 IPv4 设置选项卡
  • 选择“仅自动 (DHCP) 地址”,而不仅仅是“自动 (DHCP)”。
  • 在“DNS 服务器”字段中输入 DNS 服务器,以空格分隔(例如 OpenDNS 为 208.67.222.222)。
  • 点击“应用”。

相关内容