Introducción
En este laboratorio, aprenderá las habilidades fundamentales para configurar y verificar direcciones IPv6 en un sistema Linux. Utilizando herramientas modernas de línea de comandos, obtendrá experiencia práctica con las tareas esenciales involucradas en la gestión de redes IPv6, desde la inspección hasta la configuración estática y las pruebas de conectividad. Este laboratorio se centra en el uso del comando ip del conjunto iproute2 y la utilidad ping6, que son estándar en distribuciones Linux modernas como Ubuntu 22.04.
Comenzará utilizando el comando ip a para descubrir las direcciones IPv6 de loopback y de enlace local configuradas automáticamente en sus interfaces de red. A continuación, asignará manualmente una dirección global unicast estática a una interfaz. Finalmente, utilizará el comando ping6 para verificar la conectividad de red a las direcciones de loopback, de enlace local y a la dirección global unicast recién configurada, confirmando que su configuración IPv6 funciona correctamente.
Descubrir Direcciones de Enlace Local y Loopback con ip a
En este paso, aprenderá a descubrir las direcciones IPv6 que se configuran automáticamente en su sistema. Las distribuciones Linux modernas, incluida Ubuntu 22.04, tienen IPv6 habilitado por defecto. Utilizaremos el comando ip, que es la herramienta moderna y recomendada para la configuración e inspección de redes en Linux.
Primero, inspeccionemos las interfaces de red y sus direcciones asignadas. El comando ip a es una abreviatura de ip address.
- Abra una terminal. Su ruta predeterminada es
~/project. - Ejecute el comando
ip apara listar todas las interfaces de red y sus direcciones.
ip a
Verá una salida similar a la siguiente. Los nombres de interfaz exactos (como eth0) y las direcciones pueden variar, pero la estructura será la misma.
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:16:3e:00:54:72 brd ff:ff:ff:ff:ff:ff
altname enp0s5
altname ens5
inet 172.16.50.202/24 metric 100 brd 172.16.50.255 scope global dynamic eth0
valid_lft 1892159972sec preferred_lft 1892159972sec
inet6 fe80::216:3eff:fe00:5472/64 scope link
valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
link/ether 02:42:89:01:6f:fc brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
Ahora, analicemos la salida para identificar las direcciones IPv6 clave:
Dirección de Loopback: Busque la interfaz llamada
lo. Esta es la interfaz virtual de loopback, utilizada para probar la pila de red en la máquina local. Verá la dirección IPv6::1/128. Esta es la dirección de loopback IPv6, equivalente a127.0.0.1en IPv4. Elscope hostindica que solo es válida dentro del propio host.Dirección de Enlace Local: Busque su interfaz de red principal (por ejemplo,
eth0,enp0s3). Encontrará una direccióninet6que comienza confe80::. Esta es su dirección de enlace local. Se asigna automáticamente a cada interfaz habilitada para IPv6 y se utiliza para la comunicación solo en el segmento de red local (por ejemplo, su LAN Ethernet local). Elscope linkconfirma que esta dirección solo es válida en el enlace local y no es enrutable en Internet.
Ahora ha identificado con éxito los dos tipos fundamentales de direcciones IPv6 configuradas automáticamente en su sistema.
Añadir una Dirección Global Unicast Estática con ip addr add
En este paso, configurará manualmente una Dirección Global Unicast (GUA) en su interfaz de red. Mientras que las direcciones de enlace local se utilizan para la comunicación en el segmento de red local, las GUA son el equivalente IPv6 de las direcciones IPv4 públicas. Son globalmente únicas y enrutables en Internet.
Para este laboratorio, utilizaremos una dirección del bloque 2001:db8::/32, que está reservado específicamente para documentación y ejemplos. Esto asegura que no utilicemos accidentalmente una dirección de Internet real y en uso.
Añadiremos la GUA estática
2001:db8:acad::1/64a la interfazeth0. El/64indica la longitud del prefijo, que es estándar para la mayoría de las LAN. Necesitamossudoporque la modificación de las interfaces de red requiere privilegios administrativos.sudo ip -6 addr add 2001:db8:acad::1/64 dev eth0- Nota: Este cambio es temporal y se eliminará si reinicia el sistema. Para una configuración permanente en Ubuntu, normalmente editaría archivos en
/etc/netplan/, pero eso está fuera del alcance de este laboratorio.
- Nota: Este cambio es temporal y se eliminará si reinicia el sistema. Para una configuración permanente en Ubuntu, normalmente editaría archivos en
Ahora, verifique que la nueva GUA se ha asignado correctamente. Ejecute el comando
ip anuevamente para inspeccionar sus interfaces de red.ip aAhora debería ver la nueva dirección listada bajo la interfaz
eth0. Observe elscope global, que indica que es una dirección enrutable.1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 ... 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:16:3e:00:54:72 brd ff:ff:ff:ff:ff:ff altname enp0s5 altname ens5 inet 172.16.50.202/24 metric 100 brd 172.16.50.255 scope global dynamic eth0 valid_lft 1892159959sec preferred_lft 1892159959sec inet6 2001:db8:acad::1/64 scope global valid_lft forever preferred_lft forever inet6 fe80::216:3eff:fe00:5472/64 scope link valid_lft forever preferred_lft forever
Ha asignado correctamente una GUA IPv6 estática a su interfaz de red. En el siguiente paso, probaremos la conectividad a esta nueva dirección.
Probar Conectividad a Loopback y GUA con ping6
En este paso, utilizará la utilidad ping6 para probar la conectividad IPv6. Este comando es el equivalente IPv6 del familiar comando ping y es esencial para el diagnóstico de redes. Verificaremos que su pila IPv6 local está funcionando correctamente y que la Dirección Global Unicast (GUA) que configuró en el paso anterior responde.
Primero, probemos la pila IPv6 local haciendo ping a la dirección de loopback.
Haga ping a la dirección de loopback IPv6
::1. Utilizaremos la opción-c 3para enviar solo 3 paquetes en lugar de hacer ping indefinidamente.ping6 -c 3 ::1Una prueba exitosa mostrará que los paquetes se envían y reciben con un 0% de pérdida de paquetes, lo que confirma que su pila IPv6 local está operativa.
PING ::1(::1) 56 data bytes 64 bytes from ::1: icmp_seq=1 ttl=64 time=0.026 ms 64 bytes from ::1: icmp_seq=2 ttl=64 time=0.021 ms 64 bytes from ::1: icmp_seq=3 ttl=64 time=0.035 ms --- ::1 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2030ms rtt min/avg/max/mdev = 0.021/0.027/0.035/0.005 ms
A continuación, probemos la GUA que asignó manualmente a la interfaz eth0. Esto confirma que la interfaz está configurada correctamente y está escuchando en esa dirección.
Haga ping a la GUA
2001:db8:acad::1que añadió en el paso anterior.ping6 -c 3 2001:db8:acad::1Similar a la prueba de loopback, un resultado exitoso mostrará respuestas de la dirección, confirmando que está correctamente asignada y es accesible en el host.
PING 2001:db8:acad::1(2001:db8:acad::1) 56 data bytes 64 bytes from 2001:db8:acad::1: icmp_seq=1 ttl=64 time=0.028 ms 64 bytes from 2001:db8:acad::1: icmp_seq=2 ttl=64 time=0.037 ms 64 bytes from 2001:db8:acad::1: icmp_seq=3 ttl=64 time=0.038 ms --- 2001:db8:acad::1 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2034ms rtt min/avg/max/mdev = 0.028/0.034/0.038/0.004 ms
Ahora ha verificado con éxito la conectividad tanto a la dirección de loopback como a su Dirección Global Unicast configurada manualmente.
Probar Conectividad de Dirección Link-Local con ping6
En este paso, aprenderá cómo probar la conectividad a una dirección de enlace local. Como descubrió anteriormente, estas direcciones comienzan con fe80:: y solo son válidas en un único segmento de red (el "enlace"). Dado que no son globalmente únicas, debe proporcionar información adicional al comando ping6 para especificar qué interfaz de red se debe utilizar para enviar el ping. Esto se conoce como el "índice de zona" o "ID de alcance" (zone index o scope ID).
Primero, necesita encontrar nuevamente la dirección de enlace local de su interfaz eth0.
Ejecute el comando
ip ae identifique la direccióninet6que comienza confe80::para la interfazeth0.ip a show eth0La salida será similar a esta. Debe copiar la dirección (por ejemplo,
fe80::xxxx:xxff:fexx:xxxx).2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:16:3e:00:54:72 brd ff:ff:ff:ff:ff:ff altname enp0s5 altname ens5 inet 172.16.50.202/24 metric 100 brd 172.16.50.255 scope global dynamic eth0 valid_lft 1892159869sec preferred_lft 1892159869sec inet6 2001:db8:acad::1/64 scope global valid_lft forever preferred_lft forever inet6 fe80::216:3eff:fe00:5472/64 scope link valid_lft forever preferred_lft foreverAhora, haga ping a esta dirección de enlace local. Para especificar el índice de zona, añada
%seguido del nombre de la interfaz (eth0) a la dirección. ReemplaceYOUR_LINK_LOCAL_ADDRESScon la dirección real que acaba de encontrar.ping6 -c 3 YOUR_LINK_LOCAL_ADDRESS%eth0Por ejemplo, si su dirección fuera
fe80::216:3eff:fe00:5472, el comando sería:ping6 -c 3 fe80::216:3eff:fe00:5472%eth0Un ping exitoso confirma que la interfaz responde a su dirección de enlace local.
PING fe80::216:3eff:fe00:5472%eth0(fe80::216:3eff:fe00:5472%eth0) 56 data bytes 64 bytes from fe80::216:3eff:fe00:5472%eth0: icmp_seq=1 ttl=64 time=0.031 ms 64 bytes from fe80::216:3eff:fe00:5472%eth0: icmp_seq=2 ttl=64 time=0.030 ms 64 bytes from fe80::216:3eff:fe00:5472%eth0: icmp_seq=3 ttl=64 time=0.030 ms --- fe80::216:3eff:fe00:5472%eth0 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2028ms rtt min/avg/max/mdev = 0.030/0.030/0.031/0.000 msSi olvida la parte
%eth0, el comando fallará porque el sistema no sabrá qué interfaz usar para el destino de enlace local. Esta sintaxis especial es un concepto clave en el manejo de direcciones IPv6 de enlace local.
Resumen
En este laboratorio, aprendió a realizar tareas fundamentales de configuración y verificación de IPv6 en un sistema Linux utilizando el conjunto de comandos ip. Comenzó utilizando ip a para inspeccionar las interfaces de red, identificando con éxito la dirección IPv6 de loopback asignada automáticamente (::1) en la interfaz lo y la dirección de enlace local (precedida por fe80::) en la interfaz de red principal. Luego procedió a configurar manualmente una Dirección Global Unicast (GUA) estática en la interfaz principal utilizando el comando ip addr add.
Para validar la configuración, utilizó la utilidad ping6. Confirmó que la pila de red local estaba operativa haciendo ping a la dirección de loopback y verificó que la GUA estática estaba correctamente asignada y era accesible. Finalmente, aprendió el requisito específico para probar las direcciones de enlace local, que implica el uso de la sintaxis %interface con ping6 para especificar explícitamente el índice de zona (interfaz de salida), un paso necesario debido al alcance de "enlace" (link scope) de estas direcciones.



