24 abril, 2025

Repasando IPv6 en una LAN

Por una necesidad particular tenia que establecer un LAN con IPv6, si ya se que es raro pero no se cuestiona la necesidad.


En este post no voy a abordar la típica explicación de que es IPv6, si no una aplicación práctica a una necesidad puntual. Se puede consultar esta infografia si necesitas un refresh desde cero

Tipo de Direcciones


En particular para mi fin, me interesan:

  • Direcciones Únicas Locales (ULAs)  fc00::/7
    Son direcciones Privadas, tienen similitudes con las direcciones Global Unicast pero sus mayores diferencias son el número con el que comienza y el proceso administrativo: no son registrados por una autoridad y pueden ser usados por varias organizaciones. 
    Se divide en dos bloques fc00::/8 (sin asignación todavía) y fd00::/8
  • Direcciones de Enlace Local  fe80::/10
    Estas direcciones no se usan para el flujo normal de paquetes que contienen datos para aplicaciones. Son usados por protocolos y enrutamiento. No me sirve para mi propósito

Claramente mis direcciones tienen que ser FD00::/8 ya que me voy a manejar localmente.


Necesito un Router?

En este caso no es necesarios, ya que no necesito que se rutee nada hacia afuera (Internet), es una comunicacion local


Opciones que me da el Router

/* Disclaimer: el lector puede saltear esta parte ya que no es parte de la configuración */

En particular disponía de un TP Link, para el cual no me interesaba exponer el direccionamiento hacia afuera, solo es interno. Pero me llamo la atención esta sección:


Descifrando que cuerno 🙎 es cada uno:

  • ND Proxy
    Proxy de Descubrimiento de Vecinos (Neighbor Discovery Proxy), en palabras simples, es como un equivalente a un ARP usando ICMP para descubrir a los vecinos.
  • DHCPv6
    Servidor de DHCP para IPv6 (este es facil), que infiero que debe ser Stateful DHCPv6 (que NO usa SLAAC). Similar a IPv4 no deja nada a la azar y le provee todo los datos al dispositivo (excepto el default gateway que se hace por medio de los mensajes RA). Como detalle de color, parece que Android no le gusta, pero no me importa porque en mi caso no lo necesito.
  • SLAAC+Stateless DHCP
    SLAAC (Stateless Address AutoConfiguration) es otra forma de proveer direccionamiento, cada dispositivo se autoaprovisiona una Interface ID (basada en su MAC) y sumando a un prefijo  (subnet, default gateway y prefix lifetime) por medio de RA (Router Advertisement) conforma su dirección IPv6. 
    DHCPv6 viene en 2 sabores: Stateless DHCPv6 (originalmente DHCPv6 Lite) que usa SLAAC, y Stateful DHCPv6 que no lo usa. En particular aca (stateless) no provee la dirección IP pero si el resto de las configuraciones.
    Debido a que está la MAC Adress expuesta, a nivel de seguridad (muy feo 😖) se puede hacer un seguimiento del dispositivo con esta configuración. Existe en el RFC una parte de seguridad pero parece que pocos la implementan.

  • SLAAC + RDNSS
    SLAAC (configuración automática de direcciones sin estado) ya explicado antes, junto con
    RDNSS (servidor DNS recursivo) integrando la config del DNS en los anuncios de RA


2 Default Gateway en un Dispositivo?

Efectivamente, ya que son stacks distintos, puedo tener un default gateway para IPv4 y otro distinto para IPv6. Aunque parece obvio ahora que lo escribo ya que ambos son notaciones totalmente distintas, pero acá apunta al pensamiento de verlos como dos dispositivos distintos. 


Tambien existen unas cosas como dispositivos de "conversión" que traduce entre IPv6 y IPv4 , como un NAT para traducir entre protocolos. Si, efectivamente me refiero a 6to4, Teredo, etc. Pero esto esta fuera del alcance de este post. 


Probando

En una terminal de PowerShell (me toca lidiar con Windows) se puede probar los siguientes comandos para ver su asignación IP

Get-NetAdapterBinding -ComponentID ms_tcpip6

Get-NetIPAddress -AddressFamily IPv6


Esto es en caso que quiera probar hacia afuera, no aplica a mi caso pero lo dejo para algún futuro:

http://test-ipv6.com/


FAIL


Una de las computadoras no obtenía dirección IPv6, esto se debe que  tiene desactivado el protocolo IPv6, como no dispongo de permisos por lo tanto fue un FAIL rotundo. 

Moraleja 1: revisar previamente que se soporte el protocolo en todos los dispositivos 🙆

Moraleja 2: siempre existe una excusa para repasar y aprender 😏


Recursos

  • https://ccnadesdecero.com/curso/tipos-de-direcciones-ipv6/
  • https://es.wikipedia.org/wiki/Neighbor_Discovery
  • https://hpc.mil/solution-areas/networking/ipv6-knowledge-base/infrastructure/dhcp-and-slaac-on-ipv6-networks
  • https://hpc.mil/images/hpcdocs/ipv6/2-end-station-addressing.pdf
  • https://thisbridgeistheroot.com/blog/navigating-ipv6-address-configuration-slaac-stateful-dhcpv6-and-stateless-dhcp
  • https://tolumichael.com/slaacstateless-dhcp-vs-slaacrdnss/
  • https://en.wikipedia.org/wiki/Unique_local_address
  • https://www.digitalcitizen.life/ipv6-tp-link/


0 comments:

Publicar un comentario