Pregunta ¿Debo usar tap o tun para openvpn?


¿Cuáles son las diferencias entre usar dev tap y dev tun para openvpn? Sé que los diferentes modos no pueden interoperar. ¿Cuáles son las diferencias técnicas, aparte de la operación de capa 2 vs 3? ¿Existen diferentes características de rendimiento, o diferentes niveles de sobrecarga. Que modo es mejor. Qué funcionalidad está disponible exclusivamente en cada modo.


79
2018-06-06 15:12


origen


Por favor explique la diferencia? ¿Qué es Ethernet Bridging y por qué es malo? - Thomaschaaf


Respuestas:


si está bien crear vpn en la capa 3 (un salto más entre las subredes), vaya por tun.

Si necesita unir dos segmentos de Ethernet en dos ubicaciones diferentes, use tap. en dicha configuración, puede tener computadoras en la misma subred ip (por ejemplo, 10.0.0.0/24) en ambos extremos de vpn, y podrán 'hablar' entre sí directamente sin ningún cambio en sus tablas de enrutamiento. vpn actuará como conmutador ethernet. Esto puede sonar bien y es útil en algunos casos, pero le aconsejaría que no lo haga a menos que realmente lo necesite. Si elige dicha configuración de puente de capa 2, habrá un poco de 'basura' (es decir, paquetes de difusión) que se transmitirán a través de su vpn.

con el grifo tendrás un poco más de sobrecarga, además de los encabezados de IP también 38B o más La cantidad de encabezados de Ethernet se enviará a través del túnel (dependiendo del tipo de tráfico, posiblemente introducirá más fragmentación).


70
2018-06-06 15:34





Elegí "tap" cuando configuré una VPN para un amigo que era dueño de una pequeña empresa porque su oficina usa una maraña de máquinas Windows, impresoras comerciales y un servidor de archivos Samba. Algunos de ellos usan TCP / IP puro, algunos parecen usar solo NetBIOS (y, por lo tanto, necesitan paquetes de transmisión de Ethernet) para comunicarse, y algunos ni siquiera estoy seguro.

Si hubiera elegido "tun", probablemente habría enfrentado muchos servicios rotos, muchas cosas que funcionaron mientras estaba físicamente en la oficina, pero luego se rompería cuando saliera del sitio y su computadora portátil no pudiera "ver" Los dispositivos en la subred Ethernet ya no.

Pero al elegir "tap", le digo a la VPN que haga que las máquinas remotas se sientan exactamente como si estuvieran en la LAN, con paquetes Ethernet de difusión y protocolos Ethernet sin procesar disponibles para comunicarse con impresoras y servidores de archivos y para alimentar su pantalla de Network Neighborhood. Funciona muy bien, ¡y nunca recibo informes de cosas que no funcionan fuera del sitio!


22
2018-03-22 21:30





Siempre configuro tun. Tap es utilizado por ethernet bridging en OpenVPN e introduce un nivel de complejidad sin precedentes con el que simplemente no vale la pena molestarse. Por lo general, cuando se necesita instalar una VPN, se necesita ahora, y las implementaciones complejas no vienen rápido.

los Preguntas frecuentes sobre OpenVPN y el Cómo conectar Ethernet son excelente recursos sobre este tema.


14
2018-06-07 06:52



En mi experiencia, tun es más fácil de configurar pero no maneja tantas configuraciones de red, por lo que te encuentras con muchos más problemas de red extraños. En contraste, el toque es un poco más complicado de configurar, pero una vez que lo haces, por lo general, "simplemente funciona" para todos. - Cerin


Si planea conectar dispositivos móviles (iOS o Android) usando OpenVPN, entonces debería usar TUN como TAP actualmente no es compatible con OpenVPN en ellos:

Inconvenientes de TAP: ..... no se puede utilizar con dispositivos Android o iOS


7
2017-09-24 15:35



TAP es compatible con Android a través de una aplicación de terceros: OpenVPN Client (Desarrollador: colucci-web.it) - Boo


Comencé usando tun, pero cambié a tap porque no me gustaba el uso de una subred / 30 para cada PC (necesito para soportar Windows). Me pareció que era un desperdicio y confuso.

Luego descubrí la opción "subred de topología" en el servidor. Funciona con los 2.1 RC (no 2.0), pero me brinda todas las ventajas de tun (sin puente, rendimiento, enrutamiento, etc.) con la comodidad de una dirección IP (secuencial) por (máquina) de Windows.


5
2018-06-07 08:20





Mis "reglas de oro"
TUN: si SOLO necesita acceder a los recursos conectados directamente a la máquina del servidor OpenVPN en el otro extremo, y no hay problemas de Windows. Un poco de creatividad aquí puede ayudar, al hacer que los recursos "parezcan" locales al servidor OpenVPN. (Los ejemplos pueden ser una conexión CUPS a una impresora de red o un recurso compartido Samba en otra máquina instalada en el servidor OpenVPN).

TAP: si necesita acceder a múltiples recursos (máquinas, almacenamiento, impresoras, dispositivos) conectados a través de la red en el otro extremo. TAP también puede ser necesario para ciertas aplicaciones de Windows.


Ventajas:
TUN normalmente limita el acceso VPN a una sola máquina (dirección IP) y, por lo tanto, (probablemente) una mejor seguridad a través de una conectividad limitada a la red del lado lejano. La conexión TUN creará menos carga en el túnel VPN y, a su vez, la red del lado remoto, ya que solo el tráfico hacia / desde la dirección IP única cruzará la VPN hacia el otro lado. Las rutas IP a otras estaciones en la subred no están incluidas, por lo que el tráfico no se envía a través del túnel VPN y es posible que haya poca o más comunicación fuera del servidor OpenVPN.

TAP: normalmente permite que los paquetes fluyan libremente entre los puntos finales. Esto proporciona la flexibilidad de comunicación con otras estaciones en la red del lado lejano, incluidos algunos métodos utilizados por el software más antiguo de Microsoft. TAP tiene las exposiciones de seguridad inherentes a la concesión de acceso externo "detrás del firewall". Permitirá que más paquetes de tráfico fluyan a través del túnel VPN. Esto también abre la posibilidad de conflictos de direcciones entre los puntos finales.

Ahí son diferencias en la latencia debido a la capa de la pila, pero en la mayoría de los escenarios de usuarios finales, la velocidad de conexión de los puntos finales es probablemente una contribución más significativa a la latencia que la capa de pila particular de la transmisión. Si la latencia está en juego, podría ser una buena idea considerar otras alternativas. Los multiprocesadores actuales a nivel de GHz normalmente superan el cuello de botella de la transmisión a través de Internet.

"Mejor" y "Peor" no se pueden definir sin un contexto.
(Esta es la respuesta favorita del consultor, "Bueno, eso depende ...")
¿Es un Ferrari "mejor" que un camión volquete? Si estás tratando de ir rápido, puede ser; Pero si estás tratando de transportar cargas pesadas, probablemente no.

Deben definirse restricciones como "necesidad de acceso" y "requisitos de seguridad", así como definir restricciones como el rendimiento de la red y las limitaciones del equipo, antes de poder decidir si TUN o TAP se adaptan mejor a sus necesidades.


4
2018-02-22 21:15





Tuve la misma pregunta hace años e intenté explicarlo en términos sencillos (que personalmente encontré que carecían de otros recursos) en mi blog: Un Primer OpenVPN

Espero que ayude a alguien


3
2018-04-08 18:13



Si bien esto puede responder teóricamente a la pregunta, sería preferible para incluir las partes esenciales de la respuesta aquí, y proporcionar el enlace de referencia. - Mark Henderson♦
¡Buena publicación! Rara vez leo un post completo como este, pero este lo hice. Sin embargo, estoy de acuerdo con Mark Henderson, debes escribir un pequeño resumen y poner el enlace después. - Pierre-Luc Bertrand
El post fue excelente. ¡Gracias! - Compeek


La configuración de TAP no requiere casi ningún trabajo adicional por parte de la persona que lo configura.

Por supuesto, si sabes cómo configurar TUN pero no entiendes lo que estás haciendo y simplemente sigues un tutorial, estarás luchando para configurar TAP, pero no porque sea más difícil sino porque no sabes lo que estás haciendo. obra. Lo que fácilmente puede llevar a conflictos de red en un entorno TAP y luego parece que es más complicado.

el hecho es que, si no necesita un tutorial porque sabe lo que está haciendo, configurar el grifo lleva tanto tiempo como configurar el tun.

con el toque, hay muchas soluciones sobre la división en subredes, me encontré que la forma más fácil es usar una subred de clase B. sitio1 (Red1) usando 172.22.1.0/16 sitio2 (red2) utilizando 172.22.2.0/16 sitio3 utilizando 172.22.3.0/16 etc.

configura site1 con el servidor oVPN y le da a los clientes el rango de ip 172.22.254.2 - 172.22.254.255/16 para que pueda tener más de 200 clientes de ovpn (subredes) Cada subred puede tener más de 200 clientes en sí misma. Puede hacer un total de 40,000 clientes que puede manejar (duda oVPN puede manejar eso, pero como puede ver, la configuración adecuada de la división en subredes le dará más de lo que probablemente necesite)

utiliza un grifo y todos los clientes están juntos como en una gran red corporativa.

SI, sin embargo, cada sitio tiene su propio DHCP y debería tenerlo, debe asegurarse de utilizar ebtables o iptables o dnsmasq para bloquear la distribución de dhcp para que se vuelva loca. Sin embargo, ebtables ralentizará el rendimiento. El uso de dnsmasq dhcp-host = 20: a9: 9b: 22: 33: 44, ignorar, por ejemplo, será una tarea enorme para configurar en todos los servidores dhcp. Sin embargo, en el hardware moderno, el impacto de ebtables no es tan grande. solo 1 o 2%

la sobrecarga del grifo, aproximadamente 32 para el tun, tampoco es un problema (puede ser en redes no cifradas), pero en redes cifradas es generalmente el AES que causará la desaceleración.

En mi wrt3200acm, por ejemplo, sin cifrar obtengo 360Mbps. Al usar el cifrado, se reduce a 54-100Mbps dependiendo de qué tipo de cifrado elijo) pero openvpn no realiza cifrado en 1500 y un segundo cifrado en la sobrecarga de 32. En su lugar, hace un cifrado de 1 vez en 1500 + 32 overhead.

Entonces el impacto aquí es mínimo.

En el hardware más antiguo es posible que note más el impacto, pero en el hardware moderno es realmente mínimo.

El cifrado entre 2 máquinas virtuales con soporte AES me da mi ovpn con TAP a 120-150Mbps.

Algunos enrutadores dedicados de informes CON soporte de cifrado de hardware AES llegan a 400 Mbps! 3 veces más rápido que un i5-3570k (lo que en mi sistema de prueba no pudo alcanzar más de 150 Mbps al 100% de la utilización de 1 núcleo) Mi otro extremo: E3-1231 v3, entonces tenía aproximadamente un 7% de utilización de la CPU, se utilizó alrededor del 25% del núcleo openvpn que estaba utilizando. Así que el E3 muy probablemente podría aumentar la conexión de 3 a 4 veces.

así que tendrías algo entre 360Mbps y 600Mbps con una conexión entre E3-1231 v3 cpu haciendo cifrado AES265 cifrado, auth SHA256 y ta.key, certificados tls-cifrado También usé el más alto TLS-DHE-RSA-WITH-AES- 256-SHA256

Para señalar esto, con tap: wrt3200acm obtiene hasta 70-80mbps con cifrado. i5-3570k llega a 120-150 con cifrado. E3-1231 v3 obtiene al menos 360 Mbps con cifrado (esto se interpola a partir de mis hallazgos con los casos 1 y 2 porque no tenía 2 E3-1231 v3 para probar).

Estos son mis resultados basados ​​en ventanas a ventanas que copian entre 2 clientes en 2 subredes diferentes conectadas mediante openvpn TAP


2
2017-11-28 08:37





Porque me resulta difícil dar consejos simples:

Puedes usar TUN si solo usas la VPN para conectarte a Internet.

Necesitas usar TAP si quieres conectarte a red remota real (impresoras, escritorios remotos, etc.)


2
2018-04-06 23:07





Si entonces, ¿por qué, cuánto tienes? Utilizaría TAP, explícitamente por la razón de que la disposición en capas de los paquetes se produce con mucho menos latencia y pérdida de transmisión, lo cual se reduce con este método. Sin embargo, solo con la capa 3 esto afecta cualquier efecto aparente en la operación de la VPN, en particular el aspecto de la tunelización y las direcciones IP permitidas a través de direcciones asignables. El uso de UDP posiblemente introduce otra situación en la que tendría que decidir cuál es la mejor ruta a seguir para usted. Cada red es diferente y requiere un conjunto único de parámetros. Espero que esto ayude.


-1
2018-06-25 19:03



Bastante confuso. Por favor, considere limpiarlo, explicar las diferencias que importan y eliminarlas. - vonbrand