Marcio Cunha

TUN vs TAP: Cómo las VPNs y Máquinas Virtuales Crean Interfaces de Red

Descubre la diferencia práctica entre las interfaces de red virtual TUN y TAP. Entiende cómo herramientas como OpenVPN y QEMU usan capas de red para conectar ordenadores y máquinas virtuales.

Marcio Cunha12 min
También disponible en:EnglishPortuguês
Resumen
  • La interfaz TUN opera en la capa de red IP, procesando paquetes completos sin importar las direcciones MAC físicas.
  • La interfaz TAP opera en la capa de enlace Ethernet, manipulando tramas completas y permitiendo tráfico de protocolos heredados.
  • Los sistemas operativos tratan las tarjetas virtuales TUN y TAP exactamente igual que el hardware real, dirigiendo paquetes al espacio de usuario.
  • Las conexiones VPN seguras dependen principalmente del controlador TUN para encapsular paquetes IP dentro de túneles cifrados.
  • La creación de redes locales virtuales para máquinas virtuales exige el uso del controlador TAP para emular conmutación a nivel de enlace.

Qué son las interfaces de red virtuales en el sistema operativo

Cuando pensamos en redes de ordenadores, nuestra mente suele ir directo a cables de red enchufados detrás de la CPU, antenas Wi-Fi brillantes o routers parpadeando en la sala. Sin embargo, una gran parte del tráfico de datos actual pasa por cables y tarjetas que no existen físicamente. El sistema operativo moderno posee recursos en su núcleo para simular hardware de red mediante software. Estas tarjetas de red virtuales reciben paquetes de datos exactamente como lo haría un componente físico, pero entregan todo directamente a un programa que se ejecuta en el ordenador, en lugar de arrojar señales al cableado eléctrico.

Estos puertos de entrada y salida creados por software son fundamentales para tecnologías que usamos todos los días, como las redes privadas virtuales (las populares VPNs que garantizan seguridad al acceder a redes corporativas) y las máquinas virtuales (sistemas operativos enteros ejecutándose dentro de ventanas en tu ordenador). Para que estas herramientas logren interceptar, modificar y redirigir el tráfico de internet sin requerir adaptadores USB adicionales, el núcleo del sistema operativo ofrece dos tipos principales de controladores de túnel: TUN y TAP. Entender la diferencia entre ambos es el secreto para comprender cómo funciona la red moderna por debajo.

Entendiendo la interfaz TUN: paquetes de red en la capa IP

Para entender TUN, debemos recordar que los datos en internet viajan en capas, como cartas dentro de múltiples sobres. TUN (derivado de "tunnel" o túnel) opera en la llamada Capa 3 del modelo de red, conocida como capa de red o capa IP. En la práctica, esto significa que la interfaz TUN maneja únicamente paquetes que ya tienen una dirección IP de origen y de destino definidas. No sabe qué es una dirección MAC (el identificador físico de una tarjeta de red) y no entiende de cables Ethernet. Para TUN, el mundo se compone exclusivamente de paquetes IP puros y organizados.

Cuando un programa crea una interfaz TUN, el sistema operativo pasa a verla como si fuera una tarjeta de red común, con su propia dirección IP virtual. Cada paquete de datos que el sistema decide enviar a esta tarjeta no va al hardware físico real; en su lugar, es capturado por el programa que creó el TUN. Este programa suele cifrar el paquete y lo envía a través de internet real a otro ordenador. Cuando el paquete llega al destino, otro programa lo desempaqueta y lo inyecta en una interfaz TUN local. Así es exactamente como funcionan las VPNs basadas en enrutamiento, como WireGuard y OpenVPN en su modo estándar.

Entendiendo la interfaz TAP: emulación completa de Ethernet

Si TUN es minimalista y se centra solo en paquetes IP, TAP hace el camino opuesto y busca la máxima fidelidad física. El nombre TAP viene de "network tap", un punto de escucha en cables de red. En el contexto de sistemas operativos, el controlador TAP opera en la Capa 2 del modelo de red, también llamada capa de enlace o capa Ethernet. En la práctica, esto significa que TAP maneja tramas Ethernet completas, lo que incluye cabeceras MAC, direcciones de broadcast (mensajes enviados a toda la red local) y soporte para protocolos antiguos que ni siquiera usan IP.

Al crear una interfaz TAP, el software crea esencialmente una tarjeta de red virtual capaz de conectarse a un switch virtual. Esto permite que múltiples ordenadores o máquinas virtuales crean estar enchufados al mismo cable de red físico, incluso estando en continentes diferentes. Esta capacidad de simular una red local entera (LAN) hace que TAP sea indispensable para la virtualización de servidores y estaciones de trabajo, donde los sistemas conviven en puente de red e intercambian paquetes a nivel de hardware simulado.

Dónde entran las VPNs y las máquinas virtuales en esta historia

La elección entre usar TUN o TAP depende directamente de lo que estés intentando lograr. Si tu único objetivo es crear un túnel cifrado para navegar con seguridad en una red corporativa o enmascarar tu ubicación geográfica, TUN es la elección perfecta. Como trabaja solo con paquetes IP, el volumen de datos extra traficados es mínimo y el rendimiento es superior. Las herramientas modernas de VPN corporativa priorizan TUN precisamente por su eficiencia y por prescindir de la simulación innecesaria de direcciones MAC y protocolos de enlace que no agregan valor a conexiones punto a punto enfocadas en IP.

Por otro lado, si estás configurando un entorno de virtualización —como ejecutar una máquina virtual que necesita obtener una dirección IP vía DHCP del router de tu casa y aparecer en la lista de dispositivos conectados de tu red física—, TAP es obligatorio. Con TAP, la máquina virtual puede participar en conversaciones a nivel de enlace, respondiendo a peticiones ARP (el protocolo que traduce IPs a direcciones MAC) y comportándose exactamente como un ordenador físico autónomo conectado a tu switch doméstico o corporativo.

Comparativo práctico entre las arquitecturas TUN y TAP

Para visualizar de forma clara las divergencias operacionales y estructurales entre estas dos tecnologías fundamentales, podemos organizar sus características centrales en un comparativo directo. Este análisis ayuda a orientar la elección correcta al diseñar soluciones de infraestructura, túneles de comunicación segura o entornos de virtualización avanzados.

CriterioInterfaz TUNInterfaz TAP
Capa OSICapa 3 (Red / IP)Capa 2 (Enlace / Ethernet)
Unidad de TráficoPaquetes IP purosTramas Ethernet con MAC
Uso Típico PrincipalVPNs de enrutamiento (WireGuard, OpenVPN)Máquinas virtuales (QEMU, KVM) y Bridges
Soporte a BroadcastNo soporta nativamenteSoporta tráfico de broadcast y multicast
Sobrecarga de RedBaja, ideal para WANsMás alta, debido a cabeceras MAC

Implementando un túnel de red simple mediante código

Para demostrar cómo estas interfaces interactúan con el sistema operativo, podemos observar un fragmento conceptual en lenguaje Python que interactúa con el controlador TUN en Linux. El proceso implica abrir el archivo especial del sistema correspondiente al controlador, configurar la interfaz y leer los paquetes en bruto que el sistema operativo envía a la red virtual.

import os
import fcntl
import struct

# Constante del kernel para crear la interfaz TUN
TUNSETIFF = 0x400454ca
IFF_TUN = 0x0001
IFF_NO_PI = 0x1000

# Abre el descriptor de archivo del sistema para túneles
tun = os.open("/dev/net/tun", os.O_RDWR)

# Configura el nombre de la interfaz como tun0
ifr = struct.pack("16sH", b"tun0", IFF_TUN | IFF_NO_PI)
fcntl.ioctl(tun, TUNSETIFF, ifr)

print("Interfaz TUN 'tun0' creada con éxito. Esperando paquetes...")

while True:
    # Lee paquetes IP en bruto enviados por el sistema operativo
    packet = os.read(tun, 2048)
    print(f"Paquete IP interceptado con {len(packet)} bytes")

Este código ilustra la simplicidad conceptual detrás del túnel: el programa abre un archivo especial (/dev/net/tun) y pasa a leer y escribir bytes directamente en él. Cada byte leído es un paquete de red real que el sistema operativo intentó enviar a internet, pero que ahora está bajo el control total del desarrollador o de la aplicación de VPN.

Las interfaces TUN y TAP representan pilares invisibles pero indispensables de la infraestructura de redes y virtualización moderna. Sin ellas, el concepto de computación en la nube pública, el trabajo remoto seguro a través de VPNs corporativas y la ejecución aislada de múltiples sistemas operativos en la misma máquina física serian inviables. Comprender la diferencia entre la operación en la capa IP de TUN y la emulación Ethernet de TAP capacita a ingenieros, administradores de sistemas y entusiastas a arquietectar soluciones de red más eficientes, seguras y bien dimensionadas para cada escenario operacional.

Al elegir la herramienta correcta para el problema correcto —TUN para túneles IP ligeros y rápidos, o TAP para puentes de red completos en entornos virtualizados— evitamos cuellos de botella de rendimiento y simplificamos el mantenimiento de arquitecturas complejas. El dominio de estos conceptos fundamentales garantiza que la tecnología de virtualización trabaje a nuestro favor, manteniendo la conectividad rápida, flexible y blindada contra fallos estructurales.