NOTE: This may duplicate information from
chili555
, however in discussion with them, the aforementioned individual suggested posting an 'authoritative' answer as I have worked with this exact issue/question before.
O comportamento observado em seu ambiente é o systemd-resolved
equivalente do que o dnsmasq
de antes de 18.04 estava fazendo. As atualizações de netplan
afetam os servidores de nomes que systemd-resolved
usam em suas pesquisas. Isso está detalhado na última seção da resposta.
Mas primeiro, para os curiosos, um pouco da história sobre esse comportamento e como ele difere das versões mais antigas do Ubuntu que usam o Network Manager e dnsmasq
. (Sinta-se livre para pular para a próxima seção desta resposta se você quer apenas o material relacionado ao 18.04)
Antes de 18.04: dnsmasq
como um resolvedor de cache local
Antes de 18.04, sempre que você usasse o GUI Ubuntu, ele instalaria dnsmasq
ao lado do Network Manager. A integração do Network Manager com dnsmasq
atualizaria a lista dnsmasq
dos servidores de 'próximo salto' (servidores DNS upstream) para onde enviar uma consulta.
Portanto, uma consulta de DNS para google.com
passaria de qualquer aplicativo que estivesse solicitando a resolução para dnsmasq
e, se dnsmasq
não souber o endereço IP ou tiver uma entrada em cache expirada, passará a solicitação de DNS para qualquer servidor DNS upstream (para este exemplo, 8.8.8.8
ou 8.8.4.4
). Você teria que verificar o Network Manager ou o dnsmasq
config para ver onde estavam os servidores DNS 'upstream'.
Este é um comportamento típico em um Ubuntu gráfico instalado a partir dos ISOs de Desktop.
A instalação padrão dos ISOs dos servidores, por outro lado, seguiu o método tradicional "update /etc/resolv.conf
" através do pacote resolvconf
e utilizou /etc/resolv.conf
diretamente ao invés de se comunicar via dnsmasq
.
18.04: netplan
e systemd-resolved
Com o 18.04, o sistema DNS padrão é systemd-resolved
. Isso funciona como o dnsmasq
de idade, exceto que ele faz isso para as instalações de Desktop e Servidor ISO atualmente. Também pode integrar-se com o Network Manager (usado nos ambientes GUI para gerenciar wi-fi e outros) e com a Netplan (que lida melhor com ethernets)
systemd-resolved
é fornecido a partir de netplan
da lista de servidores DNS para os quais enviar consultas. Portanto, usando o mesmo exemplo acima, uma consulta DNS para google.com
passaria pelo resolvedor stub de systemd-resolved
, que retornaria o valor da consulta armazenada em cache ou passaria para os servidores DNS superiores.
Isso emula o comportamento padrão de dnsmasq
, mas também adiciona algumas manipulações de pesquisa adicionais sobre como o 'localhost' e outros endereços relacionados ao local podem ser consultados.
Com o NetPlan, ou Network Manager, você pode obter a lista de servidores DNS upstream através de systemd-resolved
com o seguinte comando:
systemd-resolve --status
que lhe dará um monte de saída. A seção relevante ficaria assim (tirada da resposta de chili555
para conveniência):
DNS Servers: 8.8.8.8
8.8.4.4
2600:1700:5aa0:830::1