resolvectl¶
O que é¶
resolvectl é a CLI do systemd-resolved. Ela mostra como o host está resolvendo nomes por interface, domínios de busca, DNS configurados, estado de DNSSEC e cache local.
Para que serve¶
- Inspecionar configuração DNS efetiva em máquinas com systemd.
- Descobrir qual interface e servidor DNS estão sendo usados.
- Verificar split DNS (domínios roteados para DNS diferentes).
- Limpar cache e revalidar resolução após mudanças.
Quando usar¶
- Em hosts Linux modernos (Ubuntu, Debian, Fedora, etc.) com
systemd-resolvedativo. - Quando
/etc/resolv.confparece correto, mas a resolução real não bate. - Em VPN corporativa onde domínios internos só resolvem em DNS específico.
- Após mudança de rede/interface e comportamento DNS ficou inconsistente.
Exemplos de uso¶
# Visão geral do resolvedor
resolvectl status
# Consulta explícita via resolved
resolvectl query api.interno.empresa.local
# Mostrar DNS configurado por interface
resolvectl dns
# Limpar cache local
resolvectl flush-caches
Exemplos de saída¶
$ resolvectl status
Global
Protocols: +LLMNR +mDNS +DNSOverTLS DNSSEC=no/unsupported
resolv.conf mode: stub
Link 2 (eth0)
Current Scopes: DNS
Protocols: +DefaultRoute +LLMNR -mDNS +DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: 10.10.0.53
DNS Servers: 10.10.0.53 10.10.0.54
DNS Domain: corp.local
Leitura rápida do que importa:
- Current DNS Server: servidor DNS efetivamente em uso.
- DNS Servers: lista de fallback.
- DNS Domain: domínio de busca/split DNS por link.
- resolv.conf mode: stub: host usa resolved como stub local.
Dicas de troubleshooting¶
- Se domínio interno não resolve, confirme no
statusse ele está vinculado ao link certo (VPN/LAN). - Quando DNS muda e host continua com resposta antiga, execute
resolvectl flush-caches. - Compare
resolvectl query nomecomdig @dns nomepara separar problema de cache local e servidor remoto. - Se
resolvectlnão existir, o host pode não usar systemd-resolved (usardig/host/nslookupe revisar NetworkManager).
Flags/comandos importantes¶
status: estado completo global e por interface.query NOME: resolve nome usando caminho do resolved.dns [IFACE]: exibe DNS configurado globalmente/por interface.domain [IFACE]: mostra domínios de roteamento e busca.flush-caches: limpa cache DNS local.statistics: mostra métricas de cache/hits/misses.
Boas práticas¶
- Em incidentes de endpoint Linux, sempre coletar
resolvectl statusjunto com/etc/resolv.conf. - Validar DNS por interface após conectar/desconectar VPN.
- Evitar “corrigir” DNS só editando
/etc/resolv.confem hosts gerenciados por systemd/NetworkManager. - Registrar antes/depois de
flush-cachespara comprovar efeito da ação.
Referências¶
man resolvectlman systemd-resolved- Documentação do systemd: resolved e nss-resolve