Realizar búsquedas DNS de IPv6 en Linux

CompTIABeginner
Practicar Ahora

Introducción

En este laboratorio, aprenderá las habilidades esenciales para realizar y verificar búsquedas DNS de IPv6 en un sistema Linux. Explorará cómo los sistemas Linux resuelven nombres de dominio a direcciones IPv6, una función crítica para las redes modernas. Esta experiencia práctica lo guiará a través del uso de utilidades estándar de línea de comandos para consultar registros de direcciones IPv6 y probar la conectividad de red.

Comenzará inspeccionando el archivo /etc/resolv.conf para identificar los servidores DNS configurados. A continuación, utilizará dos herramientas potentes, dig y nslookup, para consultar específicamente registros AAAA, que mapean nombres de dominio a direcciones IPv6. Finalmente, utilizará el comando ping6 para confirmar que su sistema puede establecer una conexión directa con un objetivo utilizando su dirección IPv6, completando el ciclo completo de resolución y conectividad.

Este es un Guided Lab, que proporciona instrucciones paso a paso para ayudarte a aprender y practicar. Sigue las instrucciones cuidadosamente para completar cada paso y obtener experiencia práctica. Los datos históricos muestran que este es un laboratorio de nivel principiante con una tasa de finalización del 97%. Ha recibido una tasa de reseñas positivas del 100% por parte de los estudiantes.

Inspeccionar la configuración del servidor DNS en /etc/resolv.conf

En este paso, localizará e inspeccionará la configuración del servidor DNS en su sistema Ubuntu. Este es el paso fundamental para comprender cómo su máquina resuelve los nombres de dominio en direcciones IP, lo cual es esencial para toda la comunicación de red, incluida la IPv6.

El archivo de configuración principal para la resolución DNS en Linux es /etc/resolv.conf. Este archivo enumera las direcciones IP de los servidores de nombres que consultará su sistema.

Primero, veamos el contenido de este archivo. En su terminal, que ya está abierta y en el directorio ~/project, ejecute el siguiente comando:

cat /etc/resolv.conf

Este comando lee el archivo /etc/resolv.conf y muestra su contenido directamente en la terminal.

Debería ver una o más líneas que comienzan con nameserver. Estas entradas definen los servidores DNS. Las direcciones pueden ser IPv4 (por ejemplo, 8.8.8.8) o IPv6 (por ejemplo, 2001:4860:4860::8888). Identificar estos servidores es el primer paso para diagnosticar cualquier problema relacionado con DNS.

Ejemplo de salida:

## Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
##     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
## 127.0.0.53 is the systemd-resolved stub resolver.
## run "systemd-resolve --status" to see details about the actual nameservers.

nameserver 127.0.0.53
options timeout:2 attempts:3 rotate single-request-reopen

En el ejemplo anterior, el sistema está configurado para usar el resolvedor stub systemd-resolved en 127.0.0.53. Este es un resolvedor DNS local que reenvía las solicitudes a los servidores DNS reales configurados para su sistema. Puede ejecutar systemd-resolve --status para ver detalles sobre los servidores de nombres reales que se están utilizando. Si su sistema estuviera configurado para DNS IPv6, vería una dirección con formato IPv6 aquí.

Al completar este paso, ahora sabe cómo encontrar los servidores DNS en los que su sistema confía para la resolución de nombres. En el siguiente paso, utilizará una herramienta de línea de comandos para consultar activamente a uno de estos servidores para obtener un registro de dirección IPv6.

Consultar un registro AAAA de IPv6 con dig

En este paso, utilizará la herramienta de línea de comandos dig para consultar un servidor DNS específicamente para un registro de dirección IPv6. Mientras que el registro A mapea un nombre de dominio a una dirección IPv4, el registro AAAA (o registro "cuádruple A") mapea un nombre de dominio a una dirección IPv6.

La utilidad dig (domain information groper) es una herramienta potente y flexible para interrogar servidores DNS. Forma parte del paquete dnsutils, que puede que no esté instalado por defecto.

Primero, aseguremos que dig esté disponible en su sistema. Ejecute los siguientes comandos para actualizar la lista de paquetes e instalar dnsutils:

sudo apt-get update
sudo apt-get install -y dnsutils

Ahora que dig está instalado, puede usarlo para buscar el registro AAAA de un dominio que se sabe que está habilitado para IPv6, como ipv6.google.com.

Ejecute el siguiente comando en su terminal:

dig AAAA ipv6.google.com

Este comando le indica a dig que busque registros de tipo AAAA para el dominio ipv6.google.com.

Examinemos la salida. Está dividida en varias secciones, pero la más importante para nosotros es la ANSWER SECTION (Sección de Respuesta).

Ejemplo de salida:

; <<>> DiG 9.18.1-1ubuntu1.3-Ubuntu <<>> AAAA ipv6.google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35612
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;ipv6.google.com.  IN AAAA

;; ANSWER SECTION:
ipv6.google.com.        10      IN      CNAME   ipv6.l.google.com.
ipv6.l.google.com.      10      IN      AAAA    2607:f8b0:4005:814::200e

;; Query time: 148 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
;; WHEN: Thu Jul 17 10:56:59 CST 2025
;; MSG SIZE  rcvd: 93

En la ANSWER SECTION, puede ver que ipv6.google.com primero se resuelve a un registro CNAME que apunta a ipv6.l.google.com, el cual a su vez se resuelve a una dirección IPv6 (por ejemplo, 2607:f8b0:4005:814::200e). La presencia de los registros CNAME y AAAA confirma que ipv6.google.com tiene una dirección IPv6 y que su sistema pudo resolverla con éxito.

Ahora ha utilizado con éxito dig para realizar una consulta DNS específica de IPv6. En el siguiente paso, aprenderá a hacer lo mismo con otra utilidad común, nslookup.

Buscar un registro AAAA usando nslookup

En este paso, aprenderá a usar otra utilidad común, nslookup, para realizar la misma tarea de consultar un registro AAAA. Si bien dig es a menudo preferido por los administradores de sistemas por su salida detallada, nslookup también está ampliamente disponible y es útil para búsquedas rápidas.

La herramienta nslookup (name server lookup) también forma parte del paquete dnsutils, que instaló en el paso anterior, por lo que no necesita instalar nada nuevo.

Para pedirle a nslookup que busque un tipo específico de registro, se utiliza la opción -query=. Nuevamente, buscaremos un registro AAAA para encontrar la dirección IPv6 de un dominio. Usemos un dominio diferente habilitado para IPv6 esta vez, como facebook.com.

En su terminal, ejecute el siguiente comando:

nslookup -query=AAAA facebook.com

Este comando instruye a nslookup a solicitar específicamente el registro AAAA para facebook.com del servidor DNS predeterminado.

La salida de nslookup suele ser más concisa que la de dig. Busque la sección "Non-authoritative answer" (Respuesta no autoritativa).

Ejemplo de salida:

Server:         127.0.0.53
Address:        127.0.0.53#53

Non-authoritative answer:
Name:   facebook.com
Address: 2a03:2880:f131:83:face:b00c:0:25de

La salida muestra claramente la dirección IPv6 asociada con facebook.com en la sección "Non-authoritative answer". El término "Non-authoritative" simplemente significa que la respuesta provino de un servidor DNS que no es la autoridad final para el dominio, lo cual es normal para las consultas DNS recursivas.

Ahora ha utilizado con éxito dos herramientas diferentes, dig y nslookup, para resolver un nombre de dominio a una dirección IPv6. En el paso final, probará la conectividad de red real utilizando uno de estos dominios resueltos.

Probar conectividad IPv6 con ping6

En este paso final, combinará la resolución DNS y las pruebas de red para verificar la conectividad IPv6 de extremo a extremo. Después de resolver con éxito un nombre de dominio a su dirección IPv6 en los pasos anteriores, ahora necesita verificar si su sistema puede comunicarse realmente con esa dirección a través de la red.

Para hacer esto, utilizará el comando ping6. Esta utilidad es el equivalente IPv6 del familiar comando ping y se utiliza para probar la alcanzabilidad de la red enviando paquetes de solicitud de eco ICMPv6 a un host de destino.

Cuando proporciona a ping6 un nombre de dominio, realiza dos acciones:

  1. Primero resuelve el nombre de dominio a una dirección IPv6 consultando su registro AAAA.
  2. Luego envía paquetes ping a la dirección IPv6 resuelta.

Probemos la conectividad con ipv6.google.com. Usaremos la opción -c 4 para enviar solo 4 paquetes y luego detenernos; de lo contrario, ping se ejecutaría indefinidamente.

En su terminal, ejecute el siguiente comando:

ping6 -c 4 ipv6.google.com

Observe la salida. Si su sistema tiene una conexión IPv6 funcional a Internet, verá respuestas exitosas.

Ejemplo de salida exitosa:

PING ipv6.google.com(prg03s07-in-x0e.1e100.net (2a00:1450:4001:82e::200e)) 56 data bytes
64 bytes from prg03s07-in-x0e.1e100.net (2a00:1450:4001:82e::200e): icmp_seq=1 ttl=118 time=1.23 ms
64 bytes from prg03s07-in-x0e.1e100.net (2a00:1450:4001:82e::200e): icmp_seq=2 ttl=118 time=1.30 ms
64 bytes from prg03s07-in-x0e.1e100.net (2a00:1450:4001:82e::200e): icmp_seq=3 ttl=118 time=1.25 ms
64 bytes from prg03s07-in-x0e.1e100.net (2a00:1450:4001:82e::200e): icmp_seq=4 ttl=118 time=1.28 ms

--- ipv6.google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 1.230/1.265/1.300/0.027 ms

Salida esperada en la mayoría de los entornos de laboratorio:

ping6: connect: Network is unreachable

Nota importante: En la VM de LabEx, es probable que vea "Network is unreachable" (Red inalcanzable) al intentar hacer ping a direcciones IPv6. Esto se debe a que el entorno de laboratorio puede resolver la dirección IPv6 pero no tiene una ruta IPv6 hacia Internet público. Este escenario común, conocido como el "vacío IPv6" (IPv6 gap), demuestra la diferencia crucial entre la resolución DNS exitosa y la conectividad de red real. El hecho de que la resolución DNS funcionara en los pasos anteriores pero la conectividad falle aquí ilustra que su sistema puede consultar y recibir direcciones IPv6 correctamente, incluso cuando no puede establecer conexiones IPv6 reales.

¡Felicitaciones! Ha completado este laboratorio. Ha aprendido a inspeccionar su configuración DNS local, a usar dig y nslookup para consultar registros AAAA de IPv6 y a usar ping6 para probar la conectividad IPv6.

Resumen

En este laboratorio, aprendió los pasos fundamentales para realizar búsquedas DNS de IPv6 en un entorno Linux. Comenzó inspeccionando el archivo /etc/resolv.conf para identificar los servidores DNS que su sistema está configurado para usar. Luego practicó el uso de dos utilidades esenciales de línea de comandos, dig y nslookup, para consultar específicamente registros AAAA de IPv6, resolviendo con éxito nombres de dominio a sus direcciones IPv6 correspondientes.

Finalmente, utilizó el comando ping6 para probar la conectividad IPv6, lo que demostró la importante distinción entre la resolución DNS y la conectividad de red real. A pesar de que el entorno de laboratorio puede resolver con éxito las direcciones IPv6, carece de enrutamiento IPv6 a Internet público, lo que resulta en errores de "Network is unreachable" (Red inalcanzable). Al completar estos pasos, ha adquirido experiencia práctica con las herramientas y conceptos centrales para administrar y solucionar problemas de resolución de nombres IPv6 en Linux, y comprende la diferencia entre las consultas DNS exitosas y la conectividad de red real.