# rm-rf.es | Administración de sistemas

Bitácora personal de un SysAdmin Gnu/Linux, Windows, BSD...

Comprobar resolución inversa desde línea de comandos (Linux y Windows)

Comprobar la resolución de DNS inversa significa verificar el hostname al que resuelve una IP determinada (como sabréis normalmente se busca lo contrario).

Resolución inversa (reverse DNS) en Unix/Linux

Para verificar la resolución inversa en Linux utilizaremos el comando “host”:

# host ip

Ejemplos:

Google:

# host 66.102.9.105
105.9.102.66.in-addr.arpa domain name pointer lm-in-f105.1e100.net.

Telefónica:

# host 80.58.0.33
33.0.58.80.in-addr.arpa domain name pointer 33.Red-80-58-0.staticIP.rima-tde.net.

Resolución inversa (reverse DNS) en Windows

Para windows utilizaremos el comando nslookup, que realmente también podríamos utilizar en Unix. El proceso es el siguiente:

Google:

# nslookup 66.102.9.105
Server:         208.67.222.222
Address:        208.67.222.222#53

Non-authoritative answer:
105.9.102.66.in-addr.arpa       name = lm-in-f105.1e100.net.

Telefónica:

 nslookup 80.58.0.33
Server:         208.67.222.222
Address:        208.67.222.222#53

Non-authoritative answer:
33.0.58.80.in-addr.arpa name = 33.Red-80-58-0.staticIP.rima-tde.net.

En NixCraft encontraréis unas cuantas formas más de hacerlo.

Bind + DNSSEC: has CNAME and other data (invalid)

Hoy realizando el firmado de unas zonas en un servidor DNS montado con Bind + Dnssec recibía el siguiente error en la zona de un dominio al firmarla con zonesigner:

xxxx.xx has CNAME and other data (invalid)

El problema residía en que el dominio tenía declarado un registro CNAME Wildcard y después otro con un subdominio hacia el mismo destino:

midominio.com.  IN      CNAME   test.com.
*            IN      CNAME   test.com.

Para solucionarlo eliminamos el registro que genera la duplicación y quedaría solucionado:

*                    IN      CNAME   test.com.

El fallo también puede surgir si hay un registro CNAME y alguno de otro tipo dentro de la misma zona:

www         IN      A   192.168.0.11
www         IN      CNAME   test.com.

Para solucionarlo tendríamos que eliminar uno de los dos.

Cómo cambiar los servidores DNS desde línea de comandos

Cualquier máquina conectada a Internet debe tener configurados unos servidores DNS que servirán para la resolución de nombres de todas aquellas aplicaciones que se conecten a Internet. Básicamente (no voy a profundizar en esto) traducirán los nombres de dominio a IPs.

Si queremos modificar los servidores DNS a utilizar en nuestra máquina (Unix, Linux), simplemente hay que listarlos dentro del fichero /etc/resolv.conf del siguiente modo:

$ vi /etc/resolv.conf
nameserver 80.58.0.33
nameserver 80.58.32.97

No es necesario reiniciar la red para que los cambios surtan efecto. Simplemente haced ping a un dominio para ver si el funcionamiento de resolución de nombres es correcto:

$ ping google.com
PING google.com (74.125.53.100) 56(84) bytes of data.
64 bytes from pw-in-f100.1e100.net (74.125.53.100): icmp_seq=1 ttl=46 time=541 ms
64 bytes from pw-in-f100.1e100.net (74.125.53.100): icmp_seq=2 ttl=46 time=263 ms

Una buena base de datos con todos los DNS disponibles de los proveedores de Internet en España es la de ADSL ayuda.

Bind DNS: Zone transfer deferred due to quota

Este error podéis encontrarlo en los logs de un servidor DNS esclavo con BIND, y es provocado cuando el servidor DNS maestro está transfiriendo una gran cantidad de zonas DNS al esclavo de forma concurrente.
Ejemplo:

13-Jul-2009 05:24:38.360 xfer-in: info: zone xxx1.net/IN: zone transfer deferred due to quota
13-Jul-2009 05:24:38.360 xfer-in: info: zone xxx2.com/IN: zone transfer deferred due to quota
13-Jul-2009 05:24:38.361 xfer-in: info: zone xxx3.com/IN: zone transfer deferred due to quota
13-Jul-2009 05:24:38.361 xfer-in: info: zone xxx4.com/IN: zone transfer deferred due to quota
13-Jul-2009 05:24:38.361 xfer-in: info: zone xxx5.com/IN: zone transfer deferred due to quota

Por defecto, bind permite una concurrencia de 10 transferencias de zona. Este número puede ser insuficiente en servidores DNS con gran número de zonas, y que además añada nuevas de forma constante y concurrente.

Para solucionarlo debemos añadir en el fichero de configuración named.conf del servidor esclavo la directiva transfers-in con el nº de transferencias concurrentes que queramos. Debe ir dentro de la sección de opciones globales:

options {

  transfers-in 50;

};

Y en el servidor maestro configuramos el nº de transferencias concurrentes que permitimos (de salida, mientras que en el esclavo es de entrada):

options {

  transfers-out 50;

};

Recargamos la configuración de named y el nuevo valor comenzará a surtir efecto.