当前位置: 首页 > article >正文

如果把Linux主机作为路由器转发流量,性能可靠吗?

385ed7a717cc02ef4f4647820ab4db6e.gif

正文共:666 字 13 图,预估阅读时间:1 分钟

strongSwan是一个开源的基于IPsec的VPN解决方案,我计划是将strongSwan部署在CentOS系统中,但是这中间涉及到一个小问题,那就是strongSwan网关的子网怎么处理?

后来想到Linux系统能够开启转发功能,之前的服务器上云也是这么配置的成本增加了100块,内网服务器上公网解决方案2.0重磅来袭!,要不说Linux系统被厂商拿来二次开发作为网络设备使用呢。

命令也是非常简单,只要把系统的IP转发功能打开就行了,配置文件为/proc/sys/net/ipv4/ip_forward,默认值为0,表示设备不参与IP转发。

1b290c3e7931a0c874197cb455875444.png

我们先按照下图所示将两台Linux主机(4核CPU、4 GB内存)连接起来,用iperf3测一下转发性能。

76658eb25df95b82f753ab62d077f4b5.png

得到直连时转发带宽约为10.9 Gbps。

e58463d27914c9b70dd9f9199d335dab.png

然后在两台主机之间串接一台Linux主机(4核CPU、4 GB内存),如下如所示:

955c6ddd3ece84ceef75e11a9c67caf6.png

分别配置好接口地址和路由,测试Host1和Host2的互通情况。

359f17712ddd5dbe75d153087e2529c5.png

可以看到Host2主机上有去往Host1的路由,下一跳也是通的,但是无法到达Host1。

07b9996026531b6dd47f6164e22f3870.png

从Host1上测试访问Host2的结果也是一样的。此时我们打开主机Linux1的IP转发功能。

echo 1 > /proc/sys/net/ipv4/ip_forward

6f48c15e51ccda79757d52ddf2105786.png

再次测试状态就正常了。

此时用iperf3测试一下转发性能,Host2作为服务器端,打流一分钟。

c40834ae64a66f4cd4d60fedc094b455.png

性能大概是7.38 Gbps,还记得上次VSR的转发性能是6.5 Gbps左右(常用VPN性能对比测试(IPsec、L2TP VPN、SSL VPN、L2TP over IPsec等))。期间查看Linux1主机的性能消耗,发现CPU最大利用率为23 %,内存无明显增长。

然后服务器和客户端对调测试一下,打流一分钟。

dbb5e8b186aed6f1dd375dabaa16740e.png

性能大概是5.45 Gbps。期间查看Linux1主机的性能消耗,发现CPU最大利用率为1.3%,内存无明显增长。应该是Linux1主机偷懒了。

要测试strongSwan,就要再加一台主机,组网拓扑改成下图这样。

da475f3669aaaeb357ef1f31771960e8.png

配置完成之后测试Host1到Host2的连通性。

f306cc47ee1ce65ace6ec37e8c0d6be4.png

此时用iperf3测试一下转发性能,Host2作为服务器端,打流一分钟。

0cc4a8e2ecdc9cdfbf615fd024d0c1c7.png

性能大概是6.97 Gbps,相比单台Linux主机转发的7.38 Gbps性能仅下降5.5%。然后服务器和客户端对调测试一下,打流一分钟。

228fdad34389b4968248ded91341b3c1.png

得到转发性能大概是5.48Gbps,比只接一台Linux主机的5.45 Gbps甚至要高出一点点。整体而言,比两台VSR串接的2 Gbps要高出几倍了。

好了,环境保留,改天继续测试strongSwan。

d5cf5899be2b3da97088d88d82e6384b.gif

长按二维码
关注我们吧

797b3895725208689b6fb7c59be9f9fb.jpeg

b7354032c72f00c232c3a1b66c14ee9c.png

常用VPN性能对比测试(IPsec、L2TP VPN、SSL VPN、L2TP over IPsec等)

HCL中虚拟设备的转发性能怎么样?今天我们来测一下

如何在VirtualBox上装一台CentOS虚拟机

strongSwan之ipsec.conf配置手册

使用IKEv2配置IPsec,能更快吗?

一篇能解决90%以上SSL VPN问题的武林秘籍

对VNF进行测试时有哪些注意事项?


http://www.kler.cn/a/525245.html

相关文章:

  • 【Unity3D】实现2D角色/怪物死亡消散粒子效果
  • [STM32 - 野火] - - - 固件库学习笔记 - - -十三.高级定时器
  • 2025春招 SpringCloud 面试题汇总
  • 设计模式-建造者模式、原型模式
  • 团体程序设计天梯赛-练习集——L1-022 奇偶分家
  • olloama下载deepseek-r1大模型本地部署
  • DeepSeek API 的获取与对话示例
  • Ollama 运行从 ModelScope 下载的 GGUF 格式的模型
  • 【最后203篇系列】005 -QTV200 Online
  • 【llm对话系统】大模型源码分析之 LLaMA 模型的 Masked Attention
  • 春节主题c语言代码
  • 关于产品和技术架构的思索
  • LCR 139.训练计划 I
  • 使用Java提取Word文档表格数据
  • 论文阅读(十四):贝叶斯网络在全基因组DNA甲基化研究中的应用
  • java 正则表达式匹配Matcher 类
  • C# Dynamic关键字
  • 东方博宜25年1月-B组(才俊)- 农田作物
  • Kafka的内部通信协议
  • 什么是心跳
  • 怎么样控制API的访问速率,防止API被滥用?
  • 动态规划DP 最长上升子序列模型 最长上升子序列(题目分析+C++完整代码)
  • Android NDK
  • “AI视频智能分析系统:让每一帧视频都充满智慧
  • 寻找旋转数组中的最小元素:C语言实现与分析
  • SSM开发(七) MyBatis解决实体类(model)的字段名和数据库表的列名不一致方法总结(四种方法)