top of page

Hablamos de VPN: interfaces TUN y TAP

  • jogofus
  • 17 nov 2024
  • 3 Min. de lectura

Ya he hablado en varias entradas anteriores acerca de las VPN y lo que estas nos ofrecen. Tener a nuestro alcance recursos de otra sede/cliente desde cualquier parte del mundo y, además, esté cifrada la comunicación es algo que facilita mucho la faena en el día a día de los usuarios y, no nos olvidemos, de los administradores de sistemas.


¿Cuántas veces hemos tenido que solucionar un problema en un CPD que está a 300km de nuestra oficina?


+Trabajar en remoto, vale. No has descubierto nada nuevo...

-Totalmente de acuerdo, pero no solo tiene esas ventajas.


A la hora de interconectar dos sedes tenemos distintos tipos de VPN y distintos algoritmos para ajustar el rendimiento según el hardware del que disponemos.


Pero hay casos y casos...



ree

Interfaces virtuales TUN

Cuando creamos una VPN (como por ejemplo con OpenVPN), tenemos dos opciones: crear una interfaz virtual tipo TUN o tipo TAP.


Las interfaces virtuales TUN son aquellas que operan en la capa 3 del modelo OSI. Este tipo de interfaces está orientado a conexiones point-to-point, es decir, que el terminador de la VPN es un router.

Al operar en capa 3, los paquetes IP son encapsulados por otro paquete IP que contiene la información del extremo donde se encuentra el router final.

De esta forma, la IP que se le ha asignado a la interfaz TUN se encapsula en otro paquete IP con la ip pública del otro extremo.


Para crear una interfaz virtual tipo TUN en linux podemos hacer uso del paquete iproute2 con los siguientes comandos:


 sudo ip tuntap add tun0 mode tun
 sudo ip link set tun0 up
 sudo ip addr add 10.100.20.1/24 dev tun0

ree

Interfaces virtuales TAP

Por el contrario, las interfaces virtuales TAP encapsulan todo el paquete ethernet bajo un nuevo paquete IP. Este tipo de interfaces operan en la capa 2 del modelo OSI, y se utiliza para conectar redes.


A simple vista se puede creer que no tienen diferencia ninguna. Ambas permiten la conexión entre un equipo situado en un extremo y otro situado al otro lado del tunel. Pero la interfaz TAP nos ofrece algo que no ofrece la interfaz TUN.


Al encapsular toda el paquete ethernet estamos extendiendo la capa 2 a través del túnel, lo que nos permite acceder a paquetes ARP, por ejemplo, u obtener una IP mediante un servidor DHCP.


Para crear una interfaz virtual tipo TAP en linux podemos hacer uso del paquete iproute2 con los siguientes comandos:

 sudo ip tuntap add tap0 mode tap
 sudo ip link set tap0 up
 sudo ip addr add 192.168.200.1/24 dev tap0

Algunos ejemplos de uso de interfaces TAP por VPN son ZeroTier, OpenVPN (el más conocido), SoftEther y TincVPN. Por el contrario, ya que su objetivo es simplificar la red y está enfocada en el rendimiento, tenemos Wireguard.


ree


Ventajas de usar TUN:

Como he dicho antes, opera en la capa 3. Al transportar solo paquetes IP sin cabeceras de la capa 2 (como direcciones MAC), se genera menos sobrecarga en la red.

Además, permite enrutar redes, por lo que se puede interconectar dos extremos con subredes IP diferentes.

Desventajas de usar TUN:

No nos permite enviar paquetes por broadcast o multicast (como DHCP o ARP).


Ventajas de usar TAP:

Al operar en capa 2 del modelo OSI transporta tramas ethernet completas, incluidas las cabeceras de la misma.

Esto nos permite acceder a comunicaciones broadcast/multicast como DHCP, ARP...


Además, nos permite hacer que un cliente se comporte como si estuviera en la misma red que el servidor.


Desventajas de usar TAP:

Como es obvio, la desventaja es que tiene mayor sobrecarga al encapsular toda la trama ethernet, además de una configuración ligeramente más compleja.




 
 
 

Comentarios


bottom of page