¿Se soluciona una desaceleración del 70% en la velocidad de transferencia a través de VPN en comparación con SSH? (Probado OpenVPN, IPSec/L2TP, OpenSSH, SoftEther)

¿Se soluciona una desaceleración del 70% en la velocidad de transferencia a través de VPN en comparación con SSH? (Probado OpenVPN, IPSec/L2TP, OpenSSH, SoftEther)

Actualmente estoy configurando una VPN de sitio a sitio entre dos VPS que requiere conexiones entrantes y salientes. Será utilizado por una aplicación de gran ancho de banda, por lo que necesito la máxima velocidad que pueda obtener a través de la conexión.

Usando iperf3, obtengo alrededor de 600 Mbit/s a través de la conexión de manera confiable, con un ping de ~30 ms.

A través de OpenSSH SCP, obtengo alrededor de 260 Mbit/s, con lo cual estoy contento dado el cifrado adicional.

He estado probando varios tipos de configuraciones de VPN, principalmente con OpenVPN. Probé cambios sndbuf/rcvbuf, sin cifrado, sin compresión, pero en general solo obtengo 20 Mbit con UDP, 40 Mbit con TLS en el puerto 443.

También configuré IPSec/L2TP, SoftEther (aunque solo obtuve 500 Kbit/s con eso) y el adaptador tun integrado OpenSSH. Ninguno de estos ha podido darme una velocidad iperf superior a 40 Mbit/s.

He estado observando de cerca el HDD y la CPU de cada nodo, y ninguno se ha saturado. Un servidor es significativamente menos potente, pero solo alcanza ~30% de uso de CPU durante la prueba.

Estoy un poco perdido. Necesito algo que pueda alcanzar velocidades superiores a 200 Mbit/s (lo cual sé con certeza que es posible) y solo necesita enrutarse de una interfaz virtual a otra. En teoría, para eso sirve SoftEther. ¿Debo seguir intentando arreglar SoftEther para obtener algún tipo de velocidad real?

¿Alguna sugerencia sobre más aspectos para probar/depurar/configurar para intentar poner en funcionamiento una interfaz de túnel sólida? ¿Existe otra pieza de software que ayude a enrutar las conexiones entrantes para que pueda usar un túnel similar a un proxy normal? ¡Gracias!

Respuesta1

Dado el enlace publicado en los comentarios, decidí echar otro vistazo a este artículo de openvpn: https://community.openvpn.net/openvpn/wiki/Gigabit_Networks_Linux

Pude alcanzar un promedio de ~150 Mbit/s usando un par de configuraciones de este artículo. Estos son los pasos que seguí para configurar mi OpenVPN para lograr esto.

Estos son los pasos que probé en orden:

  • Configuración predeterminada (con AES-128): 14,7 Mbit/s
  • Habilite mssfix 0, tun-mtu 6000, fragmento 0: 16,3 Mbit/s
  • Configuración de 'cifrado ninguno': 17,7 Mbit/s
  • Volver a AES-128, tun-mtu 9000: 22,0 Mbit/s
  • tun-mtu 18000: 27,2 Mbit/s
  • tun-mtu 36000: 37,2 Mbit/s
  • tun-mtu 60000: 44,9 Mbit/s
  • Configuración de 'cifrado BF-CBC' (no hay mucha diferencia): 44,0 Mbit/s
  • sndbuf 393216, rcvbuf 393216 en servidor y cliente: 67,1 Mbit/s
  • Aumento del tamaño de los buffers de recepción UDP de Linux: 102Mbps
  • iperf3 [...] -P 10 para habilitar 10 conexiones en paralelo: SUMA:135 Mbit/s - 170 Mbit/s

Aquí hay una salida final de iperf3:

64 bytes from 10.8.0.1: icmp_seq=1 ttl=64 time=37.2 ms

$ iperf3 -c 10.8.0.1 -p 5201
Connecting to host 10.8.0.1, port 5201
[  4] local 10.8.0.2 port 59230 connected to 10.8.0.1 port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec  10.3 MBytes  86.5 Mbits/sec    2    632 KBytes
[  4]   1.00-2.00   sec  12.0 MBytes   101 Mbits/sec    7    569 KBytes
[  4]   2.00-3.00   sec  11.4 MBytes  95.8 Mbits/sec    7    443 KBytes
[  4]   3.00-4.00   sec  10.9 MBytes  91.2 Mbits/sec    5    443 KBytes
[  4]   4.00-5.00   sec  11.7 MBytes  98.4 Mbits/sec    2    759 KBytes
[  4]   5.00-6.00   sec  13.0 MBytes   109 Mbits/sec    6    822 KBytes
[  4]   6.00-7.00   sec  13.5 MBytes   113 Mbits/sec    5    696 KBytes
[  4]   7.00-8.00   sec  13.9 MBytes   117 Mbits/sec    6    696 KBytes
[  4]   8.00-9.00   sec  11.8 MBytes  98.9 Mbits/sec    5    696 KBytes
[  4]   9.00-10.00  sec  12.5 MBytes   105 Mbits/sec    4    696 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec   121 MBytes   102 Mbits/sec   49             sender
[  4]   0.00-10.00  sec   120 MBytes   101 Mbits/sec                  receiver

En comparación con la conexión directa sin VPN:

$ iperf3 -c [...] -p 5201
Connecting to host [...], port 5201
[  4] local [...] port 52172 connected to [...] port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec  51.9 MBytes   435 Mbits/sec    0   3.03 MBytes
[  4]   1.00-2.00   sec  73.3 MBytes   615 Mbits/sec    0   3.03 MBytes
[  4]   2.00-3.00   sec  73.3 MBytes   615 Mbits/sec    0   3.03 MBytes
[  4]   3.00-4.00   sec  72.7 MBytes   610 Mbits/sec    0   3.03 MBytes
[  4]   4.00-5.00   sec  72.1 MBytes   605 Mbits/sec    0   3.03 MBytes
[  4]   5.00-6.00   sec  73.7 MBytes   619 Mbits/sec    0   3.03 MBytes
[  4]   6.00-7.00   sec  75.0 MBytes   629 Mbits/sec    0   3.03 MBytes
[  4]   7.00-8.00   sec  72.5 MBytes   608 Mbits/sec    0   3.03 MBytes
[  4]   8.00-9.00   sec  74.9 MBytes   628 Mbits/sec    0   3.03 MBytes
[  4]   9.00-10.00  sec  72.6 MBytes   609 Mbits/sec    0   3.03 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec   712 MBytes   597 Mbits/sec    0             sender
[  4]   0.00-10.00  sec   710 MBytes   596 Mbits/sec                  receiver

Que aprendí

  • Mi red se benefició significativamente del aumento de tun-mtu.
  • La congestión UDP es un gran problema. Aumentar el recvbuf de UDP de Linux mejoró significativamente el rendimiento de UDP. Los paquetes retransmitidos en iperf muestran que la congestión sigue siendo un problema.Se agradece cualquier sugerencia para mejorar.
  • Las conexiones paralelas iperf3 ayudaron a aumentar aún más la velocidad.
  • Los cifrados realmente no afectaron mucho el rendimiento mientras el núcleo de la CPU se mantuviera por debajo del 100%.
  • Es difícil configurar una VPN en Internet abierta que alcance velocidades de gigabit.
  • Esto sigue siendo 1/6 del rendimiento de la red simple.

información relacionada