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 address 192.168.2.100 netmask 255.255.255.0 gateway 192.168.2.0 # add a 2nd ip address post-up ip addr add dev eth0 192.168.2.101/24 pre-down ip addr del dev eth0 192.168.2.101/24
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
192.168.2.1, 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 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 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
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
/etc/network/interfaces instead. Details in my own answer.
For automatically setting the
/etc/network/interfaces file, take a look here.