Ubuntu: Ubuntu 16.04 - system boot waits saying “Raise network interfaces”



Question:

I have an Ubuntu 16.04 system with two interfaces - eth0 configured with DHCP and eth1 configured with static ip addresses.

The /etc/network/interfaces file has the following config

# The loopback network interface  auto lo  iface lo inet loopback    # The primary network interface  auto eth0  iface eth0 inet dhcp    # The Secondary network interface  auto eth1  iface eth1 inet static  address 10.10.1.10  netmask 255.255.255.0  dns-nameservers 74.82.42.42 4.2.2.2    ## Virtual Interfaces for virtual hosts  auto eth1:11  iface eth1:11 inet static  address 10.10.1.11  netmask 255.255.255.0    auto eth1:12  iface eth1:12 inet static  address 10.10.1.12  netmask 255.255.255.0    auto eth1:13  iface eth1:13 inet static  address 10.10.1.13  netmask 255.255.255.0  

The issue is, when DHCP server is not available on eth0 link or if the eth0 link is down, the system hangs for 5 mins, significantly slowing down the boot process.

violet@ubuntu-xenial:~$ systemd-analyze blame        5min 241ms networking.service            1.529s nmbd.service            1.524s winbind.service  

I tried reducing the time in /etc/systemd/system/network-online.target.wants/networking.service file which makes the system boot faster without waiting for the network service, however, that fails to load the virtual interfaces on eth1.

Is there a cleaner way to let the system boot without full network configuration on eth0 interface and still load all the static network configuration on eth1?


Solution:1

It seems someone was paranoid about a client not getting its DHCP in time.

Edit the file /etc/dhcp/dhclient.conf to set timeout to a sane value, like

timeout 15  

The default value of 300 seconds is way too high. The suggested replacement value of 15 was tested and works fine.


Solution:2

So in your /etc/network/interfaces, change this:

# The primary network interface  auto eth0  iface eth0 inet dhcp  

to this:

# The primary network interface  allow-hotplug eth0  iface eth0 inet dhcp  

This will start interface eth0 when the kernel detects a hotplug event from the interface (i.e. when you plug a cable in), instead of starting it at boot.


Solution:3

As referenced in you can change the timeout value for raising the network interface (if running systemd):

Open a terminal window, and enter the command:

sudo nano /etc/systemd/system/network-online.target.wants/networking.service  

Then change the line TimeoutStartSec=5min to a value that you choose. Save the file by pressing Ctrl+o and then Ctrl+x.

Finally, restart the daemon:

sudo systemctl daemon-reload  

Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Previous
Next Post »