老脚本立大功:Ubuntu26.04丝滑部署VPP,实测性能竟比内核转发提升16%!

admin 2026-05-16 05:10:47 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文详细记录在Ubuntu26.04Desktop系统上使用FD.io官方仓库APT部署VPP的过程,通过配置af_packet接口、多队列绑定和巨型帧等优化,实测转发性能达到18.5Gbps峰值带宽,较内核转发提升16%。文章提供完整操作命令与配置示例,指出当前VPP版本为24.04兼容包,预期官方适配后性能可进一步提升。 综合评分: 78 文章分类: 安全工具,技术标准,解决方案,实战经验,其他


cover_image

老脚本立大功:Ubuntu 26.04丝滑部署VPP,实测性能竟比内核转发提升16 %!

原创

衡水铁头哥 衡水铁头哥

铁军哥

2026年5月11日 07:41 北京

在小说阅读器读本章

去阅读

我们前面测试了Ubuntu 26.04作为转发路由器的性能(Ubuntu 26.04 转发性能大考:Desktop居然干翻了Server?),最大峰值带宽来自于Desktop系统,为15.9 Gbps,最大平均带宽为15.4 Gbps。

紧接着,我们又测试了Ubuntu 26.04作为openVPN网关的性能(实测1.23 Gbps!Ubuntu 26.04下OpenVPN自动化部署与极限调优),最大峰值带宽同样来自于Desktop系统,为1.34 Gbps,最大平均带宽为1.32 Gbps。

既然Desktop系统性能这么强,我们后还测试了Desktop系统作为WireGuard网关的性能(1.47 Gbps跑满带宽!Ubuntu 26.04下WireGuard性能暴力实测,OpenVPN真的香不动了?),最大峰值带宽为983 Mbps,最大平均带宽为966 Mbps。对于传统的IPsec协议性能也不含糊,Desktop系统作为IPsec VPN网关时(老兵不死!在Ubuntu 26.04上,经典IPsec真的会被WireGuard彻底取代吗?),最大峰值带宽为458 Mbps,最大平均带宽为448 Mbps。

当然,欲望无止境,带宽不封顶,你可能觉得这点性能不够塞牙缝的,毕竟现在家里基本上已经普及1500 Mbps宽带,甚至有些家庭已经用上万兆网了,那转发性能势必要再往上提一提。

该怎么办呢?还记得我们前面刚刚测试的openEuler吗(VPP转发性能从10G暴增至24G?揭秘OpenEuler虚拟机的极限压榨术)?配置上VPP之后,转发性能直接从10 Gbps飙升到24 Gbps。既然如此,我们就捎带着试一下之前的老版本Ubuntu部署VPP的方法还能不能用(小白也能玩转VPP!Ubuntu 24.04使用APT极速部署VPP)。

我们使用最简单的通过FD.io官方仓库的安装方式。首先,下载并安装FD.io仓库密钥。

curl -s https://packagecloud.io/install/repositories/fdio/master/script.deb.sh | sudo bash

然后,我们就可以安装VPP核心组件了。

apt-get updateapt-get install -y vpp vpp-plugin-core vpp-plugin-dpdkapt list vpp vpp-plugin-core vpp-plugin-dpdk

接下来,我们修改VPP配置文件/etc/vpp/startup.conf,关闭dpdk,启用af_packet,并配置4个worker,目标承载10 Gbps流量。

cat&nbsp;<<&nbsp;'EOF'&nbsp;> /etc/vpp/startup.confunix {&nbsp; nodaemon&nbsp;&nbsp;log&nbsp;/var/log/vpp/vpp.log&nbsp; full-coredump&nbsp; cli-listen /run/vpp/cli.sock&nbsp; gid vpp}api-segment {&nbsp; gid vpp}socksvr {&nbsp; default}cpu {&nbsp; main-core 0&nbsp; workers 4&nbsp;}plugins {&nbsp; plugin dpdk_plugin.so {&nbsp;disable&nbsp;}&nbsp; plugin af_packet_plugin.so {&nbsp;enable&nbsp;}}EOF

确保日志目录存在,然后重启VPP服务。

mkdir&nbsp;-p /var/log/vppsystemctl restart vppsystemctl&nbsp;enable&nbsp;vpp

接下来,我们开启网卡的混杂模式,并将接口MTU调整为9000字节巨型帧。

ip&nbsp;link&nbsp;set&nbsp;ens192 promisc onip&nbsp;link&nbsp;set&nbsp;ens192 mtu 9000ip&nbsp;link&nbsp;set&nbsp;ens224 promisc onip&nbsp;link&nbsp;set&nbsp;ens224 mtu 9000

然后在VPP内建立带多队列的af_packet接口,开启4队列,启用接口并配置IP。

vppctl create host-interface&nbsp;name&nbsp;ens192&nbsp;num-rx-queues&nbsp;4&nbsp;num-tx-queues&nbsp;4vppctl create host-interface&nbsp;name&nbsp;ens224&nbsp;num-rx-queues&nbsp;4&nbsp;num-tx-queues&nbsp;4vppctl&nbsp;set&nbsp;interface&nbsp;state&nbsp;host-ens192&nbsp;upvppctl&nbsp;set&nbsp;interface&nbsp;ip&nbsp;address&nbsp;host-ens192&nbsp;10.0.1.1/24vppctl&nbsp;set&nbsp;interface&nbsp;state&nbsp;host-ens224&nbsp;upvppctl&nbsp;set&nbsp;interface&nbsp;ip&nbsp;address&nbsp;host-ens224&nbsp;10.0.2.1/24

然后,再VPP内部设置接口的MTU为9000字节巨型帧。同时配置RX队列核心绑定,将4个队列分别绑定给4个worker线程。

vppctl&nbsp;set&nbsp;interface&nbsp;mtu&nbsp;packet&nbsp;9000&nbsp;host-ens192vppctl&nbsp;set&nbsp;interface&nbsp;mtu&nbsp;packet&nbsp;9000&nbsp;host-ens224vppctl&nbsp;set&nbsp;interface&nbsp;rx-placement&nbsp;host-ens192&nbsp;queue&nbsp;0&nbsp;worker&nbsp;0vppctl&nbsp;set&nbsp;interface&nbsp;rx-placement&nbsp;host-ens192&nbsp;queue&nbsp;1&nbsp;worker&nbsp;1vppctl&nbsp;set&nbsp;interface&nbsp;rx-placement&nbsp;host-ens192&nbsp;queue&nbsp;2&nbsp;worker&nbsp;2vppctl&nbsp;set&nbsp;interface&nbsp;rx-placement&nbsp;host-ens192&nbsp;queue&nbsp;3&nbsp;worker&nbsp;3vppctl&nbsp;set&nbsp;interface&nbsp;rx-placement&nbsp;host-ens224&nbsp;queue&nbsp;0&nbsp;worker&nbsp;0vppctl&nbsp;set&nbsp;interface&nbsp;rx-placement&nbsp;host-ens224&nbsp;queue&nbsp;1&nbsp;worker&nbsp;1vppctl&nbsp;set&nbsp;interface&nbsp;rx-placement&nbsp;host-ens224&nbsp;queue&nbsp;2&nbsp;worker&nbsp;2vppctl&nbsp;set&nbsp;interface&nbsp;rx-placement&nbsp;host-ens224&nbsp;queue&nbsp;3&nbsp;worker&nbsp;3

然后,我们测试两台客户端的可达性。

网络正常,开始打流。

最大带宽12.5 Gbps,平均带宽11.7 Gbps,还算可以。不过,这还是动态省电模式下的性能,我们打开涡轮增压再试一下。

立竿见影,最大带宽来到了18.5 Gbps,平均带宽也达到了17.9 Gbps,相比于内核转发的15.9 Gbps和15.4 Gbps,提升幅度大概为16 %。虽然整体性能不及华为自研的国产系统openEuler(还得是华为,OpenEuler打流能到37 Gbps),但作为一款桌面系统,这表现足以让它在转发界傲视群雄了。

细心的读小伙伴可能会发现,虽然我们在测试Ubuntu 26.04,但apt list结果显示的VPP组件是noble (24.04)版本的包。这说明FD.io官方仓库目前尚未正式发布26.04的专属版本,目前正处于跨版本兼容阶段,如果后续正式适配,转发性能没准就能跟openEuler掰掰手腕了!

***推荐阅读***

我们的WireGuard管理系统支持手机电脑了!全平台终端配置,支持扫码连接,一键搞定

保姆级教程:一条命令部署OpenVPN管理系统V4版,支持Win/Mac/安卓/iOS全平台接入

成本省下99.7%!用40元的腾讯云服务器自建IPsecVPN,成功对接企业级飞塔防火墙

别再乱选VPN了!实测数据告诉你:为什么L2TP是个“坑”

SRv6部署第一坑:为什么配置了Locator却Ping不通?

嫌一键部署不过瘾?带你手搓Hermes智能体,主打一个通透

H3C CAS实战:CVM纳管CVK的相爱相杀,这波操作太秀了!

VPP转发性能从10G暴增至24G?揭秘OpenEuler虚拟机的极限压榨术

NVUE不支持OSPFv3?别慌!教你一招搞定SRv6地基

手机也能跑DeepSeek-R1/Qwen3了:零成本搭建AI推理平台

2048卡昇腾910C集群算力集群交付工程手册

2048卡H100算力中心100G无阻塞存储网建设方案


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:铁军哥 衡水铁头哥 衡水铁头哥《老脚本立大功:Ubuntu 26.04丝滑部署VPP,实测性能竟比内核转发提升16 %!》

评论:0   参与:  0