nslookup: la herramienta para acceder a las entradas DNS
Uno de los principales responsables del éxito de Internet y de la World Wide Web es el sistema de nombres de dominio (DNS) gracias a su servicio de directorio central para direcciones de red. La red de servidores DNS distribuidos por todo el mundo (a los que se conoce también como servidores de nombres) es indispensable para que los nombres de las diferentes unidades y aplicaciones de red sean resueltos en las enrevesadas direcciones IP que solo las máquinas pueden interpretar, sin olvidar que también pueden llevar a cabo el proceso contrario. De esta forma, aunque no se conozca la IP, se puede acceder en cualquier momento al equipo o web deseados.
Sin embargo, en determinadas situaciones (por ejemplo, cuando hay problemas en la resolución de nombres de dominio) puede ser de utilidad que el propio usuario realice la búsqueda de la dirección IP correspondiente. Esta actividad, que también puede consistir en el proceso contrario, se implementa con la ayuda de la herramienta nslookup, instalada por defecto tanto en Windows como en MacOs y Linux.
- Resolución rápida de dominios para una página web siempre disponible
- Mayor protección contra fallos y tiempos de inactividad
- No requiere transferencia de dominio
¿Qué es nslookup?
nslookup es una herramienta de línea de comandos muy práctica y fácil de usar, cuya función básica es encontrar la dirección IP de un equipo determinado o realizar una búsqueda DNS inversa (es decir, encontrar el nombre de dominio de una determinada dirección IP). nslookup se ejecuta en la interfaz de líneas de comando del sistema operativo correspondiente: mientras que los usuarios de Windows iniciarán el servicio a través del símbolo del sistema (CMD), los de Unix lo hacen a través del terminal. Además, en la actualidad existen varios servicios web que permiten usar nslookup también online.
La denominación del término nslookup deriva de “name server look up”, traducido al español como “búsqueda de servidores de nombres”.
nslookup obtiene directamente la información requerida de la caché DNS del servidor de nombres. Los usuarios disponen con esta herramienta de dos modos: en el modo no interactivo la herramienta inspecciona las entradas en la memoria caché DNS (registro de recursos) almacenadas en el servidor de nombres local. Este modo se recomienda para aquellas peticiones sencillas en la que se ha de buscar una única entrada para un dominio. No obstante, si se utiliza otro servidor DNS para la búsqueda y hay que llevar a cabo un proceso más complejo, es necesario recurrir al modo interactivo, en cuyo caso el programa de líneas de comando se iniciará por separado.
A diferencia de otros programas de líneas de comando de Windows/DOS, nslookup contiene con -q un parámetro “case sensitive”, es decir, un parámetro en el que escribir en minúscula o mayúscula tiene relevancia.
¿Para qué se puede utilizar nslookup?
Los casos en los que nslookup puede resultar de utilidad son diversos; pero es especialmente importante a la hora de resolver errores de DNS, pues permite consultar información diversa de un dominio o IP correspondiente, lo que contribuye a determinar el desencadenante del problema. Así, por ejemplo, quienes utilicen servidores de Windows y encuentren un problema con el servicio de directorio Active Directory pueden comprobar en poco tiempo y sin más complicación si en el sistema de nombres de dominio se resuelven todos los servidores involucrados según lo esperado. Ya se trate de comprobar subdominios, ya de solucionar problemas reales en su conexión, esta herramienta es especialmente útil.
Otro de los típicos escenarios de aplicación es el de la búsqueda del servidor de correo electrónico (SMTP, POP, IMAP) de un determinado dominio. En este caso, nslookup determina los servidores en cuestión que pertenecen al dominio del proveedor de correos mediante los registros MX (Mail Exchanger). Estas entradas contienen las direcciones IP y los nombres de los servidores del proveedor que se pueden especificar en la configuración del cliente de correo para perfeccionar el enrutamiento del tráfico de correo electrónico.
Funcionamiento de nslookup con Linux, Windows y macOS
Para utilizar nslookup en Mac, Windows o Linux, en primer lugar hay que abrir el programa de líneas de comando del sistema operativo en cuestión. A continuación encontramos dos modos en los que se puede usar la herramienta:
- Modo interactivo: a través de un comando nslookup se inicia el programa, tras lo que se añaden los argumentos de forma separada.
- Modo no interactivo: se introducen directamente tanto el comando nslookup como los parámetros deseados.
El procedimiento utilizado va a depender de los conocimientos técnicos previos que se posean. Si ya se conocen los parámetros y no es necesario cambiar de servidor DNS, no hay ningún inconveniente en realizar directamente la petición deseada al servidor DNS. No obstante, a los que aún no se sienten muy seguros utilizando el programa, se recomienda iniciar primero nslookup para pasar a continuación a introducir paso a paso la sintaxis y los parámetros. En este modo resultan de gran ayuda las opciones disponibles a las que se puede acceder con el comando “help”.
Para finalizar nslookup inmediatamente después de la consulta, basta con introducir el comando “exit” o cerrar la consola de línea de comandos. También se puede recurrir al atajo de teclado [Control] + [C].
nslookup: ejemplos de aplicación
Pongamos que se ha optado por iniciar nslookup para proceder a continuación paso a paso, por lo que tras el inicio hay que indicar diversas órdenes en la interfaz de líneas de comando. Los usuarios disponen de dos opciones: por un lado, pueden ejecutar sus consultas con la configuración estándar y, por el otro, pueden establecer opciones individuales. En el primer método solo hay que indicar el nombre del dominio del que se quiere obtener la dirección IP (también se puede llevar a cabo el proceso inverso) y confirmar la selección con la tecla Intro. Por ejemplo, para la búsqueda de la dirección IP del dominio example.org, nslookup muestra el resultado que sigue:
En este caso, con el mensaje “non-authoritative answer” (respuesta no autoritativa) se indica que el servidor DNS local no puede responder a la consulta por sí solo, sino que ha debido contactar a uno o varios servidores de nombres alternativos. En cuanto a la respuesta obtenida, hay que indicar que el dominio example.org está constituido por una dirección IPv4 (formada por cuatro bloques) y otra IPv6 (más larga, cuyos bloques aparecen separados por dos puntos).
Para peticiones configuradas de forma individual dentro del modo interactivo encontramos dos ejemplos:
Realizar peticiones de determinados tipos de registros DNS
En principio, nslookup está pensado para las consultas de direcciones IPv4 e IPv6. Sin embargo, la herramienta de líneas de comando también puede conocer información de otros tipos de registros de un dominio, pues tiene acceso a las entradas DNS. Para ello el usuario debe definir (“set”) en la interfaz el tipo (“Type”) de registro que se quiere conocer sobre el nombre de dominio indicado en la segunda línea. La sintaxis de este comando de nslookup muestra el esquema que sigue:
set type=TIPODEREGISTRO
En la parte “TIPODEREGISTRO” se introduce el tipo de petición que se desea, entre los que se pueden encontrar:
Parámetros nslookup (tipo de registro) | Tipo de petición |
---|---|
A | Dirección IPv4 |
AAAA | Dirección IPv6 |
MX | Intercambio de correo (Mail Exchanger) |
NS | Servidor de nombres |
PTR | Indicador o registro inverso (para una dirección IP muestra el nombre de dominio) |
SOA | Autoridad de la zona (información de la gestión de zonas DNS) |
Cambiar el servidor DNS para obtener resultados precisos
Por regla general, nslookup contacta con el servidor DNS local proporcionado por el router o proveedor de Internet. Cuando se recurre a este servidor al realizar la petición puede ocurrir que no muestre los resultados esperados. Esto puede deberse a que en la caché del servidor de nombres local no se encuentre almacenado el servidor capaz de resolver la consulta. Por ello, esta herramienta ofrece también la opción de que el usuario pueda seleccionar el servidor DNS al que se debe dirigir la petición. De hecho, si la petición se realiza al servidor de nombres enlazado con un dominio concreto, la respuesta es autoritativa, es decir, la información obtenida viene dada directamente del servidor de nombres encargado de la resolución del dominio en cuestión. El primer paso en este proceso es el de encontrar el servidor o los servidores de nombres correspondientes mediante el parámetro NS. Junto a este registro hay que indicar el nombre de dominio en cuestión:
set type=NS
example.org
En este ejemplo, nslookup muestra dos servidores de nombres posibles, “a.iana-servers.net” y “b.iana-servers.net”:
Uno de los servidores de nombres presentados ha de definirse como estándar para que las peticiones realizadas en un futuro puedan resolverse en él. El comando correspondiente se establece con el parámetro “server” junto al nombre del servidor seleccionado. En el caso del ejemplo anterior, se muestran las siguientes opciones:
server a.iana-servers.net
server b.iana-servers.net
A continuación, el usuario ha de modificar el tipo de registro, aún configurado para la búsqueda de servidores de nombres. Se puede determinar si se quiere proceder a encontrar la IP del dominio (“A”), comprobar la IP del servidor de correo (“MX”) o realizar un chequeo completo (“ANY”), parámetro aplicado en el ejemplo.
set type=ANY
Si se introduce de nuevo example.org para iniciar la consulta, nslookup entrega información DNS detallada sobre el dominio que ha obtenido del servidor de nombres seleccionado como servidor estándar (aquí: a.iana-servers.net):
Esta vez se obtiene una respuesta autoritativa muy detallada, en la que se muestra, entre otras cosas, los nombres de los dos servidores ya conocidos y el servidor de nombres principal (primary name server), del que realmente se obtiene la información DNS.
Herramientas nslookup online
Para realizar peticiones a servidores DNS con nslookup no es necesario que la herramienta se ejecute en el propio sistema, pues en Internet existen diferentes aplicaciones que también disponen de los recursos necesarios para su correcto funcionamiento. Los procesos de comprobación de direcciones IP y nombres de dominio tienen lugar en este caso en otros equipos, pero se accede desde el propio navegador. Dos de los ejemplos de estas aplicaciones web de nslookup son ping.eu y centralops.net.
Por un lado, ping.eu se limita a ofrecer las funciones elementales de nslookup. Tras introducir la dirección IP o el nombre de dominio, la herramienta muestra el equivalente:
Por otro lado, la herramienta de centralops.net permite, además, usar nslookup en el modo interactivo. De este modo los usuarios tienen la posibilidad de usar el servidor de nombres que ellos mismos seleccionen en lugar del servidor DNS estándar del proveedor, así como cambiar de puerto y establecer un determinado tipo de registro.
Tanto ping.eu como centralops.net ofrecen herramientas de red adicionales como Traceroute y Whois.