Linux / UNIX set the DNS from the command line

by Vivek Gite on December 19, 2007 · 10 comments

Q. I just got Linux installed on my system. I'm able to connect to internet via IP address only. I'm not able to find out information about setting up new DNS sever ip under Linux. How do I configure primary and secondary DNS via terminal / shell prompt?

A. Under Linux / UNIX / BSD operating system, you need to edit the /etc/resolv.conf file and add the line:

nameserver {IP-OF-THE-DNS-1}
nameserver {IP-OF-THEISP-DNS-SERVER-2}

Login as the root, enter:
# vi /etc/resolv.conf
OR
$ sudo vi /etc/resolv.conf
Modify or enter nameserver as follows:
nameserver 208.67.222.222
nameserver 208.67.220.220

Save and close the file. To test DNS configuration type any one of the following command:
$ host google.com
$ dig google.com
$ ping google.com
$ nslookup your-domain.com

Output:

google.com has address 72.14.207.99
google.com has address 64.233.187.99
google.com has address 64.233.167.99
google.com mail is handled by 10 smtp4.google.com.
google.com mail is handled by 10 smtp1.google.com.
google.com mail is handled by 10 smtp2.google.com.
google.com mail is handled by 10 smtp3.google.com.

If you see valid output such as actual IP address or able to ping to remote server via hostname, it means that the dns is working for you. Also make sure you have valid default gateway setup, if you see the time out error.

Featured Articles:

Share this with other sys admins!
Facebook it - Tweet it - Print it -

{ 10 comments… read them below or add one }

1 me December 19, 2007

you’re easily sliding to the point where your tutorials will be as complex as ‘how to start your computer? press the power button!’

haha

Reply

2 Ash December 19, 2007

Typo:
nslookup

Reply

3 Robert de Bock December 20, 2007

Ping is a tool to send ICMP echo requests to machines, not to check if resolving works. nslookup, dig and host can be used to check resolving, as you perfectly describe in this article.

Reply

4 musolff92 July 2, 2011

well that’s true, but it has to resolve the dns name before it can continue the ping. So ping works too.

Reply

5 user December 20, 2007

> http://www.google.com
Server: 208.67.222.222
Address: 208.67.222.222#53

Non-authoritative answer:
http://www.google.com canonical name = google.navigation.opendns.com.
Name: google.navigation.opendns.com
Address: 208.67.219.230
Name: google.navigation.opendns.com
Address: 208.67.219.231

Reply

6 Phil January 22, 2008

Using nslookup you can query different name servers.

nslookup http://www.google.com XXX.XXX.XXX.XXX

where XXX.XXX.XXX.XXX is the ip adress or name of the name server you are trying to query.

Doing :
nslookup http://www.google.com localhost
will query your local dns server if you have one.

Reply

7 Sajain Geevar July 8, 2008

How can I specify something like for site say ‘www.mysite.com’ go to this ip say ’192.168.1.2′?

Reply

8 vivek July 8, 2008

You need to set named or bind9 software to point to specific IP.

Reply

9 FM September 20, 2008

I WANT THE COMMAND ON LINUX TO CREATE DNS & DHCP SERVER.

Reply

10 Ashis September 4, 2011

i m very much crazy abt Linux

Reply

Leave a Comment

You can use these HTML tags and attributes for your code and commands: <strong> <em> <ol> <li> <u> <ul> <blockquote> <pre> <a href="" title="">
What is 14 + 4 ?
Please leave these two fields as-is:
Solve the simple math so we know that you are a human and not a bot.




Previous post:

Next post: