I am using Ubuntu 12.04.

My /etc/network/interfaces file consists of:

# The loopback network interface  
auto lo  
iface lo inet loopback  

# The primary network interface  
auto eth0 
iface eth0 inet static  

I ran the command: /etc/init.d/networking restart

Which responded with:

*Running /etc/init.d/networking restart is deprecated because it may not enable again some interfaces  
*Reconfiguring network interfaces...  
RTNETLINK answers: File exists  
Failed to bring up eth0  
[ OK ]  

Next I ran ping google.com and received:

ping: unknown host google.com

I am not sure if my interfaces refreshed. How do I properly configure my network with my static DNS addresses?

  • 1
    Reboot your computer. Do not run /etc/init.d/networking restart. The error is caused by the default route already existing. This setup looks correct to me. – Matt H Jan 27 '13 at 22:42
  • 2
    As Matt H says, /etc/network/interfaces is picky about stuff already existing. You can have a perfect setup, but already have something there, and it will complain. If it is the default route it is complaining about, you can remove it by running ip route del default to get the computer into a state where you can hand over the management of this stuff to /etc/network/interfaces – Azendale Mar 31 '13 at 19:56

11 Answers 11


As the questioner gives the contents of his /etc/network/interfaces I infer that he is using ifup to configure interfaces. But since he may actually be using NetworkManager, I will discuss that as well.

If you are using ifup then DNS settings go in /etc/network/interfaces. For each interface you add dns-* options appropriate for the nameserver(s) available over that interface. E.g., if a nameserver at address is available over interface eth0, then add dns-nameservers to the iface eth0 stanza.

If you are using NetworkManager then settings are entered in the Connection Editor (network indicator | Edit Connections...) in the IPv4 Settings tab.

Doing /etc/init.d/networking restart to reconfigure interfaces is deprecated. If you are using ifup then first ifdown each active network interface, then ifup each interface. If you are using NetworkManager then, first, disable networking using the indicator (top of the desktop); then open a terminal and run

sudo restart network-manager

and then enable networking using the indicator.

Or you can just reboot.

Regarding the fact that /etc/init.d/networking restart resulted in

RTNETLINK answers: File exists
Failed to bring up eth0  

This means that ifupdown thinks that eth0 is already up. Use ifdown --force eth0 to cause ifupdown to stop believing that it has already configured the interface.

Regarding the "deprecated" message, this message is no longer printed in Ubuntu 12.10 but you should still note that initscripts are "on their way out". To restart a service foo, use service foo restart or restart foo. Note also that if you want to reconfigure your interfaces it is better to ifdown them one by one than to rely on restarting "networking".


If none of the above work, keep it mind that Ubuntu appends a tail file to the resolv.conf file that it generates.

Try this:

sudo nano /etc/resolvconf/resolv.conf.d/tail

Which will open a blank resolv.conf.d file in the nano text editor. You will need to place your DNS server address on the first line of this file and remember to end the line with a carriage return (hit enter) as seen below:


Editing the tail file instead of the actual resolv.conf file will prevent your change from being lost upon a system reboot.

You will need to run sudo resolvconf -u to activate the change. You should be able to ping google.com after this. Good luck!

  • Sounds good, but my Ubuntu 14.04 system didn't use this tail file. So this isn't a solution in my case. Thanks though. – James T Snell Sep 24 '15 at 18:16

Command line version:

You should add your nameserver(s) to /etc/resolvconf/resolv.conf.d/base file this way:

  • I will have to try this method in a few hours and get back to you. Do you know why I am receiving the deprecated message and the failed to bring up eth0 message? – dottedquad May 29 '12 at 20:15
  • 1
    You could use this:$ ifdown eth0 && ifup eth0 Read more about this issue here. – pl1nk May 29 '12 at 22:05
  • 1
    @dottedquad what is you change the /etc/network/interfaces file to this: auto lo iface lo inet loopback auto eth0 iface eth0 inet static address gateway network broadcast Take care that this: auto eth0 iface eth0 inet staticis two lines – pl1nk May 30 '12 at 0:17
  • 1
    It is better to add nameserver information to NetworkManager connections (if you are using NetworkManager) as described by bodhi.zazen, or to interface definitions in /etc/network/interfaces (if you are using ifup) than to add the information statically and globally to /etc/resolvconf/resolv.conf.d/base. – jdthood Oct 30 '12 at 8:21
  • 1
    @jdthood It seems that you have seen my comments and the question as well as the other answers! Some comments up [..] "You could use this:$ ifdown eth0 && ifup eth0"[..] – pl1nk Nov 1 '12 at 13:19

All of the answers which relate to /etc/network/interfaces incorrectly state dns-nameservers rather than dns-nameserver - below should work:

auto wlan0
iface wlan0 inet static
dns-search something.network.com

(tested on Ubuntu 15.04)

  • 4
    Careful. I just confirmed that dns-nameserver (singular) does not work on RaspberryPi + Raspian Jesse. I found that I had to use dns-nameservers (plural). YMMV and all that, just trying to help out the next person... – evadeflow Feb 5 '17 at 22:24
  • 2
    Check your resolvconf(8) man page for usage and options. On Ubuntu 16.04.3 LTS it says you either use one or more dns-nameserver lines with a single IP address per line, or you can use dns-nameservers and a space separated list of IP addresses. – jla Oct 19 '17 at 3:57
  • dns-nameserver or dns-nameservers? because wiki.ubuntu.com/KvmWithBridge says "servers"... – Thufir Nov 29 '17 at 10:20

Easiest method of configuring your DNS servers is to use NetworkManager

Under IPv4, fill in your dns server(s)

enter image description here

  • 2
    I forgot to mention that i do not have unity or gnome installed. Gnome installatio is my next project. – dottedquad May 29 '12 at 20:13
  • It wont let me save this down. why might that be? – josh Dec 20 '18 at 16:37

I was able to work around this on a headless ubuntu server install by adding


...after the relevant interface stuff in /etc/network/interfaces:

auto wlan0
iface wlan0 inet static

Hope this helps later users!

  • for dns-nameservers can you comma seperate, – Thufir Nov 29 '17 at 10:22

I use

sudo ifdown eth0


sudo ifup eth0

It will reset and release everything...

If it faces with errors related to configuration, you can use:

sudo ifdown eth0 --force

This worked for me

sudo vi /etc/resolvconf/resolv.conf.d/base

and add:

nameserver <add your router ip>


sudo resolvconf -u

I use core install of ubuntu server.


You are missing a subnet specification in the interfaces file.

Add netmask to /etc/network/interfaces below the network line.


For some reason the dns-nameservers statement does nothing in my case. And the other answers are not by the book, as they bypass dnsmasq as it is utilized in Ubuntu.

To do this right, edit /etc/dnsmasq.conf

Add your nameservers to the bottom of the file:


Restart dnsmasq to use the new settings: sudo service dnsmasq restart

Credit: https://unix.stackexchange.com/a/163506/187949


You might configure that interface in an other file too, since you have more gateways.

Details are here.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.