Change DNS settings on Linux
There may be times you need to change your server’s DNS settings, either because you find they’re misconfigured or because you want to use your own. Fortunately, there isn’t a lot of work involved in changing the DNS servers, just a quick edit in the right place.
Add name servers to the config file
On Linux, the DNS servers the system uses for name resolution are defined in the file:
In that file, you should have at least one
nameserver line (two is
better, so you have a fallback). Each line defines a DNS server.
The name servers are prioritized in the order the system finds them in the file. Use the IP addresses of the name servers when entering them, since the system won’t know what to do with domain names until after it knows how to get to the DNS servers.
Open resolv.conf with an editor, such as
nano, to make the necessary changes
(if it doesn’t exist already, this command creates the file):
sudo nano /etc/resolv.conf
The following table displays which name server IP addresses to use depending on which datacenter houses your cloud servers:
|Datacenter||Name server IP|
|Hong Kong (HKG)||nameserver 22.214.171.124
|London (LON)||nameserver 126.96.36.199
|Chicago (ORD)||nameserver 188.8.131.52
|Dallas/Fort Worth (DFW)||nameserver 184.108.40.206
|Sydney (SYD)||nameserver 220.127.116.11
After you have your DNS servers set, save the file.
The easiest way to make sure your new settings are working is to try to
ping a domain name:
ping -c 3 rackspace.com
You should see a result similar to the following:
PING rackspace.com (18.104.22.168) 56(84) bytes of data. 64 bytes from 22.214.171.124: icmp_req=1 ttl=249 time=25.3 ms 64 bytes from 126.96.36.199: icmp_req=2 ttl=249 time=25.2 ms 64 bytes from 188.8.131.52: icmp_req=3 ttl=249 time=25.2 ms --- rackspace.com ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2002ms rtt min/avg/max/mdev = 25.236/25.292/25.392/0.147 ms
If you get an
unknown host message back, you should double-check the IP
addresses you set as your DNS servers.
Name servers with IPv6 addresses
If you’re using IPv6 on your server, you may need to add the IPv6 addresses of your name servers to resolv.conf. You can see if a DNS server has an IPv6 address with two steps.
hostto get the name of the server:
$ host 184.108.40.206 240.128.3.72.in-addr.arpa domain name pointer cachens1.dfw1.rackspace.com.
Use the domain name you got back in another
$ host cachens1.dfw1.rackspace.com cachens1.dfw1.rackspace.com has address 220.127.116.11 cachens1.dfw1.rackspace.com has IPv6 address 2001:4800:d::1
If an IPv6 address is returned, you can add that as another
line in resolv.conf, as in:
Then test as previously shown, using the
ping6 command instead of the regular
ping command to force the system to use IPv6.
Continue the conversation in the Rackspace Community.
©2016 Rackspace US, Inc.
Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License