openVPN不同加密算法性能对比

我们前面介绍了IPsec VPN使用不同加密算法时的转发性能是不一样的(使用vSRX测试一下IPsec VPN各加密算法的性能差异),那openVPN有没有这个问题呢?

首先,我们要确认openVPN协商过程中使用的算法信息。对于默认配置,连接过程中是不显示算法信息的。

03fd6bd18d3fedfc951d5c83ccb30399.png

此时,我们可以在配置文件中增加一行verb 4配置,用于输出协商过程信息。    

f2a0f248d1bd40937e0f554d49e4af48.png

之后,我们就可以看到协商过程中关于算法的协商过程,默认使用的加密算法是AES-256-GCM,默认使用的完整性校验算法是SHA256。当然,按照我们之前的经验,影响传输性能的主要是加密算法,完整性校验算法的影响很小。

接下来,我们看一下openVPN的版本和支持的完整性校验算法情况。    

659524c76e3e00dc7ec89296670cbd75.png

貌似主流算法都能支持,再看一下支持的加密算法。    

093d3ea305becfd1ca8579ad65358f06.png    

当然,依旧很全面,但是这里面提到了密码块大小小于128位的算法不建议使用,反过来想,这些算法的性能一般会高一些。

接下来,我们先看一下两台主机直接打流的传输带宽。

4a99260979a6f1b0ef2721adee33a505.png

最高带宽26.9 Gbps,平均带宽24.7 Gbps。

然后使用openVPN隧道打流看一下。

dffaea4a3abbe6beb67eb57dc302c033.png

最高带宽498 Mbps,平均带宽455 Mbps。

观察主机资源占用情况,打流时openVPN跑慢了一核CPU,iperf也用了差不多70 %,所以CPU在两核以下的主机性能应该会更低,除非主频更高。    

032320ba3010e6df16105a0635ff4eca.png

接下来,我尝试将完整性校验算法修改为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。

b7316b7c0218eb00398ef7e604546913.png

相比AES-256-GCM,性能有所下降,最高带宽451 Mbps,平均带宽346 Mbps。

然后,我们将加密算法切换为AES-128-GCM。    

880eb80361c09a42909b66a85092c0bf.png

性能变化不大,最高带宽481 Mbps,平均带宽378 Mbps。

然后我们对比一下不同加密模式,先测试一下AES-128-CFB。    

f5846bdcc069ef09f694d380b7f9ac16.png

果然,使用AES-128-CFB加密算法时,完整性校验算法自动切换成了SHA1,最高带宽327 Mbps,平均带宽236 Mbps。

然后,我们测试一下AES-128-CFB1。    

92b5c7af52410305ccb06d77d4fec197.png

性能下降明显,最高带宽26.7 Mbps,平均带宽23.4 Mbps。

我们再测试一下AES-128-CFB8,最高带宽128 Mbps,平均带宽124 Mbps。    

cba0a8adbc220d9ac4d403aabf839400.png

我们再测试一下AES-128-CBC,最高带宽247 Mbps,平均带宽203 Mbps。    

2fdbe6752f46f30f52f3bb72b141725a.png

最后是AES-128-OFB,最高带宽361 Mbps,平均带宽310 Mbps。

582c07442e2b693499ab22608d6a47cf.png    

接下来,我们对比一下不同加密算法,分别测试CAMELLIA-128-CBC和ARIA-128-CBC,与AES-128-CBC进行对比。

使用CAMELLIA-128-CBC加密算法时,最高带宽257 Mbps,平均带宽222 Mbps。

35ce698228e5a614aa5e45044b6377ed.png

使用ARIA-128-CBC加密算法时,最高带宽253 Mbps,平均带宽233 Mbps。    

ea546e1e3828bed955d44af98bb8f58e.png

汇总一下测试结果:

d3578380a526ddb2a3fa4a1f02bcd199.png

这样看来,在加密模式上,排名貌似是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虚拟机

当你买了一台Linux云主机,应该如何测试主机性能?

Ubuntu安装、配置、操作、测评MySQL数据库全体验

Ubuntu磁盘空间不足或配置错误时,如何操作扩容?

北京到新加坡时延已经300+了,是WireGuard还是openVPN能力挽狂澜?

通过WireShark对比IPsec VPN不同配置方式和算法下的报文封装差异

使用vSRX测试一下IPsec VPN各加密算法的性能差异

538a32067c0a6e429d4389666258202e.jpeg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Danileaf_Guo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值