Como resolver o 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ínios e erros de atualização de DNS.
Embora os servidores Linux pareçam ter uma ligação à Internet, os endereços de domínio podem não ser resolvidos. Neste caso, o servidor pode aceder a endereços IP, mas google.com, debian.org, ubuntu.com ou serviços de licença/API.
Este problema manifesta-se especialmente nos seguintes processos:
- atualização adequada ou yum atualização Erro recebido durante
- Licença WHMCS, pagamento ou ligações API não funcionam
- O painel do jogo não se pode ligar a endereços API remotos
- O ping do domínio não funciona enquanto o ping IP está a ser executado no servidor
- Falha temporária na resolução de nomes erro visto
1.º Compreender se o DNS é realmente o problema
Em primeiro lugar, verifique o acesso público do servidor à Internet, executando o ping no seu endereço IP.
ping -c 4 8.8.8.8
Se este comando responder, o servidor terá acesso à Internet ao nível IP. Teste agora 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 está provavelmente do lado do DNS.
2.º Verificando as configurações atuais de DNS
Nos sistemas Linux, os servidores DNS são geralmente /etc/resolv.conf está definido no ficheiro.
cat /etc/resolv.conf
Uma configuração de DNS saudável geralmente parece isto:
nameserver 1.1.1.1 nameserver 8.8.8.8
Se o ficheiro 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, 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
Nos sistemas Ubuntu modernos, as configurações de rede são geralmente plano de rede É gerido por . Listar ficheiros Netplan:
ls /etc/netplan/
Edite o ficheiro:
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 estiver ligado via SSH e não tiver a certeza da configuração da rede, tenha cuidado. A configuração incorreta do netplan pode interromper a sua ligação SSH.
5. Configuração de DNS CentOS/AlmaLinux/Rocky Linux
Nos sistemas baseados em RedHat, as configurações de DNS podem ser feitas através do NetworkManager.
Para ver o nome da ligaçã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 ligação pode ser diferente. Deve usar o seu próprio nome de ligação no comando.
6. Verificação resolvida pelo systemd
Resolução DNS em alguns sistemas resolvido pelo systemd É gerido pelo serviço.
systemctl status systemd-resolved
Se o serviço estiver inativo, pode iniciá-lo:
systemctl enable systemd-resolved systemctl start systemd-resolved
Para ver o estado do DNS:
resolvectl status
7. Verificação DNS para erros de atualização de pacotes
Quando o DNS está corrompido, os gestores de pacotes também não funcionam. Por exemplo, podem ocorrer os seguintes erros:
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 em primeiro lugar.
Erros Comuns
- Pensar que não existe internet, mas não perceber que na verdade só o DNS está corrompido
- Escrever DNS temporário no ficheiro /etc/resolv.conf e pensar que é uma solução permanente
- Recuo incorreto de espaço em branco no ficheiro Netplan
- Erro ortográfico no nome da ligaçã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 existe um problema de resolução de DNS. O servidor pode aceder à Internet, mas não pode traduzir nomes de domínio em endereços IP.
Que servidores DNS posso usar?
Comumente disponíveis estão 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 empresariais.
Porque é que o resolv.conf muda sozinho?
Porque o ficheiro é gerido automaticamente pelo netplan, NetworkManager ou resolvido pelo systemd na maioria dos sistemas.
Recomendações de segurança e operações
- Certifique-se de que realiza um teste de resolução de domínio após a alteração do DNS.
- Adicione erros de DNS nos 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 fornecedor de servidor fornecer DNS privado, considere também isso.
- Note que a configuração incorreta do netplan pode interromper a ligação SSH.
Este artigo foi preparado especialmente para o PvPServer.