| Made possible by PowerDNS | ||
|---|---|---|
| Anterior | Capítulo 5. GRE y otros túneles | Siguiente |
Este tipo de túneles lleva disponible en Linux mucho tiempo. Precisa dos módulos del núcleo, ipip.o y new_tunnel.o
Digamos que tenemos tres redes: las redes internas A y B, y una red intermedia C (o Internet, por ejemplo). De manera que tenemos la red A:
network 10.0.1.0 netmask 255.255.255.0 router 10.0.1.1
El router tiene la dirección 172.16.17.18 en la red C.
y la red B:
network 10.0.2.0 netmask 255.255.255.0 router 10.0.2.1
Cuyo router tiene la dirección 172.19.20.21 en la red C.
Hasta donde le concierne a C, asumimos que pasará cualquier paquete que vaya de A a B y viceversa. Incluso puede usar Internet para esto.
Esto es lo que haremos:
Primero, asegurarnos de que los módulos están instalados:
insmod ipip.o insmod new_tunnel.o
Luego, en el router de la red A, hacemos lo siguiente:
ifconfig tunl0 10.0.1.1 pointopoint 172.19.20.21 route add -net 10.0.2.0 netmask 255.255.255.0 dev tunl0
Y en el de la red B:
ifconfig tunl0 10.0.2.1 pointopoint 172.16.17.18 route add -net 10.0.1.0 netmask 255.255.255.0 dev tunl0
Y si ha dejado de usar el túnel:
ifconfig tunl0 down
Listo, ya lo tiene. Sin embargo, no puede enviar tráfico de difusión (broadcast) o IPv6 mediante un túnel IP-sobre-IP. Simplemente puede conectar dos redes IPv4 que normalmente no podrían comunicarse entre ellas; eso es todo. En lo que respecta a la compatibilidad, este código lleva ahí mucho tiempo, de manera que es compatible hasta con los núcleos 1.3. Los túneles IP-sobre-IP de Linux no funcionan con otros sistemas operativos o routers, hasta donde yo sé. Es sencillo, y funciona. Uselo si lo necesita, en cualquier otro caso, use GRE.