Setting a Static IP and DNS in Debian/Ubuntu over the CLI

Some times you just need a static IP but have no GUI to easily set one up. Well it is not so hard to do in Debian-based distributions.

  1. Open /etc/network/interfaces in your favorite editor. I like nano.
  2. Find the line that starts with iface [interface]. The interface you are looking for is most likely eth0 or something similar.
  3. Change the line to read iface [interface] inet static.
  4. After it add your IP information. I have included a common example but just replace my information with your own.
  5. Open /etc/resolv.conf.
  6. In it use the nameserver directive to specify your name server(s). The nameserver directive(s) will be searched in the order entered here. Here is an example:
  7. Restart networking with sudo /etc/init.d/networking restart.

[Edit] 2013.08.10
Thanks to Renat Zaripov for pointing out my mistake in typing /etc/resolve.conf instead of /etc/resolv.conf.

  1. thx breh

  2. Perfect !

    Add as DNS server work

    • One potential issue here is that this solution needs an Internet connection to work (not to mention the fact that someone else can not watch all your queries).

      This is a great solution if you do not require your DNS to work offline. For example, on a truly private network.

    • Renat Zaripov
    • September 10th, 2013

    /etc/resolv.conf instead /etc/resolve.conf

  3. after server restart above changing will be rest on dhcp

    • Sourav
    • March 29th, 2016

    I don’t have resolve.conf file in /etc on my debian server.
    Inside my /etc I have resolvconf directory and inside this I have one more directory which is update-libc.d; inside this directory I have one one regular file called avahi-daemon.
    How can I update my dns ?
    Please help me.

    • matt
    • July 6th, 2016

    I have resolv.conf — there is no ‘e’!

  1. October 11th, 2014