Com resoldre l'error de resolució de DNS al servidor Linux?
Guia pas a pas per a errors temporals en la resolució de noms, errors de resolució de dominis i errors de DNS d'actualització apt.
Tot i que sembla que els servidors Linux tenen connexió a Internet, és possible que les adreces de domini no es resolguin. En aquest cas, el servidor pot accedir a les adreces IP, però google.com, debian.org, ubuntu.com o serveis de llicència/API.
Aquest problema es manifesta especialment en els processos següents:
- actualització apta o ñam actualització Error rebut durant
- Els enllaços de llicència, pagament o API de WHMCS no funcionen
- El tauler del joc no es pot connectar a adreces API remotes
- El ping del domini no funciona mentre el ping IP s'està executant al servidor
- Falla temporal en la resolució de noms error vist
1. Entendre si el DNS és realment el problema
Primer comproveu l'accés públic a Internet del servidor fent ping a la seva adreça IP.
ping -c 4 8.8.8.8
Si aquesta ordre respon, el servidor té accés a Internet a nivell IP. Ara prova la resolució del domini:
ping -c 4 google.com
Si el ping IP funciona, però el ping del domini no funciona, és probable que el problema estigui al costat del DNS.
2. Comprovació de la configuració actual del DNS
En sistemes Linux, els servidors DNS solen ser /etc/resolv.conf està definit al fitxer.
cat /etc/resolv.conf
Una configuració de DNS saludable sol semblar així:
nameserver 1.1.1.1 nameserver 8.8.8.8
Si el fitxer està buit, conté adreces IP incorrectes o només escriu adreces DNS locals o que no funcionen, la resolució del domini pot fallar.
3. Definició de DNS temporal
Per fer proves ràpides, podeu definir DNS temporal amb l'ordre següent:
echo "nameserver 1.1.1.1" > /etc/resolv.conf echo "nameserver 8.8.8.8" >> /etc/resolv.conf
Torna a provar més tard:
ping -c 4 google.com
4. Configuració DNS persistent en sistemes Ubuntu/Debian
Als sistemes Ubuntu moderns, la configuració de xarxa és habitualment netplan Està gestionat per . Llista els fitxers Netplan:
ls /etc/netplan/
Editeu el fitxer:
nano /etc/netplan/01-netcfg.yaml
Exemple de definició de DNS:
network:
version: 2
ethernets:
eth0:
dhcp4: true
nameservers:
addresses:
- 1.1.1.1
- 8.8.8.8Per aplicar la configuració:
netplan apply
Si esteu connectat mitjançant SSH i no esteu segurs de la configuració de la xarxa, aneu amb compte. Una configuració de netplan incorrecta pot trencar la vostra connexió SSH.
5. Configuració DNS de CentOS / AlmaLinux / Rocky Linux
Als sistemes basats en RedHat, la configuració de DNS es pot fer mitjançant NetworkManager.
Per veure el nom de la connexió activa:
nmcli con show
Exemple de configuració de DNS:
nmcli con mod "System eth0" ipv4.dns "1.1.1.1 8.8.8.8" nmcli con up "System eth0"
El vostre nom de connexió pot ser diferent. Heu d'utilitzar el vostre propi nom de connexió a l'ordre.
6. Comprovació resolta per systemd
Resolució DNS en alguns sistemes resolt per systemd Està gestionat pel servei.
systemctl status systemd-resolved
Si el servei està inactiu, podeu iniciar-lo:
systemctl enable systemd-resolved systemctl start systemd-resolved
Per veure l'estat del DNS:
resolvectl status
7. Comprovació de DNS d'errors d'actualització de paquets
Quan el DNS està corrupte, els gestors de paquets tampoc no funcionaran. Per exemple, es poden produir els errors següents:
Temporary failure resolving 'archive.ubuntu.com' Could not resolve host Name or service not known
En aquest cas, el magatzem de paquets no s'ha de considerar corrupte. Primer s'ha de provar la resolució DNS.
Errors comuns
- Pensar que no hi ha Internet però sense adonar-se que en realitat només el DNS està malmès
- Escriure DNS temporal al fitxer /etc/resolv.conf i pensar que és una solució permanent
- Sagnat d'espai en blanc incorrecte al fitxer Netplan
- S'ha escrit malament el nom de la connexió del NetworkManager
- Pensar que l'API o el sistema de llicències en funcionament és defectuós a causa d'un problema de DNS
PMF
El ping IP funciona, però el ping del domini no funciona, quin és el problema?
El més probable és que hi hagi un problema de resolució de DNS. El servidor pot accedir a Internet, però no pot traduir els noms de domini a adreces IP.
Quins servidors DNS puc utilitzar?
Els disponibles habitualment són 1.1.1.1, 1.0.0.1, 8.8.8.8 i 8.8.4.4. El servidor DNS privat pot ser preferit a les estructures corporatives.
Per què resolv.conf canvia per si mateix?
Com que el fitxer és gestionat automàticament per netplan, NetworkManager o systemd-resolved a la majoria de sistemes.
Recomanacions de seguretat i operacions
- Assegureu-vos de realitzar una prova de resolució de domini després del canvi de DNS.
- Afegiu errors de DNS en sistemes de pagament, llicències i API a la primera llista de verificació.
- Definiu almenys dues adreces DNS en lloc d'un sol DNS.
- Si el vostre proveïdor de servidor proporciona DNS privat, tingueu-ho en compte també.
- Tingueu en compte que la configuració de netplan incorrecta pot trencar la connexió SSH.
Aquest article està preparat especialment per a PvPServer.