Como o dhclient é chamado sob 12.04

3

Na minha instalação Precise 12.04, quando eu inicializo o sistema, ou quando eu conecto um cabo ethernet, o dhclient não é executado automaticamente na minha conexão eth0 com fio. Eu não tenho nenhum daemon dhclient em execução. Quando eu executo o dhclient manualmente, ele consegue puxar um endereço e configurar eth0 e a tabela de rotas. Ele produz o seguinte, no entanto:

jdoe@example:~$ sudo dhclient eth0
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service smbd reload

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the reload(8) utility, e.g. reload smbd

, o que indica que é uma coisa gerenciada inicial. Não há scripts iniciantes em / etc / init / para dhclient.

Estou executando a versão isc-dhcp-client 4.1.ESV-R4-0ubuntu5.1 , a versão estável atual.

  • O dhclient deve estar executando o tempo todo como um daemon em uma instalação de desktop 12.04 padrão?
  • O dhclient deve ser iniciado durante a inicialização do computador via upstart, já que a curiosa mensagem que recebo quando o dhclient é executado sugere?
  • Devo ter um desses pacotes ifplugd ou netplug para iniciar o dhclient quando um cabo é conectado a eth0?
  • O dhclient é instanciado pelo NetworkManager talvez e não está sendo executado em todos os momentos?
  • Para uma instalação padrão do Ubuntu 12.04, o NetworkManager deve ter alguma coisa listada na guia "Wired" da caixa de diálogo Conexões de Rede? [ exemplo de captura de tela ] Eu criei um perfil de conexão com fio e deixei em branco, e nem afeta o dhclient sendo executado

Outros sintomas que estou tendo no contexto são:

  • O NetworkManager não gerencia graciosamente quando as conexões com fio e sem fio estão conectadas, ele simplesmente usa a conexão sem fio
  • O NetworkManager não conecta a VPN que eu configurei e, às vezes, tento usar pela rede com fio. Ela só será conectada pela rede sem fio.

@roadmr pediu o conteúdo de / etc / network / interfaces:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
#NetworkManager#iface eth0 inet dhcp
# This is an autoconfigured IPv6 interface
iface eth0 inet6 auto
    
por gene_wood 22.06.2012 / 01:52

3 respostas

1

Quando você liga o sistema, a primeira coisa que deve notar a interface Ethernet é o kernel. Com base no ID da PCI, o kernel tentará carregar um driver apropriado para a placa.

No seu arquivo /var/log/syslog , você verá algo assim:

Jun 21 09:54:59 snowflake kernel: [ 2600.056067] sky2 0000:03:00.0: eth0: Link is up at 1000 Mbps, full duplex, flow control rx
Jun 21 09:54:59 snowflake kernel: [ 2600.056731] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Jun 21 09:54:59 snowflake NetworkManager[1059]: <info> (eth0): carrier now ON (device state 20)
Jun 21 09:54:59 snowflake NetworkManager[1059]: <info> (eth0): device state change: unavailable -> disconnected (reason 'carrier-changed') [20 30 40]
Jun 21 09:54:59 snowflake NetworkManager[1059]: <info> Auto-activating connection 'Wired connection 1'.

Isso informa que o kernel notifica o NetworkManager sobre o dispositivo. O que eu acho que acontece (apenas especular aqui) é que o kernel notifica o udev, o udev, por sua vez, diz ao NetworkManager (que pode estar registrado para receber eventos do udev) e então o NetworkManager manipula o restante da configuração.

Agora, o NetworkManager se recusará a gerenciar qualquer interface declarada em /etc/network/interfaces . Isso ocorre porque pressupõe-se que, se você configurá-lo manualmente nesse arquivo, deseja gerenciá-lo sozinho.

Portanto, uma maneira de fazer com que o NetworkManager gerencie sua interface é remover as entradas em /etc/network/interfaces . É por isso que pedi para você adicionar esses dados, para que possamos ver se isso é o que está acontecendo e talvez aconselhar mais. É claro que, com a configuração adequada, mesmo em /etc/network/interfaces , a interface deve funcionar bem mesmo sem o NetworkManager e sem que você tenha que fazer isso manualmente todas as vezes. Ainda assim, o lugar para olhar o que pode estar acontecendo é aquele arquivo:)

    
por roadmr 22.06.2012 / 02:27
1

Isso acabou sendo causado pelo gerenciador de rede. Meu arquivo /etc/NetworkManager.conf ficou assim:

[main]
plugins=ifupdown,keyfile
dns=dnsmasq

[ifupdown]
managed=false

Este arquivo de configuração foi configurado assim quando a máquina foi construída (isso pode ser um bug). Pelo fato de que "managed" foi definido como false, o NetworkManager não estava iniciando o dhclient para a interface, e não estava considerando a conexão com fio como uma conexão real e, portanto, não iniciaria a VPN.

Alterei "managed" para "true" e reiniciei o sistema. Funciona exatamente como eu espero agora, roda o dhclient, a VPN funciona, etc.

E para responder algumas das minhas próprias perguntas:

  • Esta é a aparência da guia de conexão com fio em uma caixa de diálogo padrão Conexões de Rede do NetworkManager: link
  • O dhclient é iniciado no meu NetworkManager e fica em execução enquanto a conexão está ativa
por gene_wood 22.06.2012 / 18:33
0

No canto superior direito, clique no ícone de conexão de rede escolha editar conexões > sem fio (guia) > realce sua conexão > clique no botão editar > Configurações IPv4 (guia) verificar o que é exibido como método: se ele lê "compartilhado para outros computadores" use a seta para baixo da caixa para selecionar "DHCP automático", em seguida, reinicie o wireless funcionará sem ter que executar manualmente dhclient

    
por user208352 27.10.2013 / 17:05