Como pular DHCP se nenhum cabo conectado à ethernet no Debian

10

Meu Bananian Linux está perdendo tempo no logon tentando obter uma concessão de DHCP para a interface eth0 que não está conectada. Bem, o cabo extensor está conectado a ele, mas nada está do outro lado.

Eu tenho

auto eth0
iface eth0 inet dhcp 

definido no meu /etc/network/interfaces desde que eu quero pegar ethernet caso ele esteja conectado, mas eu certamente não quero retardar a inicialização do sistema se o cabo não estiver conectado à ethernet. Eu assumi que o sistema saberia isso automaticamente e não tentaria obter uma concessão de DHCP para a interface.

Aqui está o que eu vejo no momento do carregamento (veja as últimas três linhas):

Depois, se entender que a concessão não está chegando, prossegue com a inicialização.

Existe uma maneira que eu poderia dizer não ao DHCP se não houver um cabo conectado?

    
por Maxim V. Pavlov 09.08.2015 / 20:59

3 respostas

13

Se você especificar

allow-hotplug eth0

em vez de

auto eth0

em /etc/network/interfaces , a conexão só será iniciada por udev quando algo for acionado, em vez de a cada inicialização. Espero que seja quando outro dispositivo estiver conectado à outra extremidade do seu cabo ...

    
por 09.08.2015 / 23:38
0

Há sempre mais de uma solução para o problema.

Se você está com esta máquina sempre em um lugar, como em casa, então a maneira mais fácil seria se livrar do pacote dhcp-client, e definir endereço IP estático, máscara, gateway. Supondo que você não precise, você faria algo como

apt-get remove isc-dhcp-client

Isso lhe dirá primeiro, se houver algum dependepcies. Depois de desinstalar o pacote, você não precisará mais esperar durante a inicialização.

Este é um exemplo do que você definiria em /etc/network/interfaces

iface eth0 inet static
    address 192.168.0.2
    netmask 255.255.255.0
    gateway 192.168.0.254

Fonte: link

    
por 09.08.2015 / 21:50
0

Dê uma olhada em ifplugd :

ifplugd is a Linux daemon which will automatically configure your ethernet device when a cable is plugged in and automatically unconfigure it if the cable is pulled. This is useful on laptops with onboard network adapters, since it will only configure the interface when a cable is really connected.

ifplugd ifplugd interfaces with your distribution's native network configuration utilities.

Some features:

  • Uses your distribution's native ifup/ifdown programs.
  • May beep when the cable is unplugged, plugged, the interface configuration succeeded or failed.
  • Supports the Linux SIOCETHTOOL (newer, aka ethtool API), SIOCGMIIREG (older, aka mii-diag/mii-tool API) and SIOCDEVPRIVATE (oldest, aka mii-tool API) ioctl()s for getting link status. Release 0.24 introduces support for link detection with the IFF_RUNNING interface flag.
  • Syslog support
  • Small program - the binary is just 25 KB (plus 16 KB for libdaemon).
  • Multiple ethernet interface support
  • Can be configured to ignore short "unplugged" periods (-d option) or short "plugged" periods(-u option)
  • Support for wireless networking. Whenever an association to an AP is detected the network is configured. Have a look on waproamd if you need a facility to configure WEP keys before AP associations succeed.
  • Compatibility mode for network devices which do not support cable detection (-F option)

Pacote Debian Página de busca de pacotes: ifplugd .
Site oficial do ifplugd

Um apt-get update && apt-get-install ifplud deve fazer o truque. Em uma nota lateral, o criador do systemd mantém este pacote.

    
por 10.08.2015 / 08:10