Como abrir uma interface de rede somente se ela estiver fisicamente presente

8

Executando o Ubuntu Server 12.04 (sem GUI). Qual seria a melhor maneira de fazer o kernel trazer uma interface de rede apenas se ela estivesse fisicamente conectada? Portanto, se ele não existir, apenas prossiga com a inicialização de outras interfaces (se houver) e continue na tela de login, sem "aguardar configuração de rede".

Por exemplo, tenho uma chave USB sem fio wlan9 (em / etc / network / interfaces):

auto wlan9
iface wlan9 inet dhcp
        wpa-ssid myssd
        wpa-psk mykey
        wpa-proto RSN
        wpa-pairwise CCMP
        wpa-group CCMP

Eu tentei allow-hotplug ao invés de auto , nesse caso a interface não é inicializada automaticamente durante a inicialização, e eu tenho que fazer isso manualmente com < em> ifup wlan9 . Isso não é exatamente o que eu estou procurando.

Obrigado.

    
por Noseratio 13.07.2013 / 17:27

3 respostas

3

Eu criei a seguinte solução que não depende de nenhum pacote extra:

auto wlan9
iface wlan9 inet manual
        wpa-ssid MYSSD
        wpa-psk MYKEY
        wpa-proto RSN
        wpa-pairwise CCMP
        wpa-group CCMP
        wireless-power off
        pre-up if [ -f /sys/class/net/wlan9/operstate ]; then ifconfig wlan9 up; fi
        up if [ -f /sys/class/net/wlan9/operstate ]; then dhclient wlan9; fi

Embora possa não ser elegante, ele faz o que eu quero: ignora a inicialização do wlan9 sem o atraso de inicialização se o dongle sem fio não estiver conectado, caso contrário, será ativado.

    
por Noseratio 14.07.2013 / 06:48
4

Também para servidor: use o NetworkManager

  1. Instale:

    sudo apt-get install network-manager
    

    Infelizmente, isso causará muitas dependências.

  2. Desative a interface atualmente configurada da maneira tradicional.

    ifdown wlan9
    
  3. Desative todas as configurações manuais em /etc/network/interfaces removendo todas as linhas relativas a essa interface.

  4. Adicione uma configuração de conexão para sua conexão sem fio em /etc/NetworkManager/system-connections/ (compor um nome):

    [connection]
    id=Some name of my connection
    uuid=0d791425-87c5-45e6-948e-01b1863901f7
    type=802-11-wireless
    
    [802-11-wireless]
    ssid=mySSID
    mode=infrastructure
    mac-address=24:77:00:01:02:03
    security=802-11-wireless-security
    
    [802-11-wireless-security]
    key-mgmt=wpa-psk
    psk=mypassword
    
    [ipv4]
    method=auto
    
    [ipv6]
    method=ignore
    
    • Para uuid , use o comando uuidgen para gerar um aleatório.
    • Para mac-address , use o endereço MAC do seu adaptador sem fio (use ifconfig -a wlan9 para descobrir). Isto liga este arquivo de configuração somente a este adaptador - se não estiver presente, não o utilizará para outro adaptador, nem esperaria que o adaptador estivesse presente.
    • Outros campos falam por si, espero. :)
  5. Reinicie o NetworkManager ou reinicie.

    restart network-manager
    
por gertvdijk 13.07.2013 / 18:09
3
  

e continue na tela de login

Sugere que você esteja em uma instalação habilitada para GUI (não servidor) - por isso estou fornecendo esta resposta com base nisso.

Apenas use o NetworkManager

  1. Desative a interface.

    ifdown wlan9
    
  2. Desative todas as configurações manuais em /etc/network/interfaces removendo todas as linhas relativas a essa interface.

  3. Acesse as configurações de rede e adicione / edite a conexão de rede sem fio.

  4. Configure da seguinte forma (veja a imagem abaixo):

    1. Conecte-se automaticamente.

    2. Aplique-o ao adaptador sem fio correto selecionando o endereço MAC correto. Se o adaptador não estiver presente, essas configurações de conexão neste diálogo não serão aplicadas, portanto, isso "liga" a esse adaptador específico (porque cada adaptador tem outro endereço MAC). E não, este não é o endereço MAC do WiFi AP - isso é BSSID.

    3. Disponibilize para todos os usuários (isso faz com que ele se conecte automaticamente na tela de login já). Observe que essas configurações estão em cinza até que você forneça os detalhes necessários.

    E, claro, também insira os outros detalhes sobre segurança, SSID, etc.

por gertvdijk 13.07.2013 / 17:40

Tags