Configurar
Estou jogando com uma pequena placa incorporada rodando o Debian Jessie. Estou usando o máximo systemd
de coisas que posso, incluindo coisas de rede. Eu adicionei o arquivo:
/etc/systemd/network/eth0-dhcp.network
:
[Match]
Name=eth0
[Network]
DHCP=yes
Eu corrijo o /etc/resolv.conf
arquivo para ser um link simbólico /run/systemd/resolve/resolv.conf
.
A versão relatada 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 está tudo bem. ifconfig
mostra que tenho um endereço IP válido fornecido pelo macbook. Eu posso ping 0.debian.pool.ntp.org
e recebo respostas válidas. cat /etc/resolv.conf
mostra um nameserver
endereço válido. Tudo isso é 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
agora está vazio. E é claro que o ping também não funciona mais. Isso também é tudo conforme o esperado.
3) 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 contém nada. Então meu comando ping não funciona, sem endereço. No entanto, posso ping 204.2.134.162
(o endereço relatado anteriormente do referido host). Então, eu concluiria que, embora minha camada de rede tenha voltado corretamente à vida com o hot plug do cabo, systemd-resolved
não foi?
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 me explicar o que está acontecendo aqui? O que é necessário para que a resolução de nomes funcione novamente após um evento de hot plug de rede? Sinta-se à vontade para ser pedante, a maior parte do meu conhecimento de rede é anedótico e por tentativa e erro aprendido por acaso.
ATUALIZAR
Foi apontado que os endereços do pool debian podem de fato ser diferentes e impossíveis de executar ping. Usando google.com
, em vez disso, essa parte sempre funciona bem. então a questão restante é então
Como resolver o systemd para reiniciar depois que a rede for conectada a quente?