¿Qué sucede exactamente con los paquetes escritos en un dispositivo TUN/TAP?

¿Qué sucede exactamente con los paquetes escritos en un dispositivo TUN/TAP?

Estoy intentando enviar paquetes a una aplicación que escucha en eth0 desde el espacio de usuario de la máquina como si vinieran de una máquina remota.

¿Para lo que parece que no puedo encontrar buena documentación es la forma exacta en que un dispositivo TUN/TAP interactúa con el resto de la pila de red? ¿Se reenvían los paquetes a eth0 si están destinados a un host remoto? ¿Los paquetes dirigidos al host local se reenviarán a la aplicación del espacio de usuario de forma predeterminada? ¿En qué etapas aparecen los paquetes en el kernel en relación con la pila de Netfilter?

El comportamiento no parece bien documentado (http://openvpn.net/archive/openvpn-users/2005-05/msg00224.html,https://www.kernel.org/doc/Documentation/networking/tuntap.txt)).

Respuesta1

El dispositivo tun tap aparece igual para el kernel en el sentido de que no puede distinguir si los datos provienen de un cable conectado a una interfaz ethernet o de una aplicación de usuario. Cuando se escriben datos, se reenvían a la aplicación del usuario en lugar de a un dispositivo de interfaz física, por ejemplo. eth0

La interfaz a la que se reenvía un paquete se basará en la tabla de enrutamiento habitual, que puede ver con ip routeo netstat -r. Esto también se aplicará a los paquetes dirigidos al host local.

Además, la interfaz TUN/TAP también se puede utilizar como interfaz para una ruta que aparece en la tabla de enrutamiento.

información relacionada