Last updated on November 13, 2020 by Dan Nanni
If you want to hard-code DNS servers to use on CentOS or Fedora, the method can differ, depending on whether you use Network Manager or network service. On RHEL based systems, Network Manager is used to manage network interfaces by default, while you can always switch to network service.
If you are using Network Manager, you can configure static DNS as follows.
In case of DHCP, choose Automatic (DHCP) addresses only
method, so that your DHCP server cannot override your DNS setting. Then in the DNS servers
field, enter a comma separate list of DNS servers to use (e.g., 8.8.8.8 and 8.8.4.4).
If you use a static IP address, simply enter your DNS servers in the DNS servers
field.
/etc/sysconfig/network-scripts/ifcfg-{xxx}
If you disabled Network Manager, but use network service
instead, you can use interface configuration files (e.g., /etc/sysconfig/network-scripts/ifcfg-eth0
) to specify static DNS. In this case, there are actually two ways to do it.
Use PEERDNS=no
. This option will prevent /etc/resolv.conf
from being modified by a DHCP server. So instead of using DHCP-provided DNS, you can specify any arbitrary DNS servers you want to use in /etc/resolv.conf
.
The configuration file for your network interface (e.g., eth0
) looks like the following.
$ sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 BOOTPROTO=dhcp ONBOOT=yes PEERDNS=no
Then, add static DNS to /etc/resolv.conf
.
$ sudo vi /etc/resolv.conf
nameserver 8.8.8.8 nameserver 8.8.4.4
Alternatively, you can specify DNS servers directly in the interface configuration file, instead of modifying /etc/resolv.conf
yourself. That is:
$ sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 BOOTPROTO=dhcp ONBOOT=yes DNS1=8.8.8.8 DNS2=8.8.4.4
The DNS servers specified with DNS1/DNS2
directives will then automatically be added to /etc/resolv.conf
when the interface is activated. So there is no need to modify /etc/resolv.conf
yourself.
The above two methods can be applied similarly to a static IP address case. That is:
DEVICE=eth0 BOOTPROTO=manual ONBOOT=yes IPADDR=10.0.1.27 NETWORK=10.0.1.0 NETMASK=255.255.255.0 PEERDNS=no (then add DNS to /etc/resolv.conf)
Or:
DEVICE=eth0 BOOTPROTO=manual ONBOOT=yes IPADDR=10.0.1.27 NETWORK=10.0.1.0 NETMASK=255.255.255.0 DNS1=8.8.8.8 DNS2=8.8.4.4
This website is made possible by minimal ads and your gracious donation via PayPal or credit card
Please note that this article is published by Xmodulo.com under a Creative Commons Attribution-ShareAlike 3.0 Unported License. If you would like to use the whole or any part of this article, you need to cite this web page at Xmodulo.com as the original source.
Xmodulo © 2021 ‒ About ‒ Write for Us ‒ Feed ‒ Powered by DigitalOcean