模拟海量OpenVPN/IPSec终端进行VPN隧道容量测试

2014年7月19日,周六。我好像发现了Linux net namespace是如此的简单好用,以至于我觉得可以用它来做模拟多OpenVPN客户端以检测VPN最大隧道容量的方案。只可惜,当时只是一个预研,且我的工作重点也不在此,只有搁置。

今年3月底,跑了一趟北京,跟人聊起了VPN最大隧道数的测试方案,姑且以OpenVPN为例吧,其实IPSec也一样。我是多么想取点精华,谁知对方也
是同样的想法,相视无比尴尬...回到上海,我也一直在思考这个问题,遍布天地的找啊找。经过同事的提醒,原来方案一直都在手边,就是使用net
namespace,多么简单易行的方案啊,自己曾经做过的事情怎么自己都忘了,多么痛的领悟。
      
如果我用一台4核心i5处理器,插4G内存,那么我可以在一台机器上模拟将近1000个客户端,即建立1000个net
namespace。这样需要十几台机器,就可以模拟上万客户端了。如果硬件再高大上一点,所需的机器数量还会进一步降低。这个测试方案中,你可以认为是
我在一台机器上创建了1000个虚拟机,但虚拟机创建以及运行的代价却极低,远远低于真正的虚拟机,因为这1000个“虚拟机”仅仅虚拟了必须要虚拟的东
西,其它的部分共享。
       必须要虚拟的部分就是网络协议栈。
       而这正是net namespace的用武之地。我的总体测试拓扑如下:

具体的配置可以参见《OpenVPN多处理之-netns容器与iptables CLUSTER》,只需要将单独的net ns以及veth的创建过程封装成一个内置循环1000次的脚本即可。但是还是有另外两点要说的:

1.难点


点不在net
ns本身,而在IP地址的规划。既然模拟了10000个OpenVPN客户端,那么就相当于拥有10000台独立的主机,如何分配以及管理IP地址并不是
简单得放开16位掩码那么简单。我自己折腾了两个多小时才搞定这种看似简单至极,做起来却风生水起的繁琐事。

2.非要用veth虚拟网卡吗

只能说veth只是一种看起来比较直接的方式,Linux内核2.6.26以来,增加了很多别的选择,特别是3.19以后。在下一篇文章中,我会详细描述,现在只是敢说,使用veth虚拟网卡这种方式,配置太复杂,效率也不见得很高。

时间: 2024-10-13 07:08:53

模拟海量OpenVPN/IPSec终端进行VPN隧道容量测试的相关文章

VPN隧道协议PPTP、L2TP、OpenVPN、IPSec和SSLVPN介绍及区别

VPN (虚拟专用网)发展至今已经不在是一个单纯的经过加密的访问隧道了,它已经融合了访问控制.传输管理.加密.路由选择.可用性管理等多种功能,并在全球的 信息安全体系中发挥着重要的作用.也在网络上,有关各种VPN协议优缺点的比较是仁者见仁,智者见智,很多技术人员由于出于使用目的考虑,包括访问控制. 安全和用户简单易用,灵活扩展等各方面,权衡利弊,难以取舍:尤其在VOIP语音环境中,网络安全显得尤为重要,因此现在越来越多的网络电话和语音网关支 持VPN协议. 一.PPTP 点对点隧道协议 (PPT

通过使用OpenVPN来构建一个VPN

首先我们需要简单熟悉一下OpenVPN和VPN概念,方便我们在使用OpenVPN构建VPN时的操作~  VPN概述 VPN,即虚拟专用网络,其功能是:在公用网络上建立专用网络,进行加密通讯.在企业网络中有广泛应用.VPN网关通过对数据包的加密和数据包目标地址的转换实现远程访问.VPN有多种分类方式,主要是按协议进行分类.VPN可通过服务器.硬件.软件等多种方式实现. VPN属于远程访问技术,简单地说就是利用公用网络架设专用网络.例如某公司员工出差到外地,他想访问企业内网的服务器资源,这种访问就属

GNS3 配置IPSec Dynamic LAN-TO-LAN VPN

1.实验拓扑 2.基础网络配置 R1配置: service dhcp ip dhcp excluded-address 16.1.1.1 ip dhcp pool net16 network 16.1.1.0 255.255.255.0 default-router 16.1.1.1 nterface FastEthernet0/0 ip address 12.1.1.1 255.255.255.0 interface FastEthernet1/0 ip address 13.1.1.1 25

PTS模拟海量用户访问,助力懂球帝应对日增百万用户

摘要: 零门槛上手,可达千万TPS的施压能力,全球首家支持实时调速的能力,流量仿真能力全行业领先. 今年夏天刷遍各大社交网络的除了世界杯期间的黑马频出.英雄迟暮.老帅离别.新人辈出,还有那一张张让你禁不住转发的懂球帝海报,海报记录的是时刻,留下的是挥之不去的记忆. 懂球帝于2013年12月5日正式发布,目前已经成为全国最大的足球媒体和社区,是中国目前用户量最多最大,影响力最大的足球媒体.截止目前,懂球帝注册用户量接近 4000 万,借助在世界杯期间的成功营销,单日最高下载量突破百万,DAU(日活

基于cisco路由器做IPSec VPN隧道

实验要求:拓扑图如下所示,R1和R5作为internet中两端内部局域网,通过在网关设备R2和R4上设置IPsec VPN,使两端的局域网之间建立一种逻辑上的虚拟隧道. 实验步骤:首先配置所有理由器接口的IP地址(略),并指定默认路由(因为是末梢网络). R1上面的默认路由如下所示. R2上面的默认路由如下所示. ISP是运营商,在这里用来模拟外部网络,只需要配置IP地址就行. R4上面的默认路由如下所示. R5上面的默认路由如下所示. 此时配置完成两个局域网是不能够通信的.下面就需要分别在R2

【技术宅拯救世界】在Windows Server2012上利用OpenVPN搭建自己的VPN服务器

写在前面的话:前段时间利用VPN免流特别火,我本来打算买一个,但后来发现其实都是用的OpenVPN搭建的,正好我手上有一个腾讯的云服务器,我一想不如就自己搭建一个吧,省点钱,结果就这样浪费了两天的时间,最大的问题在于网上关于用windows server搭建的教程异常的少,大部分都是cent os并且是脚本搭建的,我看了好多,看得我一头雾水...总算在我折腾服务器两天之后建好了属于自己的第一个VPN服务器,但是免流那块,四川联通失败,浪费了我两天的时间,但是为了避免以后搭建再次搭建VPN时发生问

在Cisco路由器上完整实现OSPF跨网段下IPSec Tunnel模式VPN

拓扑图如下: 说明:ISP之间使用OSPF动态路由协议,R1和R3模拟边界路由,并启用PAT,PC1和PC2模拟内网主机. 要求:PC1和PC2能够使用私有IP加密互访,其他Internet流量使用常规PAT访问. 各设备配置如下: PC1: conf t int f0/0  ip add 192.168.0.1 255.255.255.0  no shut  exit no ip routing ip default-gateway 192.168.0.2 end wr PC2: conf t

通过GRE协议在路由器上配置VPN隧道

50篇博客了,还从未上过推荐博客,今天抽出这点时间发表一篇博客,也想对自己说一下,我全部都是写给自己的,省的以后忘记(好随时点开查看一下),也是对自己的一种锻炼.锻炼自己写文档的能力,写项目的能力.废话少续,继续实验! 实验要求:通过在R2网关路由器上配置GRE路由协议使得R1和R5能够建立一条隧道,并且正常通信. 这里配置的只是一条隧道而已,因为并没有加密.只是GRE协议. 下面是操作步骤:ISP运营商上面只需要配置两个IP地址而已,其他什么都不需要(过程略). R1上不仅要配IP地址,还要配

RouteOS与ASA ipsec vpn进行多段隧道配置

一.概述 教育网分支[RoutOS2]要访问处在其他运营商的公司总部[ASA]的内部资源,速度太慢,无法正常应用.通过在教育网中托管的一个多线路服务器来变相进行加速. 拓扑结构如下: ip地址规划: ASA[公司总部防火墙]:          outside : 182.48.112.130 内网 :       172.16.1.124 routeOS1[托管服务器] :    e1: 1.1.1.2 [BGP线路] e2: 2.2.100.3[教育网线路] routeOS2 [教育网路由器