By default, NetworkManager on Red Hat Enterprise Linux (RHEL) 8 dynamically updates the /etc/resolv.conf
file with the DNS settings from active NetworkManager connection profiles. This section describes different options on how to disable this feature to manually configure DNS settings in /etc/resolv.conf
.
31.1. Disabling DNS processing in the NetworkManager configuration
This section describes how to disable DNS processing in the NetworkManager configuration to manually configure the /etc/resolv.conf
file.
Procedure
- As the root user, create the
/etc/NetworkManager/conf.d/90-dns-none.conf
file with the following content by using a text editor: [main] dns=none - Reload the
NetworkManager
service: #systemctl reload NetworkManager
Note After you reload the service, NetworkManager no longer updates the/etc/resolv.conf
file. However, the last contents of the file are preserved. - Optionally, remove the
Generated by NetworkManager
comment from/etc/resolv.conf
to avoid confusion.
Verification steps
- Edit the
/etc/resolv.conf
file and manually update the configuration. - Reload the
NetworkManager
service: #systemctl reload NetworkManager
- Display the
/etc/resolv.conf
file: #cat /etc/resolv.conf
If you successfully disabled DNS processing, NetworkManager did not override the manually configured settings.
Additional resources
- For further details, see the description of the
dns
parameter in theNetworkManager.conf(5)
man page.
31.2. Replacing /etc/resolv.conf with a symbolic link to manually configure DNS settings
NetworkManager does not automatically update the DNS configuration if /etc/resolv.conf
is a symbolic link. This section describes how to replace /etc/resolv.conf
with a symbolic link to an alternative file with the DNS configuration.
Prerequisites
- The
rc-manager
option is not set tofile
. To verify, use theNetworkManager --print-config
command.
Procedure
- Create a file, such as
/etc/resolv.conf.manually-configured
, and add the DNS configuration for your environment to it. Use the same parameters and syntax as in the original/etc/resolv.conf
. - Remove the
/etc/resolv.conf
file: #rm /etc/resolv.conf
- Create a symbolic link named
/etc/resolv.conf
that refers to/etc/resolv.conf.manually-configured
: #ln -s /etc/resolv.conf.manually-configured /etc/resolv.conf
Additional resources
- For details about parameters you can set in
/etc/resolv.conf
, see theresolv.conf(5)
man page. - For further details about why NetworkManager does not process DNS settings if
/etc/resolv.conf
is a symbolic link, see the description of therc-manager
parameter in theNetworkManager.conf(5)
man page.