Falhas na pesquisa de DNS no Debian 12: Reparar systemd-resolved

Se o Debian 12 exibir a mensagem “Falha temporária na resolução de nomes”, verifique o serviço de resolução, o /etc/resolv.conflink e os servidores DNS listados por `/ resolvectletc/nsdk/server` — nessa ordem. Reiniciar o serviço só resolve o problema se ele estiver parado; um link quebrado ou um servidor upstream inacessível exigem uma solução diferente.

Estas instruções aplicam-se a sistemas Debian 12 (Bookworm) configurados para usar o DNS systemd-resolved. O Debian separou esse resolvedor em um pacote separado e não o tornou o padrão, conforme explicado nas notas de lançamento do Debian 12. Se a sua instalação usa outro gerenciador de DNS, mantenha esse gerenciador no controle em vez de forçar essas configurações nele.

1. Identifique onde a resolução de nomes falha

Comece com a rota de rede e uma pesquisa de nome de host. Execute os comandos localmente ou em um terminal que permanecerá aberto caso haja alterações na rede:

ip -br address
ip route
ping -c 2 1.1.1.1
resolvectl status
resolvectl query debian.org
getent ahosts debian.org

Uma rota padrão e uma conexão IP numérica funcionando sugerem que a máquina consegue acessar a rede sem DNS. Um ping sem sucesso por si só não prova que a rota está quebrada: as redes podem bloquear respostas de eco ICMP. Se a interface não tiver um endereço ou uma rota, corrija a conexão de rede primeiro.

resolvectl statusMostra os servidores DNS e domínios atribuídos globalmente ou a interfaces individuais. resolvectl queryTesta o resolvedor systemd; getent ahoststesta o caminho de pesquisa de nomes de host comumente usado por aplicativos Linux. Essa distinção ajuda a isolar a falha.

ObservaçãoPróxima verificação
Sem endereço ou rota padrãoCorrija a interface, o gateway ou a configuração do DHCP antes do DNS.
resolvectlnão consegue conectar-se ao serviço.Verifique se systemd-resolvedestá instalado e em execução.
resolvectl queryfunciona, getentfalhaInspecione /etc/resolv.confa configuração dos hosts NSS.
Ambas as pesquisas falham, mesmo com uma rota em funcionamento.Inspecione os endereços DNS upstream, o roteamento DNS e o acesso do firewall.
Terminal Debian com os comandos ip route, resolvectl status e getent hosts para verificar a conectividade DNS.
Uma visualização de terminal agrupa a rota de rede padrão, a atribuição do servidor DNS e uma pesquisa de nome de host em nível de aplicativo para diagnóstico inicial.

2. Certifique-se de que o systemd-resolved esteja instalado e ativo.

No Debian 12, a presença do systemd não garante que o pacote de resolução separado esteja instalado. Verifique o pacote e a unidade antes de alterar quaisquer arquivos DNS.

dpkg-query -W -f='${Status}\n' systemd-resolved
systemctl status systemd-resolved --no-pager

Se o pacote estiver instalado, mas o serviço estiver inativo, inicie-o e habilite-o para inicializações futuras:

sudo systemctl enable --now systemd-resolved
systemctl is-active systemd-resolved

O comando final deve reportar active. Se a unidade falhar, inspecione as mensagens de erro reais em vez de reiniciá-la repetidamente:

journalctl -u systemd-resolved -b --no-pager -n 60

Se o pacote estiver faltando, instale-o sudo apt install systemd-resolvedsomente depois de ter acesso funcional ao repositório de pacotes. A instalação altera o controle do pacote /etc/resolv.conf, portanto, revise primeiro qualquer configuração do NetworkManager, VPN ou DNS estático. O Debian documenta essa alteração de pacote em suas notas de atualização do Bookworm .

Terminal Debian exibindo systemctl status systemd-resolved com Active: active (running).
A tela de status do serviço mostra onde encontrar informações sobre a unidade carregada, o estado ativo e as mensagens de inicialização.

3. Repare o link do resolvedor somente se estiver incorreto.

systemd-resolvedO stub padrão escuta em 127.0.0.53. Seu arquivo de compatibilidade recomendado é /run/systemd/resolve/stub-resolv.conf, que pode ser vinculado a partir de /etc/resolv.conf. Primeiro, verifique seu modo atual:

ls -l /etc/resolv.conf
readlink -f /etc/resolv.conf
cat /etc/resolv.conf
resolvectl status

Um link para o servidor /run/systemd/resolve/resolv.confDNS local também é um modo suportado, mas os programas que o utilizam contatam o DNS upstream diretamente, em vez do servidor DNS local. Não considere esse link como quebrado apenas por ser diferente. O manual do serviço systemd-resolved do Debian explica os modos suportados.

Se você usar intencionalmente o stub local, o serviço estiver em execução, o ouvinte do stub estiver habilitado e o link existente /etc/resolv.confestiver ausente, pendente ou apontar para um resolvedor obsoleto, restaure o link recomendado. Primeiro, faça backup de um arquivo ou link existente; ignore a cópia se nenhum arquivo existir.

sudo cp -a /etc/resolv.conf /etc/resolv.conf.dns-backup
sudo ln -sfn /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
cat /etc/resolv.conf

Não execute essa substituição em um host onde outro serviço gerencia intencionalmente o DNS /etc/resolv.conf. Uma entrada local nameserver 127.0.0.53também requer um listener stub funcional; simplesmente escrever esse endereço não cria um serviço DNS. Em uma máquina remota, mantenha um segundo método de acesso antes de editar as configurações do resolvedor.

Terminal Debian mostrando o link simbólico /etc/resolv.conf apontando para o arquivo stub-resolv.conf do systemd-resolved.
A verificação do link simbólico mostra o destino esperado quando o Debian é configurado deliberadamente para usar o stub local resolvido pelo systemd.

4. Corrija um servidor DNS upstream ausente ou inacessível.

Quando resolvectl statusnão houver um servidor DNS upstream adequado ou um servidor configurado estiver inacessível, corrija a origem dessa atribuição. As configurações de DNS dinâmico podem vir de DHCP, NetworkManager, systemd-networkd ou uma VPN. Verifique qual interface carrega a rota padrão e qual servidor DNS pertence a essa interface.

Para um breve teste de diagnóstico em uma rede que permite DNS público, atribua resolvedores públicos conhecidos a essa interface. Substitua ` ens33<interface>` pela interface real de ip -br address:

sudo resolvectl dns ens33 1.1.1.1 1.0.0.1
resolvectl query debian.org

Esses dois endereços são documentados pela Cloudflare como seus endereços públicos de resolução de DNS . A resolvectl dnsalteração é uma configuração de tempo de execução; um administrador de rede pode substituí-la quando a conexão for restabelecida. Se a consulta agora funcionar, corrija a fonte de DNS persistente em vez de depender deste comando temporário.

Com o NetworkManager, inspecione a conexão ativa nmcli connection show --activee ajuste as configurações de DNS ou o comportamento de DHCP dessa conexão. Com o systemd-networkd, insira as DNS=configurações desejadas no .networkarquivo correspondente e recarregue ou reconfigure a rede em um momento seguro. Consulte o manual do systemd.network do Debian e o manual de configuração do NetworkManager do Debian . Reconectar uma interface gerenciada pode interromper uma sessão SSH.

Dê preferência aos servidores DNS da organização ou da VPN para nomes internos. Não se pode presumir que os resolvedores públicos respondam a zonas privadas; forçar todas as consultas a eles pode quebrar o DNS dividido ou revelar nomes de host internos. DNS=Entradas globais em ` resolved.conf` resolved.confpodem operar em conjunto com o DNS por link, em vez de substituí-lo automaticamente; consulte o manual do `resolved.conf` do Bookworm .

5. Limpe o cache e confirme se ambos os caminhos de pesquisa funcionam.

Após corrigir o serviço, o link do resolvedor ou a configuração upstream, limpe as respostas em cache e teste novamente:

sudo resolvectl flush-caches
resolvectl query debian.org
getent ahosts debian.org
resolvectl status

O reparo é eficaz quando resolvectl queryos endereços de retorno, getent ahostsos registros de endereço de retorno e os servidores DNS pretendidos permanecem visíveis após a reconexão da rede. Os dois comandos testam interfaces diferentes, portanto, não considere o sucesso em um deles como prova de que todos os aplicativos foram corrigidos. O manual do resolvectl do Debian documenta a consulta, o status e a limpeza do cache.

Terminal Debian mostrando a consulta resolvectl a debian.org e o comando getent ahosts debian.org retornando registros de endereço, seguido por flush-caches.
A visualização final do terminal mostra as duas verificações que devem retornar registros de endereço após a correção da configuração de DNS.

Se resolvectl querya tentativa for bem-sucedida, mas getentainda assim falhar, verifique grep "^hosts:" /etc/nsswitch.confe confirme se um módulo NSS apropriado dnsou instalado resolveestá no caminho de pesquisa. Se ambas as tentativas continuarem falhando, revise o registro do resolvedor e quaisquer restrições de firewall no tráfego DNS e, em seguida, teste usando o endereço DNS real da empresa, do roteador ou do provedor. Uma pesquisa bem-sucedida isolada não é suficiente: repita as verificações após reconectar e reiniciar o sistema para verificar se a correção persiste.

Deixar um comentário

Falhas na pesquisa de DNS no Debian 12: Reparar systemd-resolved

Falhas na pesquisa de DNS no Debian 12: Reparar systemd-resolved

Restaure as pesquisas de DNS no Debian 12 verificando o systemd-resolved, reparando o resolv.conf quando necessário e verificando a resolução de DNS e aplicativos upstream.

O Ubuntu 24.04 não exibe o áudio HDMI? Restaure a saída de áudio.

O Ubuntu 24.04 não exibe o áudio HDMI? Restaure a saída de áudio.

Configure o Ubuntu para detectar seu monitor ou TV como uma saída de áudio, selecione-o nas configurações de som e verifique a conexão ou a lista de dispositivos PipeWire caso o HDMI não esteja presente.

Corrija erros de assinatura do APT reparando a chave do repositório.

Corrija erros de assinatura do APT reparando a chave do repositório.

Resolva os avisos de assinatura do APT no Ubuntu de forma segura, identificando a origem do problema, atualizando a chave verificada e conferindo o resultado sem desativar a segurança.

Como converter tensão, corrente, kW, kVA e fator de potência trifásicos

Como converter tensão, corrente, kW, kVA e fator de potência trifásicos

Aprenda as fórmulas trifásicas balanceadas e converta tensão de linha, corrente, kW, kVA e fator de potência passo a passo, com um exemplo prático e limites para verificação.

Limitar o uso de CPU e memória de um comando com cgroups do Ubuntu

Limitar o uso de CPU e memória de um comando com cgroups do Ubuntu

Execute uma carga de trabalho dentro de um escopo systemd com CPUQuota e MemoryMax e, em seguida, verifique os limites por meio do cgroup v2.

Criptografar o DNS upstream do Pi-hole no Ubuntu Server 24.04

Criptografar o DNS upstream do Pi-hole no Ubuntu Server 24.04

Configure o dnscrypt-proxy como ponte DoH local do Pi-hole no Ubuntu 24.04, com um ouvinte somente para localhost, seleção de resolvedor e verificações antes de trocar o DNS.

Faça os gestos do touchpad do Ubuntu 24.04 funcionarem no Wayland.

Faça os gestos do touchpad do Ubuntu 24.04 funcionarem no Wayland.

Verifique as configurações do touchpad do Ubuntu, confirme o Wayland e teste os gestos de deslizar integrados do GNOME antes de solucionar problemas com aplicativos ou hardware.

Crie um espelhamento RAID 1 no Debian 12 com mdadm

Crie um espelhamento RAID 1 no Debian 12 com mdadm

Crie e verifique um array de dados RAID 1 de dois discos no Debian 12, formate-o com segurança e configure-o para ser montado após a reinicialização.

Criptografe a partição de swap do Debian 12 com uma chave nova a cada inicialização.

Criptografe a partição de swap do Debian 12 com uma chave nova a cada inicialização.

Configure a criptografia de chave aleatória para uma partição de swap Debian 12 existente, verifique o mapeamento dm-crypt ativo e compreenda as vantagens e desvantagens da hibernação.

Como restringir usuários SSH a diretórios específicos no Ubuntu 24.04 (Guia de Chroot SFTP)

Como restringir usuários SSH a diretórios específicos no Ubuntu 24.04 (Guia de Chroot SFTP)

Restrinja as contas SSH do Ubuntu 24.04 a pastas SFTP designadas com chroot, permissões adequadas, regras de correspondência e testes de segurança — sem conceder acesso ao shell.