Comment résoudre l’erreur de résolution DNS sur le serveur Linux ?
Guide étape par étape pour l'échec temporaire de la résolution de nom, l'échec de la résolution de domaine et les erreurs DNS de mise à jour apt.
Bien que les serveurs Linux semblent disposer d'une connexion Internet, les adresses de domaine peuvent ne pas être résolues. Dans ce cas, le serveur peut accéder aux adresses IP, mais google.com, debian.org, ubuntu.com ou des services de licence/API.
Ce problème se manifeste notamment dans les processus suivants :
- mise à jour appropriée ou miam mise à jour Erreur reçue pendant
- La licence WHMCS, le paiement ou les liens API ne fonctionnent pas
- Le panneau de jeu ne peut pas se connecter aux adresses API distantes
- Le ping de domaine ne fonctionne pas pendant que l'IP ping est en cours d'exécution sur le serveur
- Échec temporaire dans la résolution de nom erreur vue
1. Comprendre si le DNS est vraiment le problème
Vérifiez d’abord l’accès Internet public du serveur en envoyant une requête ping à son adresse IP.
ping -c 4 8.8.8.8
Si cette commande répond, le serveur a accès à Internet au niveau IP. Testez maintenant la résolution du domaine :
ping -c 4 google.com
Si le ping IP fonctionne mais que le ping de domaine ne fonctionne pas, le problème vient probablement du côté DNS.
2. Vérification des paramètres DNS actuels
Dans les systèmes Linux, les serveurs DNS sont généralement /etc/resolv.conf est défini dans le fichier.
cat /etc/resolv.conf
Un paramètre DNS sain ressemble généralement à ceci :
nameserver 1.1.1.1 nameserver 8.8.8.8
Si le fichier est vide, contient des adresses IP incorrectes ou écrit uniquement des adresses DNS locales/non fonctionnelles, la résolution du domaine peut échouer.
3. Définition DNS temporaire
Pour des tests rapides, vous pouvez définir un DNS temporaire avec la commande suivante :
echo "nameserver 1.1.1.1" > /etc/resolv.conf echo "nameserver 8.8.8.8" >> /etc/resolv.conf
Testez à nouveau plus tard :
ping -c 4 google.com
4. Paramètre DNS persistant sur les systèmes Ubuntu/Debian
Sur les systèmes Ubuntu modernes, les paramètres réseau sont généralement plan net Il est géré par . Liste des fichiers Netplan :
ls /etc/netplan/
Editez le fichier :
nano /etc/netplan/01-netcfg.yaml
Exemple de définition DNS :
network:
version: 2
ethernets:
eth0:
dhcp4: true
nameservers:
addresses:
- 1.1.1.1
- 8.8.8.8Pour appliquer le paramètre :
netplan apply
Si vous êtes connecté via SSH et que vous n'êtes pas sûr des paramètres réseau, soyez prudent. Un paramètre netplan incorrect peut interrompre votre connexion SSH.
5. Paramètres DNS CentOS / AlmaLinux / Rocky Linux
Sur les systèmes basés sur RedHat, les paramètres DNS peuvent être définis via NetworkManager.
Pour voir le nom de la connexion active :
nmcli con show
Exemple de paramètre DNS :
nmcli con mod "System eth0" ipv4.dns "1.1.1.1 8.8.8.8" nmcli con up "System eth0"
Le nom de votre connexion peut être différent. Vous devez utiliser votre propre nom de connexion dans la commande.
6. Vérification résolue par systemd
Résolution DNS sur certains systèmes résolu par systemd Il est géré par le service.
systemctl status systemd-resolved
Si le service est en panne, vous pouvez le démarrer :
systemctl enable systemd-resolved systemctl start systemd-resolved
Pour voir l'état DNS :
resolvectl status
7. Vérification DNS des erreurs de mise à jour des packages
Lorsque le DNS est corrompu, les gestionnaires de packages ne fonctionneront pas non plus. Par exemple, les erreurs suivantes peuvent se produire :
Temporary failure resolving 'archive.ubuntu.com' Could not resolve host Name or service not known
Dans ce cas, le magasin de packages ne doit pas être considéré comme corrompu. La résolution DNS doit être testée en premier.
Erreurs courantes
- Penser qu'il n'y a pas d'Internet mais ne pas se rendre compte qu'en réalité seul le DNS est corrompu
- Écrire un DNS temporaire dans le fichier /etc/resolv.conf et penser que c'est une solution permanente
- Indentation d'espace incorrecte dans le fichier Netplan
- Mal orthographe du nom de la connexion NetworkManager
- Penser que l'API ou le système de licence fonctionnel est défectueux en raison d'un problème DNS
FAQ
Le ping IP fonctionne mais le ping de domaine ne fonctionne pas, quel est le problème ?
Il s'agit probablement d'un problème de résolution DNS. Le serveur peut accéder à Internet, mais il ne peut pas traduire les noms de domaine en adresses IP.
Quels serveurs DNS puis-je utiliser ?
Les versions 1.1.1.1, 1.0.0.1, 8.8.8.8 et 8.8.4.4 sont couramment disponibles. Un serveur DNS privé peut être préféré dans les structures d'entreprise.
Pourquoi resolv.conf change-t-il tout seul ?
Parce que le fichier est automatiquement géré par netplan, NetworkManager ou systemd-resolved sur la plupart des systèmes.
Recommandations en matière de sécurité et d'exploitation
- Assurez-vous d'effectuer un test de résolution de domaine après le changement DNS.
- Ajoutez les erreurs DNS dans les systèmes de paiement, de licence et d'API à la première liste de contrôle.
- Définissez au moins deux adresses DNS au lieu d'un seul DNS.
- Si votre fournisseur de serveur fournit un DNS privé, tenez-en compte également.
- Notez qu'un paramètre netplan incorrect peut interrompre la connexion SSH.
Cet article est spécialement préparé pour PvPServer.