Documentación > Ejemplos de uso > SIIT + EAM
EAM: Ejemplo de Uso
Índice
Introducción
Este documento explica cómo ejecutar Jool en modo EAM. Si desconoce sobre este tipo de traducción ingrese a SIIT-EAM .
Más que un “modo” es simplemente registrar direcciones de Mapeo Explícito en SIIT, que serán agregadas en la tabla EAM. Para más detalles vea EAMT.
Similar al SIIT Tradicional, solo necesita una instalación exitosa de ambos: del Módulo del Kernel y del Configurador para SIIT.
Red de ejemplo
Aquí también, son válidas y aplican las observaciones mencionadas de la sección Red de Ejemplo para SIIT. Resumiéndolas, tenemos que:
- Al menos necesitará tres nodos: A, V y T.
- Use el bloque de direcciones 198.51.100.8/29 para referenciar a sus nodos de IPv6 sobre IPv4.
- Jool requiere Linux, los otros Nodos no necesariamente.
- Para este tutorial, consideraremos que: a) todos están en Linux, b) la configuración de red se hará manualmente, c) todo el tráfico será redirigido por defecto hacia T.
Configuración de Nodos en IPv6
Para los nodos de A a E, ejecute la siguiente secuencia de comandos:
user@A:~# service network-manager stop
user@A:~# /sbin/ip link set eth0 up
user@A:~# # Replace "::8" dependiendo en que nodo estés.
user@A:~# /sbin/ip addr add 2001:db8:6::8/96 dev eth0
user@A:~# /sbin/ip route add default via 2001:db8:6::1
Configuración de Nodos en IPv4
Para los nodos de V a Z, ejecute la siguiente secuencia de comandos:
user@V:~# service network-manager stop
user@V:~# /sbin/ip link set eth0 up
user@V:~# # Replace ".16" dependiendo en que nodo estés.
user@V:~# /sbin/ip addr add 192.0.2.16/24 dev eth0
user@V:~# /sbin/ip route add default via 192.0.2.1
Configuración del Nodo Traductor
Para el Nodo T, ejecute la siguiente secuencia de comandos:
user@T:~# service network-manager stop
user@T:~#
user@T:~# /sbin/ip link set eth0 up
user@T:~# /sbin/ip addr add 2001:db8:6::1/96 dev eth0
user@T:~#
user@T:~# /sbin/ip link set eth1 up
user@T:~# /sbin/ip addr add 192.0.2.1/24 dev eth1
user@T:~#
user@T:~# sysctl -w net.ipv4.conf.all.forwarding=1
user@T:~# sysctl -w net.ipv6.conf.all.forwarding=1
user@T:~# ethtool --offload eth0 tso off
user@T:~# ethtool --offload eth0 ufo off
user@T:~# ethtool --offload eth0 gso off
user@T:~# ethtool --offload eth0 gro off
user@T:~# ethtool --offload eth0 lro off
user@T:~# ethtool --offload eth1 tso off
user@T:~# ethtool --offload eth1 ufo off
user@T:~# ethtool --offload eth1 gso off
user@T:~# ethtool --offload eth1 gro off
user@T:~# ethtool --offload eth1 lro off
Hasta aquí T no es un traductor todavía; pero, quizá quieras asegurarte de que T puede comunicarse con todos los nodos antes de continuar.
Jool
Recuerde, la sintaxis para insertar Jool SIIT en el kernel es:
user@T:~# modprobe jool_siit [pool6=<IPv6 prefix>] [blacklist=<IPv4 prefixes>] [pool6791=<IPv4 prefixes>] [disabled]
Para configurar nuestra red de ejemplo:
user@T:~# /sbin/modprobe jool_siit disabled
user@T:~# jool_siit --eamt --add 2001:db8:6::/120 198.51.100.0/24
user@T:~# jool_siit --eamt --add 2001:db8:4::/120 192.0.2.0/24
user@T:~# jool_siit --enable
A diferencia de pool6
, no es práctico insertar la tabla EAM completa en un solo comando, asi que instruya a Jool para que inicie deshabilitado. Luego inserte los registros de la tabla EAM, uno por uno, utilizando la Aplicación de Configuración. Cuando la tabla está completa, diga a Jool que puede empezar a traducir trafico mediante la opción de --enable
.
De hecho utilizar disabled
y --enable
no es necesario; Jool va a deducir naturalmente que no puede traducir tráfico hasta que la tabla EAM y/o pool6 sean llenados. La razón por la cual Jool fue “forzado” a permanecer deshabilitado hasta que la tabla estuviera completa fue para que no hubiera un periodo de tiempo donde el tráfico estuviera siendo traducido inconsistentemente debido a una tabla incompleta.
Y de nuevo, el prefijo IPv6 y la tabla EAM no son modos de operación exclusivos. Jool siempre va a tratar de traducir una dirección utilizando EAM, y si eso falla, retrocederá a utilizar el prefijo. Si desea esto, agrega pool6
durante el modprobe
.
Pruebas
Conectividad de IPv6 a IPv4
Realice un ping a V desde A:
user@A:~$ ping6 2001:db8:4::10 # Reminder: hex 10 = dec 16.
PING 2001:db8:4::10(2001:db8:4::10) 56 data bytes
64 bytes from 2001:db8:4::10: icmp_seq=1 ttl=63 time=2.95 ms
64 bytes from 2001:db8:4::10: icmp_seq=2 ttl=63 time=2.79 ms
64 bytes from 2001:db8:4::10: icmp_seq=3 ttl=63 time=4.13 ms
64 bytes from 2001:db8:4::10: icmp_seq=4 ttl=63 time=3.60 ms
^C
--- 2001:db8:4::10 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 2.790/3.370/4.131/0.533 ms
Conectividad de IPv4 a IPv6
Haga un ping a A desde V de esta forma:
user@V:~$ ping 198.51.100.8
PING 198.51.100.8 (198.51.100.8) 56(84) bytes of data.
64 bytes from 198.51.100.8: icmp_seq=1 ttl=63 time=5.04 ms
64 bytes from 198.51.100.8: icmp_seq=2 ttl=63 time=2.55 ms
64 bytes from 198.51.100.8: icmp_seq=3 ttl=63 time=1.93 ms
64 bytes from 198.51.100.8: icmp_seq=4 ttl=63 time=2.47 ms
^C
--- 198.51.100.8 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 1.930/3.001/5.042/1.204 ms
Conectividad a un Web Server en IPv4
Agrege un servidor en Y y acceselo desde D:
Conectividad a un Web Server en IPv6
Agrege un servidor en B y haga una solicitud desde X:
Si algo no funciona, consulte el FAQ.
Deteniendo Jool
Para detener Jool, emplea de nuevo el comando modprobe usando el parámetro -r
:
user@T:~# modprobe -r jool_siit
Lecturas adicionales
- Por favor, lea acerca de problemas con MTUs antes de seleccionar alguno.
- Si le interesa Stateful NAT64, dirigase al tercer ejemplo.