Chapter 29. Manually configuring the /etc/resolv.conf file
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
.
29.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
NoteAfter 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.
29.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.