目前网上关于bro(zeek)+pf_ring zc的搭建流程的中文文章十分稀少。项目需要,历时两天,翻阅各种外文论坛/文档,多次排错,终于可以让bro在集群模式下调用pf_ring zc driver,并完美运行。

搭载环境:intel(r) xeon(r) cpu e5-2609 ,2物理cpu,8核心,16逻辑cpu,32g内存。

流程分为四部:pf_ring安装------licence注bro配置入与zc driver加载------bro安装--------bro配置。

一:pf_ring安装

下为pf_ring大致安装流程,需根据机子情况进行相应修改。本网卡为igb类型,故编译此网卡。

#下载pf_ring
1.git clone https://github.com/ntop/PF_RING.git

#编译PF_RING内核
2.cd PF_RING/kernel
3. ./configure && make && make install

#编译PF_RING专属高效驱动
4.cd ../drivers/intel/igb/igb-5.3.3.5-zc/src
5.cp /usr/include/linux/pf_ring.h .
6.make && make install
7.cd ~/PF_RING

#编译PF_RING工具、实例以及基于pf_ring的tcpdump
8.cd userland/lib
9.  ./configure && make && make install
10.cd ..
11. ./configure && make && make install
12. cd examples/tcpdump
13  ./configure && make && make install
14. cd ../tcpdump-4.9.2
15. ./configure && make && make install

二:licence注入与zc driver加载

zero copy(原dna)是需要购买licence才能使用的服务。所购pf_ring zc driver(1 Gbit PF_RING ZC Intel [Linux]),可以满足自己千兆网速的应用场景,大家可以根据需要购买相应产品。购买链接(https://shop.ntop.org/)。购买成功后依据邮件提示,完成licence注入,注入命令如下:

1.mkdir /etc/pf_ring

2.echo "序列号" >>/etc/pf_ring/"码"

zc driver的加载:切到对应网卡驱动下(3.cd ../drivers/intel/igb/igb-5.3.3.5-zc/src),使用4../load_driver.sh,卸载旧驱动,安装新驱动。

配置HUGEPAGES(参考文章https://blog.csdn.net/fan_hai_ping/article/details/40436883)

5.echo 512 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages

6.mount -t hugetlbfs nodev /mnt/huge

完成上述6步骤后使用如下方法可以验证是否 zc driver可以正常使用:

第一种:

cat /proc/net/pf_ring/dev/eth1/info | grep ZC

显示Polling Mode: NAPI/zc 就成功了

第二种:

使用pf_ring改造过的tcpdump抓包,类似./tcpdump -i zc:eno1 -vv,如正常抓包,证明加载成功

第三种:

cd ../pf_ring/package/usr/local/bin
./pf_ringcfg --list-interfaces 显示[Running ZC]证明成功。

三:bro安装(参考文章http://www.ntop.org/guides/pf_ring/thirdparty/bro.html)

1.安装依赖包apt-get install cmake make gcc gcc-c++ flex bison libpcap-devel openssl-devel python-devel swig zlib-devel(可能不全,依据自己情况安装)。

2.下载bro并解压 wget https://www.bro.org/downloads/release/bro-X.X.X.tar.gz tar xvzf bro-X.X.X.tar.gz。

3.很关键的一步,建立pf_ring和bro的链接,并编译安装。

cd bro-X.X.X

./configure --with-pcap=/usr/local/lib

make && sudo make install

验证ldd /usr/local/bro/bin/bro | grep pcap

显示 libpcap.so.1 => /usr/local/lib/libpcap.so.1 (0x00007fa371e33000)为安装并配置成功。

四:bro配置(参考文章https://www.zeek.org/documentation/load-balancing.html)

1. cd /usr/local/bro/etc

2.此目录下有三个配置文件,配置networks.cfg为配置监测的网段,重点为node.cfg的配置。下面为本服务器配置:

[logger]
type=logger
host=localhost

[manager]
type=manager
host=localhost
[proxy-1]
type=proxy
host=localhost
[worker-1]
type=worker
host=localhost
lb_method=pf_ring(包处理方法)
lb_procs=9(分配给bro集群的逻辑cpu数,不要超过服务器的逻辑cpu数)
pin_cpus=0,1,2,3,4,5,6,7,8(具体逻辑cpu的编号)
interface=zc:eno1(监测网卡)
3.命令ethtool -L eno1 combined 9,设置rss个数,与上面lb_procs数目相同。并用命令 ethtool --show-channels eno1验证配置是否生效。

以上,就完成了所有安装与配置,cd  /usr/local/bro/bin ,./broctl ,启动bro控制。help可以查看功能命令。首先deploy完成配置与启动,正常的话,bro就正常启动了。stop命令输入后,就可以在/usr/local/bro/logs文件中查看相应日志了。

要说的是zc对无zc的提升真的很大,查看logs下的capture_loss.log,丢包率从之前的30%左右到了不到1%,应该是流量越大效果越明显。

以上,共享。欢迎讨论指正。

记一次bro+pf_ring zc的搭建历程相关推荐

  1. 记一次在K8s集群搭建的MySQL主从无法正常启动之数据迁移恢复实践

    本章目录:记一次在K8s集群搭建的MySQL主从无法正常启动之数据迁移恢复实践 描述:在K8s集群中里利用bitnami提供的mysql:5.7.32-debian-10-r61镜像并利用helm进行 ...

  2. 记Hadoop HA高可用性分布式集群搭建过程

    为完成毕业设计中并行算法测试,在学习后,自己在虚拟机搭建了一个基于Hadoop的分布式集群,在这里做个记录,菜鸟首次写博客,已深夜,下面直接进入主题: 规划与说明 在hadoop集群中通常由两个Nam ...

  3. Node.js躬行记(18)——半吊子的可视化搭建系统

  4. 记一次思科模拟器小型网络搭建练习

    路由器 可以实现不同网络之间主机的通信 (若使用交换机实现不同网络之间的主机通讯,则数据包是以广播方式发出,一是没有数据安全性,二是大量广播包会消耗主机资源) 路由器在企业中的主要应用 网络互联:主要 ...

  5. 我的android studio开发环境搭建历程(一部辛酸史)

    android开发愈演愈烈,本人也想凑下热闹,首先要过的就是要搭建android开发环境这一关,本来我用eclipse挺顺的,不过参考网上的评论,感觉还是亲儿子好,所以决定切换到android stu ...

  6. 记一次巨KD的中考维护历程

    我所在的地区信息技术是要参加中考的,我负责考试机房系统的安装维护以及实验室机房的监控布置. 首先来说下监考,监考是使用AVCON会议软件,考试开始时进入特定会议即可.前期的准备工作是需要准备好网络和主 ...

  7. 基于CentOs7的moodle平台搭建历程

    当初接手这个事,还是比较头疼的,大二而已,从来没接触过服务器搭建,没接触过moodle,毫无头绪,只能一点点百度,无奈总是感觉没有一篇很完整的,于是在自己搭建完后的欣喜之余,空出时间写了这篇文章,若有 ...

  8. Hexo个人博客搭建历程

    环境配置 Github的创建和配置 安装Git 安装Node.js 安装Hexo Hexo主题设置 主题1:stun 安装 使用 更新 本地效果 主题优化 主题2:black-blue 安装 使用 更 ...

  9. 从0到1!斗鱼数据产品搭建历程

    在近日结束的"让业务用起来·观远数据2022智能决策峰会暨产品发布会"云上直播中,斗鱼运营中心PMO负责人熊星以"数据产品助力企业数智化"为题,分享了斗鱼目前数 ...

最新文章

  1. SAP从视图获得数据
  2. Android的服务(Service)(三)Service客户端的绑定与跨进程
  3. c++ builder xe2 (Embarcadero rad studio) 远程调试 同样适用于 delphi 远程调试 教程
  4. java - 方法的重载
  5. [Java] Welcome to Artifactory 使用说明
  6. FFmpeg 音视频处理总纲
  7. air flow空调上是什么意思_空调跳闸显cF什么意思
  8. Oracle密码过期问题 ORA-28001:the password has expired
  9. halcon 圆环类缺陷检测的一种方法(极坐标变换法)
  10. 前端学习(3348):数组方法的运用和数值
  11. 关于二分类的评价指标体系
  12. 大数据学习笔记01:大数据概述
  13. 一个网站大概多少钱_建一个外贸网站大概需要多少钱?角点科技总结建外贸网站的费用...
  14. 14010.xilinx-EMIO扩展SPI设备
  15. CPU指令执行及流水线(超标量、多发射、乱序执行)
  16. 搭建opensips进行简单的注册、呼叫
  17. JAVA数据库访问控制框架设计与使用
  18. 鸿蒙系统手机开机,华为手机鸿蒙系统 OS 2.0 开机界面演示
  19. 大数据和云计算到底是何关系?
  20. 简单的把cad怎么转换成pdf格式呢?

热门文章

  1. Java SE 学习记录——进阶版11
  2. win10任务栏透明_TrayS - 终极美化任务栏(透明、应用居中)
  3. java bean 序列化_JAVA bean为何要实现序列化
  4. mysql所选路径已经存在_「mysql第二次安装不了」mysql安装失败怎么清理干净?
  5. linux内核4.14.10查看网卡型号,Linux中查看硬件信息命令
  6. 风格迁移2020 —— 论文汇总——云盘分享
  7. 脑波和眼动连通性分析 python-(1)
  8. 前端面试题:Token一般是存放在哪里 Token放在cookie和放在localStorage、sessionStorage中有什么不同
  9. 相机、镜头以及线激光器选型总结
  10. pymol作图-氢键