Me pregunto cómo hacer un túnel del tráfico tcp / ipv6 sobre el túnel ssh / ipv4 (conexión ptp). ¿Es posible? ¿Cómo puedo lograr eso?
Me pregunto cómo hacer un túnel del tráfico tcp / ipv6 sobre el túnel ssh / ipv4 (conexión ptp). ¿Es posible? ¿Cómo puedo lograr eso?
Respuestas:
Sí, es posible y no demasiado difícil, pero la solución es muy subóptima, ya que SSH se ejecuta a través de TCP y tiene una sobrecarga sensible.
El servidor debe tener en su archivo de configuración sshd_config
:
PermitTunnel point-to-point
Entonces, debes ser root en ambas máquinas. Te conectas al servidor usando:
ssh -w any root@server
Después de la conexión, use el comando ip link
en ambos sistemas para saber qué dispositivo tunN se creó en cada uno, y úselo en los siguientes comandos. Tenga en cuenta que estoy usando ejemplos de direcciones locales del sitio, que están obsoletas, pero está bien para esta introducción.
En el servidor:
server# ip link set tun0 up
server# ip addr add fec0:1::1/112 dev tun0
En el cliente:
client# ip link set tun0 up
client# ip addr add fec0:1::2/112 dev tun0
Esto es suficiente para que pueda hacer ping al otro lado a través del túnel, si no hay bloqueo de la regla de firewall. El siguiente paso es establecer rutas sobre el túnel (no olvide net.ipv6.conf.default.forwarding = 1), y luego ajuste el MTU de enlace para obtener un rendimiento óptimo.
server# sysctl net.ipv6.conf.all.forwarding=1
client# ip -6 route add default via fec0:1::1
Esto permitirá que su cliente haga ping a otras redes a las que el servidor tiene acceso, dado que los destinos tienen rutas de regreso a su cliente remoto.
También tendrá que arreglar el enlace MTU para que el cliente no envíe paquetes que el servidor no podrá transmitir. Esto depende de la MTU del enlace IPv6 del servidor en sí. No confíe en el descubrimiento de MTU de ruta ya que no funcionará correctamente en el túnel SSH. En caso de duda, comience con un valor de MTU bajo, como 1280 (MTU mínimo permitido para IPv6).
ip
comando, así que configure la dirección IP con sudo ifconfig tun0 inet6 fec0:1::2/112 up
y configure la ruta con sudo route add -inet6 -mtu 1280 default fec0:1::1