Como iniciar a rede em uma interface com fio antes do logon no Ubuntu Desktop Edition

17

Problema

Ubuntu 9.10 Desktop Edition (e possivelmente versões anteriores também, eu não testei) nenhuma conexão de rede após a inicialização até que pelo menos um usuário faça o login. Isso significa que quaisquer serviços que exijam rede (por exemplo, openssh-server) não estarão disponíveis até que alguém efetue login localmente via gdm, kdm ou TTY.

Antecedentes

Ubuntu 9.10 Desktop Edition usa o serviço NetworkManager para receber comandos do miniaplicativo nm no Gnome (ou seu equivalente no KDE). Pelo que entendi, enquanto o NetworkManager está rodando na inicialização, não são emitidos comandos para se conectar até que você faça o login pela primeira vez porque o nm-applet não está em execução até que você efetue login e inicie sua sessão do Gnome (ou similar para o KDE). Não tenho certeza do que solicita que o NetworkManager se conecte à rede quando você faz login por meio de um TTY.

Existem várias variáveis relevantes envolvidas na inicialização das conexões de rede, incluindo:

  • Com fio vs sem fio (e os drivers, SSID, senhas e prioridades resultantes)
  • estático vs DHCP
  • Múltiplas interfaces

Restrições

  • Suporte ao Ubuntu 9.10 Karmic Koala (pontos de bônus para versões suportadas adicionais)
  • Suporte a interface eth0 com fio
  • Receber um endereço IP via DHCP
  • Receber informações de DNS via DHCP (obviamente, o servidor DHCP deve fornecer essas informações)
  • Ativar a rede no momento adequado (por exemplo, algum tempo depois que os sistemas de arquivos são carregados, mas antes dos serviços de rede, como o ssh start)
  • A troca de distros ou versões (por exemplo, para o Server Edition) não é uma solução aceitável
  • Mudar para uma configuração de IP estático não é uma solução aceitável

Pergunta

  • Como iniciar a rede em uma interface com fio antes do logon no Ubuntu Desktop Edition?

Ver também

Referências

por Burly 02.04.2010 / 16:30

2 respostas

9

Para ter sua interface de rede configurada automaticamente via DHCP na inicialização, adicione as seguintes linhas a /etc/network/interfaces :

auto eth0
iface eth0 inet dhcp

Isso deve elevar sua interface mesmo sem o NetworkManager em execução. Você pode até mesmo remover o gerenciador de rede do pacote, se quiser.

    
por 02.04.2010 / 16:55
1

Debian / Ubuntu tem seu próprio programa para gerenciar servidores no momento da inicialização.

Experimente update-rc.d STARTUP-SCRIPT defaults

Procure o script específico para eth0 e ative-o com isso.

Você sempre pode criar seu próprio script, colocá-lo no init.d e executar o comando anterior fará com que ele seja carregado no momento da inicialização.

ou apenas coloque esses comandos (ifconfig up, dhcpcd) em /etc/rc.local (este arquivo é lido toda vez no boot)

    
por 03.04.2010 / 17:00