Como usar o DHCP se disponível, caso contrário, use IP estático

2

Quando meu sistema inicializa, ele deve verificar se há uma interface determinada (por exemplo, eth0) se uma configuração DHCP é possível, respectivamente, se o servidor DHCP existir na rede. Se sim, o DHCP deve ser usado. Se não, um endereço IP estático pré-definido deve ser usado.

  • Eu sei como executar scripts na inicialização
  • Eu sei como especificar interfaces em / etc / network / interfaces

Eu tentei brincar com o dhclient, por exemplo

dhclient -1 # Try once to get a lease. One failure, exit with code 2. 

Veja o link

No entanto, o dhclient retorna sempre '0' mesmo se não houver conexão disponível.

Qual seria a abordagem correta?

    
por Anonymous 16.11.2015 / 12:37

1 resposta

0

Uma opção simples, se sua configuração estática não entrar em conflito com algo, seria configurar um alias de rede. Para a conexão sem alias, você a deixa configurada para DHCP, mas depois configura a conexão de alias com sua conexão estática. Desse modo, se o DHCP estiver disponível, tecnicamente ambas as conexões estarão ativas, presumivelmente, apenas o DHCP realmente "funciona" na rede que você está usando. Se o DHCP não estiver disponível, ele atribui um endereço 169 e não funciona, mas o alias estático funciona. Não se esqueça de reiniciar ou reiniciar o serviço após a edição.

Exemplo / etc / network / interfaces

auto eth0
allow-hotplug eth0
iface eth0 inet dhcpauto eth0
allow-hotplug eth0
iface eth0 inet dhcp

auto eth0:1
iface eth0:1 inet static
name Ethernet alias LAN card
address 192.168.1.7
netmask 255.255.255.0
broadcast 192.168.1.255
network 192.168.1.0

Detalhes disponíveis aqui: link

    
por Kaz 08.03.2018 / 18:52