Como administrador de red, encontrará que el nslookup
El comando es una de sus herramientas más esenciales. Con nslookup, puede verificar los registros DNS para solucionar problemas con su servidor DNS o un registro DNS específico. En este artículo, echamos un vistazo más de cerca a nslookup y le mostramos algunos ejemplos prácticos de cómo usarlo.
¿Qué es nslookup?
Nslookup significa «búsqueda de servidor de nombres». La herramienta de línea de comandos nslookup se utiliza para consultar el Sistema de nombres de dominio (DNS) para obtener el nombre de dominio o la asignación de direcciones IP u otros registros de DNS. Es simple pero poderoso, y puede usarlo para obtener más información sobre un registro DNS.
¿Por qué usar nslookup?
El comando nslookup es una herramienta de consulta de DNS muy poderosa. Se puede usar para solucionar problemas de DNS o simplemente para obtener información sobre un registro de DNS. Por ejemplo, puede usar nslookup para averiguar la dirección IP de un sitio web o para averiguar los registros DNS de un dominio.
Dicho esto, echemos un vistazo más de cerca a cómo instalar y usar nslookup.
Instalación de nslookup en Linux
En la mayoría de las distribuciones de Linux, nslookup se incluye en el bind-utils
paquete.
En Debian o Ubuntu, puede usar el administrador de paquetes apt:
sudo apt install dnsutils-y
En Centos/RHEL/Fedora, puede usar el administrador de paquetes yum:
sudo yum install bind-utils -y
En ArchLinux:
pacman -Sy dnsutils
Realización de una consulta simple
La sintaxis general del comando nslookup es la siguiente:
nslookup <domain-name><options>
<domain-name>
es el nombre de dominio que desea consultar, y <options>
es cualquier opción que desee utilizar. Estas opciones controlan cómo se comporta nslookup. Aprenderá más sobre las opciones a lo largo de este tutorial. Por ahora, comencemos con un ejemplo simple.
Para realizar una consulta de DNS simple, especifique el nombre de dominio que desea consultar sin especificar ninguna opción.
Por ejemplo, ejecute el siguiente comando para consultar los registros DNS del nombre de dominio google.com:
nslookup google.com
Este comando devuelve todos los registros DNS para el nombre de dominio especificado.
Comprender la salida
Cuando ejecuta el comando nslookup sin especificar ninguna opción, devolverá mucha información de forma predeterminada. Echemos un vistazo más de cerca a lo que significa esta salida.
Lo primero que verás es el server
y el address
que nslookup está usando. De manera predeterminada, nslookup usa el servidor DNS que está configurado en su sistema. En la mayoría de los casos, será el servidor DNS de su ISP.
En este caso, el servidor es «127.0.0.53», que es la dirección IP del host local, este tutorial ejecuta nslookup en la misma máquina que aloja mi servidor DNS. Si no está ejecutando su propio servidor DNS, verá la dirección IP del servidor DNS de su ISP.
El puerto 53 es el puerto que se usa para las consultas de DNS y es el puerto estándar para las consultas de DNS.
Después de la información del servidor, verá el Non-authoritative answer
línea. Esta línea indica que la respuesta que recibió nslookup no fue del servidor DNS autorizado para el dominio. Esta respuesta se almacena en caché y se reenvía desde el servidor local que consultó nslookup.
En la mayoría de los casos, esto está totalmente bien y no necesita preocuparse por eso. Pero si está solucionando problemas de DNS, es posible que desee obtener la respuesta del servidor DNS autorizado para el dominio.
Bajo la Non-authoritative answer
línea, verá los registros DNS para el nombre de dominio especificado. En este caso, se devuelven dos registros A. Estos registros A contienen las direcciones IP para el nombre de dominio.
También verá que se devuelven diferentes direcciones IP, ya que Google ha configurado el «equilibrio de carga de DNS». Cuando consulta los servidores DNS de Google, obtendrá una dirección IP diferente cada vez para distribuir la carga entre sus servidores y hacer las cosas más rápidas para todos.
Nota: si no obtiene ningún resultado, es posible que deba vaciar la caché de DNS en su sistema. Si ha editado su archivo «/etc/hosts», también puede sesgar los resultados de nslookup.
Uso de un servidor DNS específico
El uso de un servidor DNS específico puede ser útil si está solucionando problemas de DNS relacionados con un servidor DNS específico. O tal vez esté en una red que utiliza un servidor DNS privado y desee realizar consultas utilizando ese servidor en lugar de los servidores DNS de su ISP.
Para usar un servidor DNS específico con nslookup, debe especificar el nombre de dominio que desea consultar seguido del servidor DNS. Por ejemplo, para consultar los registros DNS de superuser.com utilizando los servidores DNS de Google (8.8.8.8), ejecute el siguiente comando:
nslookup superuser.com 8.8.8.8
Los servidores DNS de Google son una buena opción porque son rápidos y confiables, pero puede usar cualquier servidor DNS que desee.
Esta vez, obtuvimos los registros DNS de los servidores DNS de Google, y cuatro registros A en lugar de dos, ya que superuser.com usa cuatro servidores DNS diferentes para manejar el tráfico.
Puede usar esta misma técnica para consultar cualquier servidor DNS que desee. Especifique el nombre de dominio seguido de la dirección IP del servidor DNS.
Especificación del tipo de registro
De forma predeterminada, nslookup devolverá todos los registros A DNS de un dominio. Pero, ¿qué sucede si solo desea consultar un tipo de registro específico?
Por ejemplo, tal vez esté intentando acceder a un sitio web pero obtenga un error que dice que el servidor DNS no puede encontrar el registro A para el dominio. En este caso, podría usar nslookup para consultar el registro A y ver si está devolviendo la dirección IP correcta.
Para consultar un tipo de registro DNS específico, use el -type
opción. Toma un argumento, que es el tipo de registro que desea consultar. Los tipos de registros DNS más comunes son:
- A: Registro de direcciones: asigna un nombre de dominio a una dirección IPv4.
- AAAA: registro de direcciones IPv6: asigna un nombre de dominio a una dirección IPv6.
- CNAME: registro de nombre canónico: asigna un alias a un nombre de dominio real y es útil cuando ejecuta un servidor web FPT o Nginx.
- MX: Registro de intercambio de correo: asigna un nombre de dominio a un servidor de correo electrónico y lo ayuda a verificar que su correo electrónico esté configurado correctamente.
- NS: Registro del servidor de nombres: asigna un nombre de dominio a un servidor DNS y especifica qué servidor DNS es responsable de un dominio y dónde encontrar los registros DNS para ese dominio.
- TXT: Registro de texto: almacena información de texto para un dominio, se puede usar para almacenar cosas como registros SPF y garantiza que su correo electrónico esté a salvo de ataques de spam o phishing.
Utilice la siguiente sintaxis para consultar un tipo de registro específico:
nslookup <domain> <dns_server> set type=<record_type>
Por ejemplo, ejecute el siguiente comando para consultar el CNAME
registro de superuser.com:
nslookup superuser.com -type=cname
Para consultar por el MX
registro de google.com, ejecute el siguiente comando:
nslookup google.com -type=mx
Del mismo modo, puede consultar cualquier otro tipo de registro DNS que desee, solo asegúrese de usar el tipo de registro correcto en el comando.
Consultar todos los tipos de registros DNS
Si desea consultar todos los tipos de registros DNS para un dominio, debe utilizar el -type=any
opción. Devuelve todos los tipos de registros de un dominio, incluidos A, AAAA, CNAME, MX, etc.
Esta opción puede ser útil si desea obtener una imagen completa de los registros DNS de un dominio.
Por ejemplo, ejecute el siguiente comando para consultar todos los registros DNS de google.com:
nslookup -type=any superuser.com
Como puede ver a continuación, este comando devuelve todos los registros DNS para google.com:
Realización de una búsqueda inversa de DNS
Además de consultar los servidores DNS para obtener información sobre un dominio, también puede usar nslookup para consultar los servidores DNS para obtener información sobre una dirección IP. Esto se denomina búsqueda DNS inversa.
Suponga que tiene la dirección IP de un servidor y desea encontrar el nombre de host de ese servidor. Una búsqueda inversa de DNS puede ayudarlo a hacerlo.
Para realizar una búsqueda inversa de DNS, ejecute el nslookup
comando seguido de la dirección IP que desea buscar.
Por ejemplo, ejecute el siguiente comando para realizar una búsqueda inversa de DNS para la dirección IP «142.250.204.46»:
nslookup 142.250.204.46
Esto devolverá el nombre de host del servidor con la dirección IP 142.250.204.46.
Habilitación del modo de depuración
Los usuarios avanzados pueden habilitar el modo de depuración en nslookup para obtener más información sobre las consultas de DNS. Este modo es útil si está solucionando problemas de DNS y quiere ver qué sucede detrás de escena.
Para habilitar el modo de depuración, utilice el -debug
opción. Por ejemplo, para consultar el registro A de google.com y habilitar el modo de depuración, ejecute el siguiente comando:
nslookup -debug google.com
Este comando devuelve mucha información sobre la consulta de DNS. Esta información puede ser útil si intenta solucionar problemas de DNS.
Registro de la salida en un archivo
Puede ser útil registrar la salida de nslookup en un archivo. Puede guardar este archivo y compartirlo con otros administradores del sistema para que puedan ayudarlo a solucionar problemas de DNS.
Utilice la siguiente sintaxis para guardar la salida de nslookup en un archivo:
nslookup <domain> > /path/to/file
Por ejemplo, para consultar todos los registros A DNS de google.com y guardar el resultado en un archivo llamado «google_dns_records.txt», ejecute el siguiente comando. Él >
El símbolo se utiliza para redirigir la salida de un comando a un archivo.
nslookup -debug google.com > google_dns_records.txt
ejecutar el ls -la
Comando a continuación para verificar que se creó el archivo de registro:
ls -la google_dns_records.txt
Como puede ver a continuación, el archivo se creó correctamente.
ejecutar el cat
Comando a continuación para ver el contenido del archivo.
cat google_dns_records.txt
Como puede ver a continuación, el archivo de registro contiene todos los registros DNS para google.com.
Uso del modo interactivo
A lo largo de este artículo, hemos utilizado el comando nslookup con diferentes opciones para consultar servidores DNS en modo no interactivo, lo que le permite especificar todas las opciones en un solo comando.
Además del modo no interactivo, nslookup también tiene un modo interactivo. En el modo interactivo, puede emitir diferentes comandos para consultar servidores DNS sin tener que escribir el comando nslookup completo cada vez.
En general, si va a realizar algunas consultas de DNS, el modo no interactivo es el camino a seguir. Pero si va a realizar muchas consultas de DNS o desea experimentar con diferentes opciones de nslookup, el modo interactivo puede ser más conveniente y lógico.
Para ingresar al modo interactivo, ejecute el siguiente comando.
nslookup
Su indicación cambiará a >
Como se muestra abajo. Esto indica que ahora está en modo interactivo.
Puede ejecutar todos los comandos nslookup que hemos cubierto en este tutorial sin tener que escribir nslookup
cada vez.
Para salir del modo interactivo, ejecute el exit
dominio.
Si desea obtener más información sobre el uso de nslookup, consulte la página de manual de nslookup.
nslookup frente a cavar
Tanto nslookup como dig son excelentes herramientas para consultar servidores DNS. En general, ambas herramientas te darán los mismos resultados. Puede ejecutar una consulta con ambas herramientas y comparar los resultados. Esta es una excelente manera de cotejar los resultados de su consulta.
Si tiene que elegir una herramienta sobre la otra, se recomienda usar dig, ya que nslookup es antiguo. Fue lanzado por primera vez a principios de la década de 1980 y sus desarrolladores lo abandonaron en gran medida. Por el contrario, dig todavía se está desarrollando activamente, por lo que es más probable que encuentre nuevas funciones y correcciones de errores en dig que en nslookup.
Nota: si ve un error de conexión «Sin ruta al host», tenemos soluciones aquí.
Preguntas frecuentes
¿Es nslookup un DNS?
No. nslookup es una herramienta de administración de red para consultar el Sistema de nombres de dominio (DNS) y requiere que un servidor DNS se esté ejecutando para funcionar. Sin embargo, nslookup también puede usar un archivo llamado “/etc/hosts” como fuente de información de DNS.
¿Cómo verifico mi configuración de DNS en Linux?
El archivo «/etc/resolv.conf» es donde se almacena la configuración de DNS en Linux. Utilizar el cat
comando para ver el contenido de este archivo.
Encontré el error «No se puede encontrar el nombre del servidor…» al usar nslookup. ¿Cómo puedo solucionar esto?
Este es un error conocido con nslookup. La solución es utilizar su servidor DNS local para realizar la consulta. Omita el parámetro de dirección IP del servidor DNS personalizado del comando como nslookup google.com
y debería funcionar.
Credito de imagen: Unsplash. Todas las capturas de pantalla de Nicholas Xuan Nguyen.
Danos tu opinión