Configuração
Eu estou jogando com uma pequena placa embutida rodando Debian Jessie. Estou usando o máximo de systemd
de material possível, incluindo o material de rede. Eu adicionei o arquivo:
/etc/systemd/network/eth0-dhcp.network
:
[Match]
Name=eth0
[Network]
DHCP=yes
Eu corrijo o arquivo /etc/resolv.conf
para ser um link simbólico /run/systemd/resolve/resolv.conf
.
A versão reportada pelo systemd é 215.
Eu tenho a placa conectada ao meu MacBookPro, que está compartilhando sua conexão Wi-Fi como ethernet.
O que acontece
1) Na primeira inicialização, tudo está bem. ifconfig
mostra que eu tenho um endereço IP válido distribuído pelo macbook. Eu posso ping 0.debian.pool.ntp.org
e obter respostas válidas. cat /etc/resolv.conf
mostra um endereço nameserver
válido. Isso é tudo como esperado e uma coisa boa (tm)
2) Se eu desconectar o cabo ethernet, recebo um conjunto de mensagens no console indicando que o link está inativo. Neste ponto, ifconfig
não mostra mais um endereço IP. cat /etc/resolv.conf
está agora vazio. E, claro, o ping não funciona mais. Isso também é tudo como esperado.
3) Eu reconecto o cabo. Agora recebo um conjunto de mensagens indicando que o link está ativo. Neste ponto, ifconfig
indica que, mais uma vez, tenho um endereço IP válido. Mas /etc/resolv.conf
não tem nada nele. Então meu comando ping não funciona, nenhum endereço. No entanto, posso ping 204.2.134.162
(o endereço anterior do referido host). Então, eu concluiria que, embora minha camada de rede tenha voltado corretamente com o hot plug do cabo, systemd-resolved
não o fez?
Depois de fazer um systemctl restart systems-resolved
, /etc/resolv.conf
mostra uma entrada novamente, mas os endereços IP resolvidos agora são diferentes e ainda não fazem ping.
Alguém pode explicar ao meu o que está acontecendo aqui? O que é preciso para que a resolução do nome funcione novamente após um evento de hot plug da rede? Sinta-se livre para ser pedante, a maior parte do meu conhecimento de rede é anedótica e tentativa e erro aprendido por assento de calças.
UPDATE
Tem sido apontado que os endereços do pool debian podem de fato ser diferentes e impraticáveis. Usando google.com
, essa parte sempre funciona bem. então a questão restante é então
Como o systemd-resolved é reiniciado depois que a rede é conectada a quente?