Parece que você pode ter dnsmasq
process em 127.0.0.1 e systemd-resolved
process em 127.0.0.53 passando consultas entre si, causando um loop. Mesmo dnsmasq
sozinho pode ser capaz de fazer um loop, pois, por padrão, ele procura em /etc/resolv.conf
para encontrar os servidores DNS reais a serem usados para os nomes para os quais não tem informações.
Sua configuração de DNS provavelmente tem muitas camadas:
- Primeiro, há as informações do servidor DNS obtidas do seu provedor por DHCP ou similar.
- então, há
NetworkManager
, que pode ser configurado para substituir as informações e usardnsmasq
, mas não está configurado dessa maneira. - , em vez disso,
NetworkManager
está configurado para usar a ferramentaresolvconf
para atualizar o% real/etc/resolv.conf
. Ednsmasq
pode incluir uma configuração de entrada pararesolvconf
para substituir quaisquer serviços DNS recebidos pelo DHCP e usar 127.0.0.1, enquantodnsmasq
estiver sendo executado. - systemd-resolved também pode incluir uma configuração de entrada para
resolvconf
, mas aparentemente está sendo substituída pordnsmasq
.
O que eu ainda não entendo é de onde vêm os 127.0.1.1 e 127.0.0.53. Eles são talvez mencionados na configuração padrão dnsmasq
no Ubuntu?
Como está escrito no comentário de /etc/resolv.conf
, execute este comando para ver mais informações sobre systemd-resolved
configuration:
systemd-resolve --status
Verifique também o conteúdo do diretório /run/resolvconf/interface/
: é onde a ferramenta resolvconf
coleta todas as informações do servidor DNS obtidas de várias origens. O /etc/resolvconf/interface-order
determinará a ordem na qual cada fonte é verificada, até que um endereço de loopback seja encontrado ou 3 servidores DNS tenham sido listados para real /etc/resolv.conf
.
Como você está usando dnsmasq
para configurar um domínio curinga, convém manter 127.0.0.1
em seu /etc/resolv.conf
, mas convém configurar dnsmasq
para não usar esse arquivo, mas obtenha os servidores DNS que deve usar em algum outro lugar.
Se /run/NetworkManager/resolv.conf
contiver os servidores DNS que você recebe do seu provedor pelo DHCP, você pode facilmente usá-lo para dnsmasq
adicionando esta linha à sua configuração:
resolv-file=/run/NetworkManager/resolv.conf
Isso diz a dnsmasq
onde obter informações de DNS para as coisas que ainda não conhecem. Então, se você quiser usar o DNS do Google, pode configurar dnsmasq
com
resolv-file=/etc/google-dns-resolv.conf
e insira as linhas de configuração do DNS do DNS do Google no formato normal para /etc/google-dns-resolv.conf
.