Nslookup (Name System Lookup)

DNS01Hoy vamos a revisar una herramienta sumamente útil: Nslookup.exe. Esta herramienta de línea de comandos nos sirve principalmente para probar y solucionar problemas de los servidores DNS de nuestra arquitectura. Se instala junto con el protocolo TCP/IP, y vamos a ver varias cosas que podemos ver con esta utilidad.

Básicamente, este comando que se usa para detectar si el DNS está resolviendo correctamente los nombres y las IP; permitiéndonos consultar un servidor de nombres y obtener información relacionada con el dominio o el host y así diagnosticar los eventuales problemas de configuración que pudieran haber surgido en el DNS.

Los requerimientos mínimos para utilizarlo son los siguientes (Si, digamos que son obvios, pero bueno igual los nombramos):

  • El protocolo TCP/IP debe estar instalado en el equipo donde se ejecuta Nslookup.exe
  • Se debe especificar al menos un servidor DNS cuando se ejecuta el comando IPCONFIG /ALL desde un símbolo del sistema.
  • Nslookup siempre devolverá el nombre del contexto actual. Esto es muy importante si trabajamos con entornos multiplataforma. Si no califica totalmente la consulta del nombre (es decir, si no utilizamos el punto del final), la consulta se anexará al contexto actual. Por ejemplo, la configuración del DNS es clarin.com y se realiza una consulta en www.radians.com.ar; la primera consulta saldrá como www.radians.com.ar.clarin.com porque la consulta no está completa. Este comportamiento puede ser incoherente con las versiones de otro proveedor de Nslookup.
  • Si ha implementado el uso de la lista de búsquedas en el Domain Suffix Search Order definido en las Propiedades de TCP/IP, la devolución no se producirá. La consulta se anexará a los sufijos de dominio especificados en la lista. Para evitar utilizar la lista de búsquedas, debemos utilizar siempre el nombre de dominio completo.

Podemos utilizar la herramienta NSLookup en dos modos: interactivo y no interactivo. Vamos a ver primero el modo no interactivo (la que se utiliza generalmente para consultas aisladas) ya que sólo devuelve un fragmento de datos. La sintaxis para el modo no interactivo es la siguiente:

nslookup [-option] [hostname] [server]

Por ejemplo:

www.radians.com.ar © 2012

Ahora, el modo interactivo (usado generalmente para troobleshooting, ya que podemos hacer varias consultas; igualmente es cuestión de gustos, no?), solo basta con escribir “nslookup” en la ventana de línea de comandos:

Por ejemplo:

www.radians.com.ar © 2012

Si se escribimos "help" o "?" nos mostrara una lista de comandos disponibles.

www.radians.com.ar © 2012

Todo lo que escribamos en esta pantalla que no se reconozca como un comando válido se supone que es un nombre de host y se intentara resolver utilizando el servidor predeterminado. Para interrumpir comandos interactivos, debemos presionar CTRL+C, y para salir del modo interactivo y volver al símbolo del sistema, debemos escribir exit en el símbolo del sistema.

Por ejemplo, podemos ver varias opciones diferentes ejecutando la opción set. Si queremos ver la lista completa de estas opciones, podemos hacerlo escribiendo set all. Vea arriba, bajo el comando set, para obtener una lista de las opciones disponibles.

www.radians.com.ar © 2012

Vamos a ver algunos ejemplos mas en concreto. Si queremos buscar datos diferentes dentro del espacio de nombres de dominio, utilice el comando set type o set q[uerytype] en el símbolo del sistema. Por ejemplo, para consultar los datos del mail exchanger data, debemos escribir lo siguiente:

www.radians.com.ar © 2012

Cabe aclarar, que la primera vez que se realiza una consulta de un nombre remoto, la respuesta es autoritativa, pero las consultas subsiguientes no lo son. La primera vez que se consulta un host remoto, el servidor DNS local se pone en contacto con el servidor DNS que es autoritativo para ese dominio. El servidor DNS local almacenará en memoria caché esa información, por lo que las consultas subsiguientes se responderán de forma no autoritativa a partir de la caché del servidor local.

Otro ejemplo, podría ser consultar directamente otro servidor de nombres, para ello utilizamos el comandos server o lserver para cambiar a ese servidor de nombres. El comando lserver utiliza el servidor local para obtener la dirección del servidor al que se desea cambiar, mientras que el comando server utiliza el servidor predeterminado actual para obtener la dirección.

www.radians.com.ar © 2012

También podríamos usar el Nslookup para transferir toda una zona mediante el comando ls. Esto es útil para ver todos los hosts que hay dentro de un dominio remoto. La sintaxis del comando ls es la siguiente:

ls [- a | d | t type] domain [> filename]

Si se utilizamos ls sin argumentos nos devolverá una lista de todas las direcciones y datos del servidor de nombres. El modificador -a nos devolverá el alias y los nombres canónicos, -d devolverá todos los datos y -t filtrará por tipo.

El resultado seria:

>ls domain.com
[nameserver1.domain.com]
nameserver1.domain.com.      NS        server = ns1.domain.com
nameserver2.domain.com       NS        server = ns2.domain.com
nameserver1                  A          10.0.0.1
nameserver2                  A          10.0.0.2
>

Las transferencias de zona se pueden bloquear en el servidor DNS de manera que sólo las direcciones o las redes autorizadas puedan realizar esta función. Se devolverá el error siguiente si se ha establecido la seguridad de la zona:

*** No se puede hacer una lista del dominio ejemplo.com.: Consulta rechazada

Como mencionamos anteriormente, esta herramienta es sumamente útil para hacer troubleshooting. Por ejemplo, si el nslookup nos devuelve el siguiente error:

*** No se puede encontrar el nombre de servidor para la dirección w.x.y.z: Agotado el tiempo de espera

Este error indica que no se puede alcanzar el servidor DNS o que el servicio no está ejecutándose en ese equipo. Para corregir este problema, deberíamos verificar que este iniciado el servicio DNS en ese servidor o comprobar si hay problemas de conectividad.

Si el error fuera:

*** No se puede encontrar el nombre de servidor para la dirección 127.0.0.1: Agotado el tiempo de espera

La causa común de este error es que no se ha definido ningún servidor en la lista Orden de búsqueda de servicio DNS. Para corregir este problema, deberíamos agregar a esta lista la dirección IP de un servidor DNS válido.

Otro ejemplo de errores comunes, podría ser:

*** No se puede encontrar el nombre de servidor para la dirección w.x.y.z: Dominio inexistente

Generalmente, este error se produce cuando no hay ningún registro PTR para la dirección IP del servidor de nombres. Cuando Nslookup.exe se inicia, hace una búsqueda inversa para obtener el nombre del servidor predeterminado. Si no existen ningún dato PTR, se devuelve este mensaje de error. Para corregirlo, debemos asegurarnos que existe una zona de búsqueda inversa y que contiene registros PTR para los servidores de nombres. Esto es muy común en los registros MX, generalmente en los DNS de los ISP, que no lo hacen si no se pide.

Espero que esta nota les sea de interés y los ayude en el día a día. Personalmente es una herramienta que utilizo frecuentemente, tanto en mis ambientes productivos como en los de testing, ya que me ayuda a comprobar que mis DNS funcionen correctamente.

Saludos, Roberto Di Lello.

Mas Información:

Roberto Di Lello

Acerca del autor: Roberto Di Lello

Hola, soy Roberto Di Lello trabajo como Consultor Senior en Infraestructura, especializado en Tecnologias Microsoft con mas de 25 años en la industria. He sido galardonado como MS-MVP en Active Directory-Enterprise Mobility por 10 años, y actualmente soy MVP Windows Insider, ademas de poseer otras certificaciones de Microsoft. He trabajado en distintos projectos que involucran Migraciones, Implementaciones, y soporte de Active Directory y Microsoft Exchange, y en los ultimos años me he desempeñado armando equipos de trabajo para diferentes paises y areas de sistemas, he planificado a distintas migraciones a datacenters (ambiente cloud y mixtos). He tenido la oportunidad de participar como miembro del staff de Microsoft en eventos internacionales como ser TechEd NorteAmerica y MS Ignite (NA) al ser Trainer Certificado por Microsoft (MCT).

You May Also Like

8 Comments

  1. Como está Roberto

    Reciba un fuerte abrazo desde Tarija – Bolivia, bueno le escribo algo cortito y me pueda guiar, me gustaría certificarme en productos Microsoft específicamente en infraestructura MCSA, MCSE, poder llegar a ser un MCITP, le comento que aquí en mi ciudad no existe una empresa que de los cursos me gustaria hacerlos a distancia, donde me puede recomendar que libros necesito como puedo realizar algunas practicas en equipos virtuales? me gustaria que me pueda guiar en este emprendimiento.

    Saludos
    Ricardo

  2. Ricardo, no hay problema.

    Te cuento que lo que deberias hacer es ver el certification path en http://www.microsoft.com/learning/en/us/certification/cert-overview.aspx ahi, dependiendo de en que tecnologia te queres certificar te va a dar la lista de examenes que tienes que dar. En tu caso, por lo que vi, lo similar a MCSE es MCITP: http://www.microsoft.com/learning/en/us/certification/mcitp.aspx#tab2 aqui puedes ver los requerimientos para Enterprise Administrator on Windows Server 2008. Por el material de estudi, yo personalmente cuando los rendi, lo hice con los libros simplemente y luego accedi al examen; osea sin hacer los cursos. Si tome varios libros SYNGRESS y MSPRESS, que a mi criterio son los mejores. Luego practique mucho con entornos virtuales que fui creando.

    Aprovecho la oportunidad para agradecerte por participar del blog y ayudar a que siga creciendo; y te pido que nos ayudes a difundirlo con tus amigos y contactos! Te cuento que hay mucho material en el. Te invito a que veas los labs, videos, tutoriales, notas. Si querés buscar un tema o necesitas ayuda, tenés la solapa AYUDA donde explico un poco como hacerlo, sino también tenés el buscador de google.

    Espero te sean de utilidad. Buen comienzo de año. Cualquier duda contactame, y muchos exitos con las certificaciones!. Saludos!

  3. Hola amigo, muchas gracias por toda la informacion que semanalmente nos brinda para nuestra ayuda.
    tengo un inconveniente con TS web.
    He seguido sus screencast, pero no encuentro soluciona a esto.

    Puedo acceder a TSweb localmente por http://localhost/ts, y utilizar las aplicaciones del listado, pero desde una ubicacion externa por internet http://xxx.xxx.xxx.141/ts, veo las carpetas pero al abrir alguna aplicacion me sale el error “remoteaap disconnected” “the remote computer could not be found”.
    he buscado distintas soluciones y no me funciona.
    creo que tengo algo mal en la configuracion del Servicio DNS o en un certificado, podria usted sugerirme un procedimiento o un documento donde se explique paso a paso, la configuracion de DNS para acceso externo.

    gracias
    Win2008, Active Directory

  4. Leonardo, disculpa la demora pero estuve complicado con los tiempos.

    Consulta la IP http://xxx.xxx.xxx.141/ts es una IP externa? a su vez esa ip esta registrada en un DNS publico de algún ISP como para que pueda ser accedido?

    Aprovecho la oportunidad para agradecerte por participar del blog y ayudar a que siga creciendo; y te pido que nos ayudes a difundirlo con tus amigos y contactos! Te cuento que hay mucho material en el. Te invito a que veas los labs, videos, tutoriales, notas. Si querés buscar un tema o necesitas ayuda, tenés la solapa AYUDA donde explico un poco como hacerlo, sino también tenés el buscador de google.

    Espero te sean de utilidad. Buen comienzo de año. Saludos!

  5. Hola amigo, antes que nada queria felicitarte por la Web que tienes la verdad esta más que interesante.
    Mira te presento mi situación, actualmente esta andando un windows server 2003 con los diferentes usuarios con 3 particiones (SO, datos1 y datos2). La idea es migrarlo a un windows server 2008 que actualmente tiene configurado un raid 1 con 2 discos de 500 GB e instalado el WS 2008.
    La pregunta es como hago para particionar el windows 2008 para generar las 2 particones que tiene el WS 2003 (SO 2008, datos1 y datos2) y que se replique en el otro disco del RAID.
    Espero que me hayas podido entender y que me puedas brindar una ayuda.
    Si tienes material acerca de todo esto que me pueda ayudar a migrar el servidor 2003 al 2008 te estaria super agredecido.
    Desde ya muchas gracias.
    Saludos…

  6. Jualian Navarro, disculpa mi demora por la tardanza pero estuve complicado con los tiempos.

    Te cuento que no debes hacer nada para que se replique un disco con el otro. Al armar el RAID, ya sea desde Windows o desde la placa controladora se copia sola la informacion de una particion a otra. Tambien te paso una nota en donde te muestro el procedimiento para copiar los archivos y mantener los permisos: Migración de datos con ROBOCOPY… https://www.radians.com.ar/blog/?p=60

    Aprovecho la oportunidad para agradecerte por participar del blog y ayudar a que siga creciendo; y te pido que nos ayudes a difundirlo con tus amigos y contactos! Te cuento que hay mucho material en el. Te invito a que veas los labs, videos, tutoriales, notas. Si querés buscar un tema o necesitas ayuda, tenés la solapa AYUDA donde explico un poco como hacerlo, sino también tenés el buscador de google.

    Espero te sean de utilidad. Buen comienzo de año. Saludos!

  7. Hola Roberto,
    Ante todo gracias por la respuesta!!!
    Estuve viendo la manera de migrar los datos con ROBOCOPY pero lo que no entiendo es que si migra los datos con los permisos correspondientes después como mapea con los usuarios.
    Es decir tengo que crear en el active directory los mismos nombres de usuario o como se hace?
    O tengo que migrar los usuarios también.
    Desde ya muchas gracias…
    Saludos.

  8. Hola Julian, el tema es para que utilizariamos el robocopy y los mismos permisos. Esto es por ejemplo, si necesitamos migrar un File Server de un servidor a otro dentro de un mismo dominio. En cuyo caso, no vamos a querer volver a asignar todos los permisos de todo el arbol en donde se encuentran los archivos.

    Si lo copiamos a otro domino, seguramente no tendremos los mismos usuarios ni los mismos permisos. Recorda que si generas un usuario por mas que se llame igual no va a tener el mismo SID por lo que seria un usuario distinto.

    Espero te aclare un poco el panorama. Saludos, Roberto.

Comments are closed.