≡ Menu

Ubuntu Linux Configure DNS Name Server IP Address ( DNS Client )

Q. How do I change existing name server IP address? How do I configure DNS name server IP address under Ubuntu Linux / Debian Linux? How do I configure DNS name resolution under Ubuntu Linux?

A. You need to edit /etc/resolv.conf file under Debian / Ubuntu Linux to set Name server IP address that the resolver should query. Up to 3 name server internet IP address can be defined. If there are multiple servers, the resolver library queries them in the order listed.

Ubuntu Linux Configure DNS Name resolution

Type the following command, enter:
$ sudo vi /etc/resolv.conf
Or use nano text editor:
$ sudo nano /etc/resolv.conf
Append your ISP name server or free fast dns nameservers IP address as follows:

Save and close the file. Test your dns configuration by typing the following commands:
$ host yahoo.com
$ nslookup google.com
$ ping nixcraft.in

Tweet itFacebook itGoogle+ itPDF itFound an error/typo on this page?

{ 20 comments… add one }

  • Carl Friis-Hansen November 8, 2008, 5:58 pm

    I wonder if you are not missing something in the command:
    $ sudo /etc/resolv.conf

    What about:
    $ sudo nano /etc/resolv.conf

    or something?

  • nixCraft November 11, 2008, 3:26 pm


    Thanks for the heads up. The faq has been updated.

  • Noah Spurrier October 19, 2009, 11:14 pm

    On Ubuntu the settings may get overwritten and will certainly get overwritten after a reboot. This is because Ubuntu dynamically generates the /etc/resolv.conf file.It generates this from file a template where it gives you convenient hooks to add in your own static nameserver definitions. Here is the more modern method.
    Edit the template’s tail file:
    sudo vim /etc/resolvconf/resolv.conf.d/tail
    Add your nameserver lines:
    Save the file and then regenerate the resolv.conf file:
    sudo /etc/init.d/resolvconf restart


  • Jaymes October 26, 2009, 6:07 pm


    Default installation of Ubuntu Server 9.04 does not have this ‘feature’. /etc/resolvconf/ does not exist.

  • nixCraft October 26, 2009, 6:41 pm


    No it is available and /etc/resolv.conf file do exits for Ubuntu 9.04. It is part of default Linux C library.

    @Noah, you need to setup dhclient to avoid overwriting, see:

    How To: Make Sure /etc/resolv.conf Never Get Updated By DHCP Client

  • write March 28, 2011, 5:52 am

    how about restarting network? it should or not?

  • Ganixra July 24, 2011, 7:20 pm

    How to restart dns in my ubuntu system..

  • Thamizhannal August 24, 2011, 7:38 am

    I am using ubuntu-10.04 and after, I add a new nameserver to /etc/resolv.conf. It does not seems to be updated.
    Still I am getting “UnknownHostException” When a Clinet API from another node tries to communicate this machine.
    Does it require any server restart? If so what is that?

  • Satish Thakur November 14, 2011, 6:27 am

    Dear Team,

    How do i can assign hostname & IP address in Ubuntu? If By using sudo? then how to install sudo…?

    Thanks & Regards,

  • kwak December 1, 2011, 6:56 am


    It is perhaps silly question but I don’t really understand from where should I take ip addresses which should be added to /etc/resolv.conf.

    I am speaking of those:


    Shall I ask my network provider about that or there is an easier method?

    Thank you for help!

  • Ram Charan May 11, 2012, 11:39 am


  • Ram Charan May 11, 2012, 11:41 am


    how to set name server in ubuntu.
    pls help me………

  • Ivan Vatov June 27, 2012, 6:30 pm

    sudo nano /etc/resolvconf/resolv.conf.d/base
    add your nameservers
    and restart resolvconf
    sudo /etc/init.d/resolvconf restart
    this automatically update /etc/resolv.conf file
    thanks Noah Spurrier ;)

    • oserk October 2, 2012, 11:25 am


      I’m on ubuntu 12.04. and I had to edit the head part of resolv deamon

      because the resolv.conf did had the first entry inside this:


      it never used the google nameservers that I defined in base or tail part… so what I did:

      sudo nano /etc/resolvconf/resolv.conf.d/head
      sudo /etc/init.d/resolvconf restart

      and content of resolv.conf file did have correct order:



      and I finaly did have fast new domain that I registered half hour ago ready to test!

      thanks to Ivan and others…

  • Jan Krojcer August 23, 2012, 11:21 am

    @Noah Spurrier: Thanks alot man, after a massive amount of research, I finally found your post. Every page that google turned up for “Setting a Static IP/DNS” involved editing the resolv.conf file… as if it didn’t get over-written. Editing the tail file works flawlessly, thanks a lot man.

  • Naveen March 4, 2013, 12:30 pm

    This no longer applies on 12.10 because /etc/resolv.conf is a symlink to /run/resolv.conf/resolv.conf. /run is a tmpfs.

    $ ls -l /etc/resolv.conf
    lrwxrwxrwx 1 root root 29 Nov 21 22:49 /etc/resolv.conf -> ../run/resolvconf/resolv.conf

  • shabnam November 2, 2013, 5:20 pm

    how can i config DNS Server in ubuntu?
    plz help me.

  • Ayra January 13, 2014, 4:41 am

    I have a problem here..
    On our class, we configured and created our own DNS. my DNS is cogmaharlika.com.
    We changed our preferred DNS on our computer (Windows) to the IP Address of our server. I can access cogmaharlika.com but I cannot access google.com
    I can ping it inside my virtualbox but in the command prompt of Windows I cannot ping it. My classmates and I have done the same thing.. Theirs is working but mine is not.
    What is the problem?

  • Amit July 2, 2015, 11:58 am

    Hope you’re doing well.
    I have a problem with Static IP Addressing in redhat with terminal.
    Just want to know:
    Is it possible to make entry of dns without edit /etc/resolv.conf file?
    Or can we enter the dns with a command?

    Response will be appreciated !!

Leave a Comment