/etc/resolv.conf默认情况下,Red Hat Enterprise Linux (RHEL) 8 上的 NetworkManager使用来自活动 NetworkManager 连接配置文件的 DNS 设置 动态更新文件。但是,您可以禁用此行为并在/etc/resolv.conf.

笔记

或者,如果您需要 DNS 服务器的特定顺序/etc/resolv.conf,请参阅配置 DNS 服务器的顺序

1 在 NetworkManager 配置中禁用 DNS 处理

默认情况下,NetworkManager 管理/etc/resolv.conf文件中的 DNS 设置,您可以配置 DNS 服务器的顺序。或者,如果您更喜欢在 .net 中手动配置 DNS 设置,则可以在 NetworkManager 中禁用 DNS 处理/etc/resolv.conf

程序

  1. 以 root 用户身份,/etc/NetworkManager/conf.d/90-dns-none.conf使用文本编辑器创建包含以下内容的文件:
[主要的]
DNS=无
  1. 重新加载NetworkManager服务:
# systemctl 重新加载网络管理器

笔记

重新加载服务后,NetworkManager 不再更新该/etc/resolv.conf文件。但是,文件的最后内容将被保留。

  1. Generated by NetworkManager(可选)从中 删除注释/etc/resolv.conf以避免混淆。

确认

  1. 编辑/etc/resolv.conf文件并手动更新配置。
  2. 重新加载NetworkManager服务:
# systemctl 重新加载网络管理器
  1. 显示/etc/resolv.conf文件:
# cat /etc/resolv.conf

如果您成功禁用 DNS 处理,NetworkManager 不会覆盖手动配置的设置。

额外资源

2. 用符号链接替换 /etc/resolv.conf 以手动配置 DNS 设置

默认情况下,NetworkManager 管理/etc/resolv.conf文件中的 DNS 设置,您可以配置 DNS 服务器的顺序。或者,如果您更喜欢在 .net 中手动配置 DNS 设置,则可以在 NetworkManager 中禁用 DNS 处理/etc/resolv.conf。例如,如果/etc/resolv.conf是符号链接,NetworkManager 不会自动更新 DNS 配置。

先决条件

  • NetworkManagerrc-manager配置选项未设置为file。要验证,请使用NetworkManager --print-config命令。

程序

  1. 创建一个文件,例如/etc/resolv.conf.manually-configured,并向其中添加您的环境的 DNS 配置。使用与原始/etc/resolv.conf.
  2. 删除/etc/resolv.conf文件:
# rm /etc/resolv.conf
  1. /etc/resolv.conf创建一个名为引用的 符号链接/etc/resolv.conf.manually-configured
# ln -s /etc/resolv.conf.manually-configured /etc/resolv.conf

额外资源

  • resolv.conf(5)手册页
  • NetworkManager.conf(5)手册页



参考:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_and_managing_networking/manually-configuring-the-etc-resolv-conf-file_configuring-and-managing-networking