Várias instalações do Ubuntu 16.04 configuradas para obter endereço IP automaticamente ocasionalmente perdem o endereço IP e se desconectam da rede

1

Estou vendo um problema em vários servidores e VMs com várias distribuições do Ubuntu 16.04 instaladas (Ubuntu 16.04 LTS, Xubuntu 16.04, Mythbuntu 16.04) e estão configuradas para obter o endereço IP automaticamente com o DHCP em que o endereço IP obtido pelo DHCP é removido o sistema. A frequência de ocorrências é variada - pode ser vários dias seguidos e pode ser de 30 dias ou mais entre as ocorrências.

Eu determinei que, por algum motivo, quando esse problema ocorre, parece que o dhclient renova a concessão antes que ela expire, mas por algum motivo isso não parece ser visto pelo NetworkManager, pois não há entradas de log do NetworkManager no syslog ou kern.log , mas existem entradas para renovações bem-sucedidas indicando que a renovação foi recebida e que a interface foi atualizada com o novo vencimento.

Minhas concessões são 24 horas e, quando isso ocorre, exatamente após 24 horas da última renovação do dhclient vista pelo NetworkManager, o IP é removido da interface.

Eu não vi nenhuma ocorrência disso em nenhum servidor ou VM até depois de uma atualização que instalou o network-manager 1.2.2-0ubuntu0.16.04.3 em novembro.

Entradas do syslog para renovações bem-sucedidas:

Jan 24 15:16:32 <hostname> dhclient[1036]: DHCPREQUEST of 192.168.2.11 on ens160 to 192.168.2.1 port 67 (xid=0x35fe6348)
Jan 24 15:16:32 <hostname> dhclient[1036]: DHCPACK of 192.168.2.11 from 192.168.2.1
Jan 24 15:16:32 <hostname> NetworkManager[847]: <info>  [1485299792.2921]   address 192.168.2.11
Jan 24 15:16:32 <hostname> NetworkManager[847]: <info>  [1485299792.2926]   plen 24 (255.255.255.0)
Jan 24 15:16:32 <hostname> NetworkManager[847]: <info>  [1485299792.2926]   gateway 192.168.2.1
Jan 24 15:16:32 <hostname> NetworkManager[847]: <info>  [1485299792.2926]   server identifier 192.168.2.1
Jan 24 15:16:32 <hostname> NetworkManager[847]: <info>  [1485299792.2926]   lease time 86400
Jan 24 15:16:32 <hostname> NetworkManager[847]: <info>  [1485299792.2926]   nameserver '192.168.2.1'
Jan 24 15:16:32 <hostname> NetworkManager[847]: <info>  [1485299792.2926] dhcp4 (ens160): state changed bound -> bound
Jan 24 15:16:32 <hostname> dhclient[1036]: bound to 192.168.2.11 -- renewal in 40856 seconds.
Jan 24 15:16:32 <hostname> dbus[810]: [system] Activating via systemd: service name='org.freedesktop.nm_dispatcher' unit='dbus-org.freedesktop.nm-dispatcher.service'
Jan 24 15:16:32 <hostname> systemd[1]: Starting Network Manager Script Dispatcher Service...
Jan 24 15:16:32 <hostname> dbus[810]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
Jan 24 15:16:32 <hostname> systemd[1]: Started Network Manager Script Dispatcher Service.
Jan 24 15:16:32 <hostname> nm-dispatcher: req:1 'dhcp4-change' [ens160]: new request (1 scripts)
Jan 24 15:16:32 <hostname> nm-dispatcher: req:1 'dhcp4-change' [ens160]: start running ordered scripts...

Entradas Kernel.log para renovações bem-sucedidas:

Jan 24 15:16:32 <hostname> NetworkManager[847]: <info>  [1485299792.2921]   address 192.168.2.11
Jan 24 15:16:32 <hostname> NetworkManager[847]: <info>  [1485299792.2926]   plen 24 (255.255.255.0)
Jan 24 15:16:32 <hostname> NetworkManager[847]: <info>  [1485299792.2926]   gateway 192.168.2.1
Jan 24 15:16:32 <hostname> NetworkManager[847]: <info>  [1485299792.2926]   server identifier 192.168.2.1
Jan 24 15:16:32 <hostname> NetworkManager[847]: <info>  [1485299792.2926]   lease time 86400
Jan 24 15:16:32 <hostname> NetworkManager[847]: <info>  [1485299792.2926]   nameserver '192.168.2.1'
Jan 24 15:16:32 <hostname> NetworkManager[847]: <info>  [1485299792.2926] dhcp4 (ens160): state changed bound -> bound

Entradas do syslog para renovações não vistas pelo Network Manager. Observe a completa ausência de entradas do NetworkManager.

Jan 25 23:04:54 <hostname> dhclient[1036]: DHCPREQUEST of 192.168.2.11 on ens160 to 192.168.2.1 port 67 (xid=0x35fe6348)
Jan 25 23:04:54 <hostname> dhclient[1036]: DHCPACK of 192.168.2.11 from 192.168.2.1
Jan 25 23:04:54 <hostname> dhclient[1036]: bound to 192.168.2.11 -- renewal in 42517 seconds.

Entradas Kernel.log para renovações não vistas pelo gerenciador de rede - não há absolutamente nenhuma que me leve a concluir que a renovação realizada pelo dhclient não atualizou as informações de lease para a interface e é por isso que o IP foi removido da interface quando o a entrada antiga da concessão expirou.

Como mencionado acima, a frequência não é previsível - isso pode durar mais de 30 dias entre as ocorrências e também pode acontecer dentro de alguns dias ou menos da ocorrência anterior. Quando o IP é perdido, os logs também mostram que mais de uma renovação não foi processada adequadamente e a interface foi atualizada desde a última renovação bem-sucedida. Há também casos em que uma única renovação não é processada, mas uma renovação subsequente ocorre e é bem-sucedida antes do vencimento da concessão da última renovação processada com êxito.

Estou bastante confiante de que poderia resolver isso configurando um IP estático para os servidores, mas preferiria resolver esse problema e deixar que meu servidor DHCP distribuísse o IP mapeado estaticamente.

    
por RJWY 27.01.2017 / 04:46

0 respostas