我们前面介绍了IPsec VPN使用不同加密算法时的转发性能是不一样的(使用vSRX测试一下IPsec VPN各加密算法的性能差异),那openVPN有没有这个问题呢?
首先,我们要确认openVPN协商过程中使用的算法信息。对于默认配置,连接过程中是不显示算法信息的。
此时,我们可以在配置文件中增加一行verb 4配置,用于输出协商过程信息。
之后,我们就可以看到协商过程中关于算法的协商过程,默认使用的加密算法是AES-256-GCM,默认使用的完整性校验算法是SHA256。当然,按照我们之前的经验,影响传输性能的主要是加密算法,完整性校验算法的影响很小。
接下来,我们看一下openVPN的版本和支持的完整性校验算法情况。
貌似主流算法都能支持,再看一下支持的加密算法。
当然,依旧很全面,但是这里面提到了密码块大小小于128位的算法不建议使用,反过来想,这些算法的性能一般会高一些。
接下来,我们先看一下两台主机直接打流的传输带宽。
最高带宽26.9 Gbps,平均带宽24.7 Gbps。
然后使用openVPN隧道打流看一下。
最高带宽498 Mbps,平均带宽455 Mbps。
观察主机资源占用情况,打流时openVPN跑慢了一核CPU,iperf也用了差不多70 %,所以CPU在两核以下的主机性能应该会更低,除非主频更高。
接下来,我尝试将完整性校验算法修改为160位的SHA1算法,但是没有生效,经过了解,发现是从openVPN的2.6版本开始,当使用AEAD(Authenticated Encryption with Associated Data,带有关联数据的认证加密)加密算法(如GCM)时,数据通道的完整性校验是由加密算法本身提供的,而不是单独的auth参数。
所以配置SHA1算法无法生效,要修改的话,会影响稳定性,我也不想再换到2.5版本,那就先不测完整性校验算法了,反正影响也不大,直接测试加密算法。
对比加密算法,我们发现分为三段:第一段是算法名称,决定基础加密逻辑,主要分为AES、ARIA和CAMELLIA三种;第二段是密钥长度,是平衡安全与性能的关键参数,主要有128、192、256三种;第三段是加密模式,影响数据处理流程和安全增强功能,分为CBC、CFB、CFB1、CFB8、GCM和OFB等。
我们先测试密钥长度的影响,先将加密算法切换为AES-192-GCM。
相比AES-256-GCM,性能有所下降,最高带宽451 Mbps,平均带宽346 Mbps。
然后,我们将加密算法切换为AES-128-GCM。
性能变化不大,最高带宽481 Mbps,平均带宽378 Mbps。
然后我们对比一下不同加密模式,先测试一下AES-128-CFB。
果然,使用AES-128-CFB加密算法时,完整性校验算法自动切换成了SHA1,最高带宽327 Mbps,平均带宽236 Mbps。
然后,我们测试一下AES-128-CFB1。
性能下降明显,最高带宽26.7 Mbps,平均带宽23.4 Mbps。
我们再测试一下AES-128-CFB8,最高带宽128 Mbps,平均带宽124 Mbps。
我们再测试一下AES-128-CBC,最高带宽247 Mbps,平均带宽203 Mbps。
最后是AES-128-OFB,最高带宽361 Mbps,平均带宽310 Mbps。
接下来,我们对比一下不同加密算法,分别测试CAMELLIA-128-CBC和ARIA-128-CBC,与AES-128-CBC进行对比。
使用CAMELLIA-128-CBC加密算法时,最高带宽257 Mbps,平均带宽222 Mbps。
使用ARIA-128-CBC加密算法时,最高带宽253 Mbps,平均带宽233 Mbps。
汇总一下测试结果:
这样看来,在加密模式上,排名貌似是GCM>OFB>CFB>>CBC>CFB8>CFB1;在加密算法上,排名貌似是ARIA>CAMELLIA>AES;在密钥长度上,暂时不好判断。貌似openVPN还帮我们默认选择了最适合的加密算法呢。但实际情况是这样吗?等我回头把这些算法都测试一下的。
***推荐阅读***
一道四年级数学题,DeepSeek-R1的32b以下模型全军覆没,视频为证!
哪怕用笔记本的4070显卡运行DeepSeek,都要比128核的CPU快得多!
帮你省20块!仅需2条命令即可通过Ollama本地部署DeepSeek-R1模型
离线文件分享了,快来抄作业,本地部署一个DeepSeek个人小助理
一个小游戏里的数学问题,难倒了所有的人工智能:ChatGPT、DeepSeek、豆包、通义千问、文心一言
openVPN的Linux客户端竟然比Windows客户端性能高5倍不止
没有图形界面,如何快速部署一个Ubuntu 24.10的Server虚拟机
北京到新加坡时延已经300+了,是WireGuard还是openVPN能力挽狂澜?
通过WireShark对比IPsec VPN不同配置方式和算法下的报文封装差异