
Eu tenho um sistema Ubuntu 16.04 com duas interfaces - eth0 configurada com DHCP e eth1 configurada com endereços IP estáticos.
O arquivo /etc/network/interfaces tem a seguinte configuração
# 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
O problema é que quando o servidor DHCP não está disponível no link eth0 ou se o link eth0 está inativo, o sistema trava por 5 minutos, retardando significativamente o processo de inicialização.
violet@ubuntu-xenial:~$ systemd-analyze blame
5min 241ms networking.service
1.529s nmbd.service
1.524s winbind.service
Tentei reduzir o tempo no arquivo /etc/systemd/system/network-online.target.wants/networking.service que torna a inicialização do sistema mais rápida sem esperar pelo serviço de rede, porém, não consegue carregar as interfaces virtuais na eth1.
Existe uma maneira mais limpa de permitir que o sistema inicialize sem configuração completa de rede na interface eth0 e ainda carregar toda a configuração de rede estática na eth1?
Responder1
Parece que alguém estava paranóico com o fato de um cliente não receber o DHCP a tempo.
Edite este arquivo /etc/dhcp/dhclient.conf
e defina-o timeout
com um valor razoável, como
timeout 15
O valor padrão de 300 segundos é muito alto. O valor de substituição sugerido de 15 foi testado e funciona bem.
Responder2
Então no seu /etc/network/interfaces
, mude isso:
# The primary network interface
auto eth0
iface eth0 inet dhcp
para isso:
# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp
Isto iniciará a interface eth0
quando o kernel detectar um evento hotplug da interface (ou seja, quando você conectar um cabo), em vez de iniciá-lo na inicialização.
Responder3
Conforme referenciado emvocê pode alterar o valor do tempo limite para aumentar a interface de rede (se estiver em execução systemd
):
Abra uma janela de terminal e digite o comando:
sudo nano /etc/systemd/system/network-online.target.wants/networking.service
Em seguida, altere a linha TimeoutStartSec=5min
para um valor de sua escolha. Salve o arquivo pressionando Ctrl+ oe depois Ctrl+ x.
Finalmente, reinicie o daemon:
sudo systemctl daemon-reload