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 switch to network service.
Configure static DNS with Network Manager
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., 18.104.22.168 and 22.214.171.124).
If you use a static IP address, simply enter your DNS servers in the "DNS servers" field.
Configure static DNS in /etc/sysconfig/network-scripts/ifcfg-ethX
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.
DEVICE=eth0 BOOTPROTO=dhcp ONBOOT=yes PEERDNS=no
Then, add static DNS to /etc/resolv.conf
nameserver 126.96.36.199 nameserver 188.8.131.52
Alternatively, you can specify DNS servers directly in the interface configuration file, instead of modifying /etc/resolv.conf yourself. That is:
DEVICE=eth0 BOOTPROTO=dhcp ONBOOT=yes DNS1=184.108.40.206 DNS2=220.127.116.11
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)
DEVICE=eth0 BOOTPROTO=manual ONBOOT=yes IPADDR=10.0.1.27 NETWORK=10.0.1.0 NETMASK=255.255.255.0 DNS1=18.104.22.168 DNS2=22.214.171.124
Subscribe to Ask Xmodulo
Do you want to receive Linux related questions & answers published at Ask Xmodulo? Enter your email address below, and we will deliver our Linux Q&A straight to your email box, for free. Delivery powered by Google Feedburner.