Como resolver erro de resolução de DNS no servidor Linux?
Guia passo a passo para falha temporária na resolução de nomes, falha na resolução de domínio e erros de atualização de DNS.
Embora os servidores Linux pareçam ter uma conexão com a Internet, os endereços de domínio podem não ser resolvidos. Neste caso, o servidor pode acessar endereços IP, mas google.com, debian.org, ubuntu.com ou serviços de licença/API.
Este problema se manifesta especialmente nos seguintes processos:
- atualização adequada ou yum atualização Erro recebido durante
- Licença WHMCS, pagamento ou links de API não funcionam
- O painel do jogo não pode se conectar a endereços API remotos
- O ping do domínio não funciona enquanto o ping IP está em execução no servidor
- Falha temporária na resolução de nomes erro visto
1. Entendendo se o DNS é realmente o problema
Primeiro, verifique o acesso público do servidor à Internet executando ping em seu endereço IP.
ping -c 4 8.8.8.8
Se este comando responder, o servidor terá acesso à Internet no nível IP. Agora teste a resolução do domínio:
ping -c 4 google.com
Se o ping IP funcionar, mas o ping do domínio não funcionar, o problema provavelmente está no lado do DNS.
2. Verificando as configurações atuais de DNS
Em sistemas Linux, os servidores DNS geralmente são /etc/resolv.conf está definido no arquivo.
cat /etc/resolv.conf
Uma configuração de DNS saudável geralmente se parece com isto:
nameserver 1.1.1.1 nameserver 8.8.8.8
Se o arquivo estiver vazio, contiver endereços IP incorretos ou gravar apenas endereços DNS locais/que não funcionam, a resolução do domínio poderá falhar.
3. Definição temporária de DNS
Para testes rápidos, você pode definir DNS temporário com o seguinte comando:
echo "nameserver 1.1.1.1" > /etc/resolv.conf echo "nameserver 8.8.8.8" >> /etc/resolv.conf
Teste novamente mais tarde:
ping -c 4 google.com
4. Configuração de DNS persistente em sistemas Ubuntu/Debian
Em sistemas Ubuntu modernos, as configurações de rede geralmente são plano de rede É gerenciado por . Listar arquivos Netplan:
ls /etc/netplan/
Edite o arquivo:
nano /etc/netplan/01-netcfg.yaml
Exemplo de definição de DNS:
network:
version: 2
ethernets:
eth0:
dhcp4: true
nameservers:
addresses:
- 1.1.1.1
- 8.8.8.8Para aplicar a configuração:
netplan apply
Se você estiver conectado via SSH e não tiver certeza da configuração da rede, tome cuidado. A configuração incorreta do netplan pode interromper sua conexão SSH.
5. Configuração de DNS CentOS / AlmaLinux / Rocky Linux
Em sistemas baseados em RedHat, as configurações de DNS podem ser feitas através do NetworkManager.
Para ver o nome da conexão ativa:
nmcli con show
Exemplo de configuração de DNS:
nmcli con mod "System eth0" ipv4.dns "1.1.1.1 8.8.8.8" nmcli con up "System eth0"
O nome da sua conexão pode ser diferente. Você deve usar seu próprio nome de conexão no comando.
6. Verificação resolvida pelo systemd
Resolução DNS em alguns sistemas resolvido pelo systemd É gerenciado pelo serviço.
systemctl status systemd-resolved
Se o serviço estiver inativo, você pode iniciá-lo:
systemctl enable systemd-resolved systemctl start systemd-resolved
Para ver o status do DNS:
resolvectl status
7. Verificação de DNS para erros de atualização de pacotes
Quando o DNS está corrompido, os gerenciadores de pacotes também não funcionam. Por exemplo, os seguintes erros podem ocorrer:
Temporary failure resolving 'archive.ubuntu.com' Could not resolve host Name or service not known
Nesse caso, o armazenamento de pacotes não deve ser considerado corrompido. A resolução DNS deve ser testada primeiro.
Erros Comuns
- Pensar que não existe internet, mas não perceber que na verdade só o DNS está corrompido
- Escrevendo DNS temporário no arquivo /etc/resolv.conf e pensando que é uma solução permanente
- Recuo incorreto de espaço em branco no arquivo Netplan
- Erro ortográfico no nome da conexão do NetworkManager
- Pensar que a API em funcionamento ou o sistema de licenciamento está com defeito devido a um problema de DNS
Perguntas frequentes
O ping IP funciona, mas o ping do domínio não funciona, qual é o problema?
Provavelmente há um problema de resolução de DNS. O servidor pode acessar a Internet, mas não pode traduzir nomes de domínio em endereços IP.
Quais servidores DNS posso usar?
Comumente disponíveis estão 1.1.1.1, 1.0.0.1, 8.8.8.8 e 8.8.4.4. O servidor DNS privado pode ser preferido em estruturas corporativas.
Por que o resolv.conf muda sozinho?
Porque o arquivo é gerenciado automaticamente pelo netplan, NetworkManager ou resolvido pelo systemd na maioria dos sistemas.
Recomendações de segurança e operações
- Certifique-se de realizar um teste de resolução de domínio após a alteração do DNS.
- Adicione erros de DNS em sistemas de pagamento, licenciamento e API à primeira lista de verificação.
- Defina pelo menos dois endereços DNS em vez de um único DNS.
- Se o seu provedor de servidor fornecer DNS privado, considere isso também.
- Observe que a configuração incorreta do netplan pode interromper a conexão SSH.
Este artigo foi preparado especialmente para PvPServer.