How to setup static IP address under Ubuntu 14.04 Trusty?
(NOTE, the question was asked for "14.04 Trusty", but it is still working for now, 16.04 LTS Xenial)

My setting is not working. What special about Ubuntu 14.04 Trusty is that I found it now using the "source-directory" keyword to source multiple files at once (Ref: http://manpages.debian.org/cgi-bin/man.cgi?query=interfaces&apropos=0&sektion=0&manpath=Debian+unstable+sid&format=html&locale=en):

$ cat /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d

So I prepared my static IP address setting as this:

$ cat /etc/network/interfaces.d/eth
auto eth0
    iface eth0 inet static
    # add a 2nd ip address
    post-up ip addr add dev eth0
    pre-down ip addr del dev eth0

However, it has an extensive delay during boot up. I saw the boot up message saying something like "Bring up Network", then after a long delay later, saying something again like "Waiting for 60 more seconds to bring up Network". After that 60 more seconds delay, the boot up messages start to fly again. However, when the system finally boot, and I check the ip addr output, the second static IP address that I configured is not there.

Am I missing something?


Thanks everyone for pointing out that my gateway was wrong so I changed it to, and the long delay in boot is gone. Now I'm getting into a new problem.

For my Ubuntus prior to 14.04 Trusty, the above change is sufficient to switch from dynamic IP to static IP. However, with my new Ubuntu 14.04 Trusty, the system boots up with no IPv4 addresses:

$ ifconfig 
eth0      Link encap:Ethernet  HWaddr 00:xx:xx:xx:xx:ef  
inet6 addr: fe80::xxx:xxxx:xxxx:98ef/64 Scope:Link
RX packets:1 errors:0 dropped:0 overruns:0 frame:0
TX packets:69 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000 
RX bytes:250 (250.0 B)  TX bytes:11552 (11.5 KB)

It also gives errors when I was trying to bring down the device:

% ifdown eth0
RTNETLINK answers: No such process
RTNETLINK answers: Cannot assign requested address

I am able to bring up the device afterward though, and then ifconfig & ip addr give the correct output. However, the IPv4 address will be gone after a short while.

How to tell network manager that I've switched my eth device from dynamic IP to static IP? (Command-line and file tweaking preferred over GUI tweaking).

This is XUbuntu 14.04. Thanks


Use /etc/network/interfaces instead. Details in my own answer.
For automatically setting the /etc/network/interfaces file, take a look here.

  • I generally don't use network manager.....
    – mdpc
    May 10 '14 at 20:39
  • I have network-manager & network-manager-gnome installed in my Ubuntu 13.10, and my static IP address setup is fine.
    – xpt
    May 10 '14 at 21:07
  • Strange, I am also running 14.04 and static address works (though I haven't configured a second IP). May 10 '14 at 22:40
  • @user1301428, does your setting have more items? I used to do this, superuser.com/questions/736037/…, but figured from the replies that I can omit many things. Would that be the case, or you are doing some more things than the mere things in my OP?
    – xpt
    May 11 '14 at 1:22
  • My /etc/network/interfaces file only contains the iface, address, netmask, gateway, network, broadcast and dns-nameservers directives May 11 '14 at 17:49

Ok, I ditched Microsoft and change my household computers and laptops to Ubuntu 14.04 :)

After a week long searching the internet how to get a static ip-address on Ubuntu 14.04 I finally found a way ...

It seems the network-manager is overwriting (or by-passing) my /etc/network/interfaces every single time, I thought of removing it but decided on trying to use it first.

Go to the right upper corner and click the network icon, go down to the bottom and right click edit connections.

This opens network connections and choose the connection to change, click edit and go to IPv4 settings. Choose Method: Manual and then fill in the Address, Netmask and Gateway ... and your desired DNS server.

Just save and your done ... it will change to the given static IP-address on the fly ... even after reboot!!

This might be an old thread, but after a week of searching I updated the 10 first hits in Google ... hope to safe other people some time!!

Take care!

  • How do you apply the changes done using the network manager ?
    – Sébastien
    Aug 1 '14 at 13:23
  • My connection doesn't have a gateway (just a cable between the two ethernet ports) and for some reason just putting in an IP and mask does not enable the 'save' button in network manager. Oct 23 '15 at 20:18
  • @myself: The problem is that the add button tricks me into clicking it. Enter data, add, save is what I expected. Instead it's enter IP, confirm the 24 mask, then save instead of add. Oct 23 '15 at 20:25

Your gateway is incorrect (gateway This is not a valid IP and you should substitute it with your router's IP address.

  • Wow, so fast! I believe you are right, but let me just reboot and test that...
    – xpt
    May 10 '14 at 17:23
  • 3
    Address would be valid IP address for /23 CIDR network (netmask Granted, in this case you are right, but this is not universal truth
    – mvp
    May 11 '14 at 7:03

I think I found the answer, having moved the content from /etc/network/interfaces.d/eth into /etc/network/interfaces, and rebooted, it is working now.

cat /etc/network/interfaces.d/eth >> /etc/network/interfaces
rm /etc/network/interfaces.d/eth
service networking restart

I guess that ifup understand source-directory /etc/network/interfaces.d and can handle it correctly while network manager can't.


May not be configured to your routers correct gateway.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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