与 SSH 相比,修复 VPN 传输速度降低 70% 的问题吗?(已测试 OpenVPN、IPSec/L2TP、OpenSSH、SoftEther)

Gbp*_*bps 1 bandwidth vpn openvpn ipsec site-to-site-vpn

我目前正在两个需要传出和传入连接的 VPS 之间配置站点到站点 VPN。它将由高带宽应用程序使用,因此我需要通过连接获得的最大速度。

使用 iperf3,我可以通过约 30 毫秒的 ping 可靠地获得约 600Mbit/s 的连接速度。

通过 OpenSSH SCP,我得到了大约 260Mbit/s,考虑到额外的加密,我对此感到满意。

我一直在尝试各种 VPN 配置,主要是使用 OpenVPN。我尝试过更改sndbuf/rcvbuf,不加密,不压缩,但我仍然只能在端口443上通过UDP获得20Mbit,通过TLS获得40Mbit。

我还设置了 IPSec/L2TP、SoftEther(尽管我只得到了 500Kbit/s)和 OpenSSH 内置 tun 适配器。这些都无法为我提供超过 40Mbit/s 的 iperf 速度。

我一直密切关注每个节点的HDD和CPU,都没有饱和。一台服务器的功能明显较差,但在测试期间仅达到约 30% 的 CPU 使用率。

我有点不知所措。我需要一种能够达到 200Mbit/s 以上速度的东西(我确信这是可能的),并且只需要从一个虚拟接口路由到另一个虚拟接口。从理论上讲,这就是 SoftEther 的用途。我应该继续尝试修复 SoftEther 以获得任何实际速度吗?

对于测试/调试/配置的更多方面有什么建议,以尝试让可靠的隧道接口启动并运行吗?是否有另一款软件可以帮助路由传入连接,以便我可以使用普通的类似代理的隧道?谢谢!

Gbp*_*bps 5

鉴于评论中发布的链接,我决定再看一下这篇 openvpn 文章: https: //community.openvpn.net/openvpn/wiki/Gigabit_Networks_Linux

使用本文中的一些设置,我能够达到约 150Mbit/s 的平均速度。以下是我配置 OpenVPN 以实现此目的所采取的步骤。

这些是我按顺序尝试的步骤:

  • 默认设置(使用 AES-128):14.7Mbit/s
  • 启用 mssfix 0、tun-mtu 6000、片段 0:16.3Mbit/s
  • 设置“无密码”:17.7Mbit/s
  • 返回 AES-128,tun-mtu 9000:22.0Mbit/s
  • tun-mtu 18000:27.2Mbit/s
  • tun-mtu 36000:37.2Mbit/s
  • tun-mtu 60000:44.9Mbit/s
  • 设置“密码 BF-CBC”(差别不大):44.0Mbit/s
  • 服务器和客户端上的 sndbuf 393216、rcvbuf 393216:67.1Mbit/s
  • Linux UDP Recv 缓冲区大小增加:102Mbit/s
  • iperf3 [...] -P 10 启用 10 个并行连接:SUM:135Mbit/s - 170Mbit/s

这是最终的 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
Run Code Online (Sandbox Code Playgroud)

与非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
Run Code Online (Sandbox Code Playgroud)

我学到的是

  • 我的网络因 tun-mtu 的增加而受益匪浅。
  • UDP 拥塞是一个大问题。增加 Linux UDP recvbuf 显着提高了 UDP 性能。iperf 中重传的数据包表明拥塞仍然是一个问题。如有任何改进建议,我们将不胜感激。
  • 并行 iperf3 连接有助于进一步提高速度。
  • 只要 CPU 核心保持在 100% 以下,密码就不会真正影响性能。
  • 在开放互联网上配置达到千兆位速度的 VPN 很困难。
  • 这仍然是普通网络性能的 1/6。