¿Cómo resolver el error de resolución de DNS en un servidor Linux?
Guía paso a paso para fallos temporales en la resolución de nombres, fallos en la resolución de dominios y errores de actualización de DNS.
Aunque los servidores Linux parecen tener conexión a Internet, es posible que no se resuelvan las direcciones de dominio. En este caso, el servidor puede acceder a las direcciones IP, pero google.com, debian.org, ubuntu.com o servicios de licencia/API.
Este problema se manifiesta especialmente en los siguientes procesos:
- actualización adecuada o mmm actualización Error recibido durante
- Los enlaces de licencia, pago o API de WHMCS no funcionan
- El panel de juego no puede conectarse a direcciones API remotas
- El ping de dominio no funciona mientras se ejecuta ping IP en el servidor
- Fallo temporal en la resolución de nombres. error visto
1. Comprender si el DNS es realmente el problema
Primero verifique el acceso público a Internet del servidor haciendo ping a su dirección IP.
ping -c 4 8.8.8.8
Si este comando responde, el servidor tiene acceso a Internet a nivel de IP. Ahora pruebe la resolución del dominio:
ping -c 4 google.com
Si el ping de IP funciona pero el ping de dominio no, lo más probable es que el problema esté en el lado DNS.
2. Verificación de la configuración DNS actual
En los sistemas Linux, los servidores DNS suelen ser /etc/resolv.conf está definido en el archivo.
cat /etc/resolv.conf
Una configuración de DNS saludable suele tener este aspecto:
nameserver 1.1.1.1 nameserver 8.8.8.8
Si el archivo está vacío, contiene direcciones IP incorrectas o solo escribe direcciones DNS locales o que no funcionan, la resolución del dominio puede fallar.
3. Definición de DNS temporal
Para realizar pruebas rápidas, puede definir DNS temporal con el siguiente comando:
echo "nameserver 1.1.1.1" > /etc/resolv.conf echo "nameserver 8.8.8.8" >> /etc/resolv.conf
Pruebe nuevamente más tarde:
ping -c 4 google.com
4. Configuración de DNS persistente en sistemas Ubuntu/Debian
En los sistemas Ubuntu modernos, la configuración de red suele ser plan de red Está gestionado por . Listar archivos Netplan:
ls /etc/netplan/
Edite el archivo:
nano /etc/netplan/01-netcfg.yaml
Ejemplo de definición de DNS:
network:
version: 2
ethernets:
eth0:
dhcp4: true
nameservers:
addresses:
- 1.1.1.1
- 8.8.8.8Para aplicar la configuración:
netplan apply
Si está conectado a través de SSH y no está seguro de la configuración de red, tenga cuidado. Una configuración de netplan incorrecta puede interrumpir su conexión SSH.
5. Configuración de DNS de CentOS/AlmaLinux/Rocky Linux
En los sistemas basados en RedHat, la configuración de DNS se puede realizar a través de NetworkManager.
Para ver el nombre de la conexión activa:
nmcli con show
Ejemplo de configuración de DNS:
nmcli con mod "System eth0" ipv4.dns "1.1.1.1 8.8.8.8" nmcli con up "System eth0"
El nombre de su conexión puede ser diferente. Debe utilizar su propio nombre de conexión en el comando.
6. Comprobación resuelta por systemd
Resolución DNS en algunos sistemas systemd-resuelto Está gestionado por el servicio.
systemctl status systemd-resolved
Si el servicio no funciona, puedes iniciarlo:
systemctl enable systemd-resolved systemctl start systemd-resolved
Para ver el estado de DNS:
resolvectl status
7. Comprobación de DNS para errores de actualización de paquetes
Cuando el DNS está dañado, los administradores de paquetes tampoco funcionarán. Por ejemplo, pueden ocurrir los siguientes errores:
Temporary failure resolving 'archive.ubuntu.com' Could not resolve host Name or service not known
En este caso, el almacén de paquetes no debe considerarse corrupto. Primero se debe probar la resolución de DNS.
Errores comunes
- Pensar que no hay Internet pero no darme cuenta de que en realidad solo el DNS está dañado
- Escribir DNS temporal en el archivo /etc/resolv.conf y pensar que es una solución permanente
- Sangría de espacios en blanco incorrecta en el archivo Netplan
- Error ortográfico en el nombre de la conexión NetworkManager
- Pensar que la API en funcionamiento o el sistema de licencias están defectuosos debido a un problema de DNS
Preguntas frecuentes
El ping de IP funciona pero el ping de dominio no funciona, ¿cuál es el problema?
Lo más probable es que haya un problema de resolución de DNS. El servidor puede acceder a Internet, pero no puede traducir nombres de dominio en direcciones IP.
¿Qué servidores DNS puedo utilizar?
Los más disponibles son 1.1.1.1, 1.0.0.1, 8.8.8.8 y 8.8.4.4. El servidor DNS privado puede ser el preferido en estructuras corporativas.
¿Por qué resolv.conf cambia solo?
Porque el archivo lo administra automáticamente netplan, NetworkManager o systemd-resolved en la mayoría de los sistemas.
Recomendaciones de seguridad y operaciones
- Asegúrese de realizar una prueba de resolución de dominio después del cambio de DNS.
- Agregue errores de DNS en sistemas de pago, licencias y API a la primera lista de verificación.
- Defina al menos dos direcciones DNS en lugar de un único DNS.
- Si su proveedor de servidor proporciona DNS privado, considérelo también.
- Tenga en cuenta que una configuración de netplan incorrecta puede interrumpir la conexión SSH.
Este artículo está especialmente preparado para PvPServer.