Recientemente descubrí la existencia de interfaces Linux TUN / TAP y todavía estoy tratando de entenderlas. Creo que entiendo el concepto básico: se crean pseudodispositivos que emulan una interfaz de red y, en lugar de pasar datos al hardware, se pasan a un programa de espacio de usuario.
¿Cómo dirigirías un programa no relacionado para utilizar este túnel?
Por ejemplo, antes de que se cree el túnel, mi sistema solo contiene eth0 y lo, la interfaz ethernet normal (conectada a mi red local) y la interfaz loopback. Después de que un programa crea y configura un túnel, tengo una nueva interfaz gr0 a la que le di una dirección IP que está en mi red local, pero no está en uso (por lo que todos estamos en la misma subred). ¿Cómo haría que un programa no relacionado utilizara este 'túnel'? Digamos que tengo un mensaje simple de Python que pasa la aplicación cliente / servidor que utiliza una conexión TCP, ¿cómo podría configurarlo para usar el túnel?
Pido disculpas si me falta algo básico, pero como siempre he logrado confundirme en el esquema de las cosas. Nuevamente, todo lo que quiero es que un simple programa TCP utilice este túnel.
¡Gracias!
fuente