ipv4 se parece a ipv6, lo que las damas se parecen al ajedrez
Ambos juegos se desarrollan sobre un tablero de 64 casillas, moviendo fichas y comiéndose las del adversario. Pero sus fundamentos, aunque similares, no son iguales y para que hablar de las reglas.
En la entrada anterior, comentaba los disparates primordiales que he ido viendo con respecto a ipv6. Aquí les dejo un básico sobre las reglas del juego con ipv6.
2001:db8:: NO ES UN RANGO USABLE
Realmente sí lo es, pero está reservado para documentación esto quiere decir que NO DEBE HABER UNA LAN CON ESTE RANGO.
¿Entonces la LAN y la pública?
En ipv6, las direcciones de la LAN, son parte de la pública. No existe una distinción real entre LAN o internet y sobre todo:
NO HAY NATEO!!!
Te delegarán un prefijo y tú tendrás suficientes ip como para asignarle un ip a cada partícula de polvo de tu oficina. Pero ojo:
esas ip serán visibles desde y hacia internet
Cada ip que delegues de tu prefijo, formará parte del ciberspacio. Visto de otra forma. Si asignas 2001:db8::aaa1 a una máquina en tu LAN, esa dirección será de facto, alcanzable desde internet (si tienes internet claro).
Para lidiar con esta situación, deberás tener bien claro el forward en tu router.
pero yo no tengo una ipv6 real
No estés tan seguro… Si tienes una ipv4 pública, tienes algo parecido. Más adelante veremos como hacer un túnel 6in4, así que el prefijo de dirección más apropiado para tu LAN lo calcularás así:
1
|
|
Nota para los imbéciles: ¿¿Notaste lo que dice tu.ipv4.publica.aqui??
Eso te devolverá algo como 2002:a00:1:: lo cual es prefijo 6in4 en base a la ipv4 pública de tu LAN. Ese será tu prefijo ipv6.
Otra cosa: NO SE PONEN IP CORRIDAS como por ejemplo 2002:a00:1::1 y 2002:a00:1::2 ya que una de las cosas que intenta evitar ipv6 es el escaneo de redes. Las ipv6 se calculan en base a la mac. Más tarde veremos como lo hace el protocolo SLAAC.
A mi en lo personal, me gusta ponerle al ruter “cafe” 2002:a00:1::cafe y un ejemplo mas creativo 2002:a00:1::caba110 (caballo) así cada servidor tendría un nombre: cafe, caba110, ada, ded0, dad0, 1ce, a5ado
Por cierto, los 0 a la izquierda, se descartan
2002:a00:1::0001 es la misma dirección que 2002:a00:1::1 y de echo, es mucho más largo, porque tiene una pila de 0 por medio, pero así se expresa de manera más corta. Incluso así puede hacer ping y cualquier referencia a la dirección que el stack ipv6 se encarga de comprimirla y descomprimirla, sepa usted.
Note que en a00 sí se ponen los ceros, porque NO están a la izquierda.
Entonces el Forward
El forward de un cortafuegos será lo que controla que será visible dentro de tu LAN. La puerta de enlace decide qué será visible o no. Más adelante veremos un firewall ipv6 lo más sencillo posible. Usaremos ip6tables.
¿y el dhcp?
Hay servidores dhcp para ipv6, pero el mecanismo bacán es SLAAC. Te adelanto que dnsmasq tiene SLAAC, pero el pro, es radvd
Una configuración de radvd típica se ve así:
1 2 3 4 5 6 7 8 9 10 |
|
Como vez, no especificas que rango de ip darás ni cosa parecida. El rango que darás, será del mismo prefijo que tiene en la interfaz eth1 (en este caso).
¿qué son las direcciones ff02 y fe80?
Son direcciones link-local. En ipv6, hay direcciones del tipo “multicast” cuyo destino serán todas las ip que estén dislocadas en la red. Esto no debe confundirse con anycast y vale aclarar que en ipv6 NO EXISTE broadcast.
1 2 3 4 |
|
Eso hará le hará ping a malanga y puesto de vianda que tengan un link-local en la red que tiene conectado el cable de eth0.
Sin embargo, al hacer ping a ff02::2 solo responderán aquellas ipv6 que sean routers. Eso es una manera de saber quien es un router o simplemente si hay alguno.
Las direcciones fe80:: son enlaces locales. Podría decirse que las direcciones fe80 son como decir “arp” pero se les puede hacer ping y otras boberías. O sea, es de palo tener direcciones fe80:: aparte de las globales.
¿y dnsmasq?
Ese es otro que bien baila y con cualquier música. Tiene un SLAAC implementado que es una maravilla. Al parámetro dhcp-range se le mandan unas clásulas especiales que hacen maravillas. La que más me gusta es ra-names que asigna una ip y un registro AAAA para máquina.
que bolá con bind?
Los registros del tipo AAAA resuelven punteros address para direcciones ipv6.
Sean:
- ns01 el nombre del servidor
- ns01 registro A con ip 192.168.0.1
- ns01 registro AAAA con ip 2001:db8::cafe
- proxy registro CNAME que apunta a ns01
Cuando preguntes por la ipv6 de proxy, resolverá 2001:db8::cafe, de esta manera, el sistema operativo preguntará simplemente por “proxy” y el DNS le resolverá ambas direcciones (4 y 6), la configuración de dichos stack, decidirá cual usar.
Esto en bind se escribe así:
1 2 3 4 5 6 |
|
Ejemplo vivo:
1 2 3 4 |
|
¿Qué aprendimos?
- 2001:db8:: es un rango reservado, no se usa
- ipv6 es complejo pero no complicado.
- hay un ip6tables aparte de iptables
- ipv6 NO necesita nateo
- que existen tecnologías transicionales como 6in4
- no es DHCP, si no RA y SLAAC
- no hay ARP, si no link-local
- los punteros AAAA funcionan igualito que los A