虹科干货 | 如何使用nProbe Cento构建100 Gbit NetFlow 传感器

虹科网络安全2024-01-29 09:56:05

本文是一份全面的指南,解释了如何使用nProbe Cento构建一个高效的100 Gbit NetFlow传感器。旨在帮助大家充分利用NetFlow技术,以监控和分析高速网络流量。

当需要监控分布式网络,了解流经上行链路或关键网段的网络流量时,NetFlow等技术通常是最佳选择。

 

nProbe Pro/Enterprise和nProbe Cento是软件探针,可用于构建多功能传感器,以多种不同格式输出流量信息,包括NetFlow v5/v9/IPFIX、Kafka、Elasticsearch、ClickHouse、MySQL、CSV文件等。nProbe Pro/Enterprise专为低/中速率(1/10 Gbps)而设计,而 nProbe Cento则专为高速运行而设计(如今我们认为 100 Gbit 已是高速链路)。

 

通过将nProbe Cento与 ntopng相结合,可以为100 Gbit分布式网络构建一个完全成熟的网络监控解决方案,提供全面的可视性。

想要高速使用nProbe Cento的用户经常向我们提出的一个问题是:"我需要什么样的硬件才能处理100 Gbps的全速率?我们希望通过这篇文章提供一些硬件选择指南。

 

一、网络适配器

在高速运行n2disk时,必须使用像Napatech或Silicom/Fiberblaze这样能在分段模式下运行的FPGA适配器才能获得最佳转储性能,而nProbe Cento则不需要昂贵的适配器。

 

100 Gbit探头可以使用低于1千美元的ASIC适配器。这里必须支持的是对称RSS。RSS用于通过多个数据流将流量负载分散到多个CPU内核上,将物理接口分割成多个逻辑接口,根据数据包头计算的哈希函数分配流量。使用RSS进行扩展,并结合PF_RING ZC(零拷贝)驱动程序提供最大捕获性能,可确保在处理流量时在100 Gbit全速下不丢失数据包。

 

因此,建议在100 Gbit时与nProbe Cento结合使用的适配器包括

  • NVIDIA/Mellanox ConnectX 5/6
  • Intel E810

 

二、CPU

各种CPU有不同的频率、内核数量、缓存大小、缓存级别、指令集等。不过,根据我们的经验来讲,现代CPU(例如Xeon Gold 6346 3 Ghz或AMD EPYC 9124)的每个CPU内核通常能够处理超过10 Mpps(每秒百万数据包)。考虑到互联网数据包的平均大小,10 Gbit链路通常有13 Mpps。最坏的情况下,10 Gbit链路的数据包速度也可达14.88 Mpps。

 

这意味着,在最坏的情况下,要处理100 Gbps的速度,我们需要一个至少有16个内核、主频为3 Ghz的CPU。对于频率较高且高速缓存较大的CPU来说,较少的内核也足够了。

例如,如果我们要构建基于英特尔的系统,我们可以使用Xeon Gold 6326或6346或更高版本。如果要构建基于AMD的系统,我们可以使用AMD EPYC 9124或更高版本。

 

三、内存

实现最佳性能的内存配置主要取决于CPU本身:

模块数量:应与CPU支持的内存通道数量相匹配(请查看CPU的规格说明)

  • Intel Xeon Gold目前支持8个内存通道
  • AMD EPYC的大多数型号支持12个内存通道

速度:选择CPU支持的较高速度(请查看CPU规格说明)

容量:考虑到每个模块的最小容量(816GB),通常选择较小的可用容量即可(8x 8GB = 64GB)。

 

四、存储

许多朋友担心存储问题,但是其实在运行nProbe Cento时,存储空间其实并不重要,因为当使用NetFlow、ZMQ、Kafka或CSV以外的其他导出格式(实际上是写入本地磁盘)将数据导出到外部收集器时,并不会占用磁盘空间。这意味着一个小型磁盘,或一个RAID1双磁盘阵列(如果需要对系统磁盘进行数据恢复)就已足够。

 

五、软件配置

nProbe Cento的配置非常简单。向命令行(或配置文件)提供的实际选项可能会因工作模式和导出格式的不同而有所变化,但在捕获方面却非常简单。大家需要注意两个主要选项:接口配置(i)和CPU亲和性(processingcores)。

 

1、如果使用的是英特尔适配器,并且配置了带RSS的ZC驱动程序,那么只需指定RSS接口即可,如下所示:

cento -i zc:eth1@0 -i zc:eth1@1 -i zc:eth1@2 -i zc:eth1@3 ...

 

2、我们还可以使用快捷方式来实现这一功能,尤其是在运行16个以上RSS流时非常方便:

cento -i zc:eth1@[0-15]

 

3、如果你使用的瑟吉欧NVIDIA/Mellanox适配器,则可以使用类似的语法:

cento -i mlx:mlx5_0@[0-15]

此时,我们只需添加CPU亲和配置,以确保nProbe Cento通过为每个内核绑定一个线程来使用所有可用内核(提供最大的可扩展性和整体性能)。

cento -i mlx:mlx5_0@[0-15] --processing-cores 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15

现在,你只需添加控制导出格式的选项。

netflowcpu内核
本作品采用《CC 协议》,转载必须注明作者和本文链接
本文是一份全面的指南,解释了如何使用nProbe Cento构建一个高效的100 Gbit NetFlow传感器。旨在帮助大家充分利用NetFlow技术,以监控和分析高速网络流量。当需要监控分布式网络,了解流经上行链路或关键网段的网络流量时,NetFlow等技术通常是最佳选择。 nProbe Pro/Enterprise和nProbe Cento是软件探针,可用于构建多功能传感器,以多种
网络安全监控系统会产生大量的事件,SELKS为用户提供了一些基本的工具,用来对事件进行分类,过滤事件,或者发出报警。
2019年12月,根据安全社区提供的线索,我们发现了一起大规模的物联网安全事件。多方联合的分析与定位结果显示,此次事件中,黑客通过入侵某网络运营商的家庭用户设备并植入恶意程序,持续地使这些设备变成新的僵尸节点,进而构建起了一个超大规模的僵尸网络。根据所涉运营商和设备厂商的初步评估,被黑客入侵并控制的设备数量超过百万,其中96%以上的受害者分布在中国境内。这次攻击事件中受控的设备数量特别巨大,是历史
官方网站:http://www.cacti.net/2、Nagios这个网络监控工具也非常棒,可以用于随时检查和维护关键系统,以确保应用程序和服务的正常运行。Nagios是一个开源的网络监控软件,可以监控和报警服务器以及所有的应用程序。官方网站:http://www.paessler.com/prtg7、Easy net monitor这是一款非常轻量级的工具,无论是本地和远程托管都可以确保它的正常工作。Easy net monitor之所以受欢迎是因为我们毋须安装,只要下载就可以使用此免费服务。
如果你有网络领域的经验,或者你正在网络公司做网络管理员或技术支持,那么你一定听说过网络监控工具。网络管理员总
NetFlow是网络设备中标准化的功能,用于收集流量测量值并将其导出到另一个系统进行分析。对该流数据的分析通知网络管理器网络是如何执行的以及其他使用细节。尽管还有其他供应商协议,特别是J-Flow和sFlow,但NetFlow仍然是使用最广泛的基于流的监控协议。NetFlow是如何工作的NetFlow是路由器上的典型功能,然而,NetFlow监控需要三个组件才能向网络管理器提供可用信息。网络故障排除流导出器收集流缓存中的流数据,并定期将其导出到收集器。
根据美国国家安全局局长保罗·中曾根致怀登的一封信,该机构从国内外使用的电子设备购买了Netflow数据和信息。从斯诺登到阴暗市场:美国国家安全局不受控制的监视的悠久历史。
 应对当今的网络性能挑战势在必行。特别是当没有用于主动监控的特定工具时,根本原因分析的结果通常不完整。不审查与性能和可用性相关的指标的企业组织可能会损害其网络。 下面的场景提供了监控 IP 地址带宽使用情况的重要性,以及如何使用ManageEngine NetFlow Analyzer 有效解决带宽问题。 Mark的案例分享Mark 是一家拥有国际分支机构的知名 IT
虹科网络安全
定期更新技术干货/应用案例,让网络安全更简单。