El extraño caso del DNS en CentOS
Este problema, si no recuerdo mal, empezó a darse con CentOS 5.3
, aunque igual lo que pasa es que es ahí donde nos dimos cuenta.
El caso es que al actualizar el sistema con un simple yum update
nos encontrábamos que el gestor de paquetes se descargaba la web de la empresa en lugar de el listado de mirrors para actualizar. Sí, WTF?! Además pasaba en cualquier máquina.
Después de investigar (mucho, porque no todos los programas tenían ese problema), tiene una explicación muy sencilla:
- En el servidor
DNS
hay un comodín que hace que cualquier subdominio que no exista (que no tenga su propia entradaDNS
), se resuelva contra la máquina donde tenemos la web de la empresa. - En
/etc/resolv.conf
no hay especificado un valor parasearch
, y parece que se está usando el dominio base del nombre de la máquina. - ¡Ya tenemos el pollo montado!
Es decir, supongamos empresa.dom
:
*.empresa.dom
resuelve awww.empresa.dom
(siempre que el subdominio no exista, recordemos).- Tenemos una máquina que se llama
host.empresa.dom
, con lo que por defectosearch
esempresa.dom
. - Cuando
yum
resuelvemirrors.centos.org
, ¿qué intenta resolver? En primer lugar pruebamirrors.centos.org.empresa.dom
, como se espera, y ya resolverámirrors.centos.org
si la búsqueda local falla. No pasaría nada, si no fuera porque ¡efectivamente resuelve por culpa del comodín!
Esta característica es muy cómoda, porque podemos trabajar con el nombre corto de las estaciones cuando tenemos varios subdominios (ej. estacion.dpto.dominio.dom
), salvo por el detalle de que el comodín en el DNS
ha resultado ser malvado :).
La solución: indicar search local
(por ejemplo), al comienzo de /etc/resolv.conf
.
Los comentarios están cerrados: los comentarios se cierran automáticamente una vez pasados 30 días. Si quieres comentar algo acerca de la anotación, puedes hacerlo por e-mail.