DPDK安装部署

1、 DPDK下载

下载dpdk-stable-18.02.2.tar.gz并解压,进入解压后dpdk目录下。

2、 设置环境变量

export RTE_SDK=$PWD,export RTE_TARGET=x86_64-native-linuxapp-gcc。

建议在/etc/profile中设置,设置完后执行source /etc/profile永久生效。

可执行echo $RTE_SDK进行验证。

3、 设置大叶内存:

mkdir -p /mnt/huge

mount -t hugetlbfs nodev /mnt/huge

echo 1024 >

/sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages

4、 编译DPDK:

make config T=x86_64-native-linuxapp-gcc

make

make install T=x86_64-native-linuxapp-gcc

5、 安装kernel module:

modprobe uio

insmod build/kmod/igb_uio.ko

6、 绑定网卡:

系统建议设置三块网卡,两个给DPDK使用。

ifconfig ens33 down

ifconfig ens36 down

./usertools/dpdk-devbind.py

--bind=igb_uio ens33(或者0000:02:01.0)

./usertools/dpdk-devbind.py

--bind=igb_uio ens36(或者0000:02:04.0)

执行./usertools/dpdk-devbind.py

–s进行验证查看:

7、 测试验证

cd examples/helloword

rm –rf build/ (如果build文件夹存在)

make

./build/helloworld

出现以下内容则安装成功:

DPDK-Suricata3.0安装部署

1、 下载DPDK-Suricata_3.0并解压,解压后进入DPDK-Suricata_3.0-master/suricata-3.0/

2、 编译DPDK-Suricata_3.0:

autoconf

./configure –enable-dpdkintel

make –j 10

3、 配置设置:

配置文件suricata.yaml为DPDK-Suricata-3.0整体配置文件。

配置默认日志路径:default-log-dir: /usr/local/var/log/suricata/ (该设置在suricata.yaml中)

mkdir

/usr/local/etc/suricata/

cp ./classification.config /usr/local/etc/suricata/

cp ./reference.config /usr/local/etc/suricata/

cp ./suricata.yaml /usr/local/etc/suricata/

cp ./threshold.config /usr/local/etc/suricata/

mkdir /usr/local/var/log/suricata/

在suricata.yaml中配置dpdkintel,内容如下图:

4、 测试DPDK-Suricata-3.0是否安装成功:

执行命令./src/suricata –list-runmodes出现如下效果:

执行命令./src/suricata –list-dpdkintel-ports出现如下效果:

5、 自定义规则测试DPDK-Suricata-3.0检测引擎效果:

在/usr/local/etc/suricata/rules下创建test-baidu.rules文件,内容为:

alert http

any any -> any any (msg:"hit baidu.com...";

content:"baidu"; reference:url, www.baidu.com;)

安装流量发包工具(科来提供),抓取访问百度网站的pcap包文件,然后执行发包命

令:tcpreplay -i ens32 -l

0 -M 10 baidu.pcap

ens32为正常网口,区分ens33、ens36,baidu.pcap为抓取的百度流量包。

然后执行命令:./src/suricata -c

suricata.yaml -s /usr/local/etc/suricata/rules/test-baidu.rules –dpdkintel

在/usr/local/var/log/suricata目录下生成以下内容则检测引擎运行成功:

其中fast.log内容为生成的告警信息:

Scirius安装部署

1、 安装相关依赖:

安装python-pip,pypi.org上下载pip19.2.1.tar.gz解压安装。

切换到scirius目录:cd scirius,安装django和依赖项,执行:pip install –r

requirements.txt

如果出现:ERROR: requests 2.21.0 has requirement

urllib3<1.25,>=1.21.1, but you'll have urllib3 1.25.1 which is

incompatible

建议升级pip install

--upgrade urllib3

要使用处理suricata restart的suri

_reloader脚本,还需要安装pyinotify, 执行:pip

install  pyinotify

安装gitdb模块、GitPython模块 :pip install gitdb、pip install

gitpython==0.3.1-beta2

对于npm 和 webpack,需要安装稳定版本的npm和webpack 版:

yum

install npm

全局安装webpack 和webpack-cli:

npm

install  webpack@3.11  -g

npm

install  webpack-cli  -g

建议也局部安装一次:

npm

install webpack@3.11 --save-dev

npm

install webpack-cli --save-dev

更新依赖:

npm install

2、 安装scirius

切换到scirius/hunt 下执行:cd

scirius/hunt 、 npm  install 、npm run build

如果此时失败,提示为: "file":

"node_modules/patternfly/dist/sass/_patternfly.scss", 是出于路径问题,需要增加对应路径.在

hunt/package.json文件中,在字段"scripts"增加路径:

--include-path=node_modules/bootstrap-sass/assets/stylesheets/

--include-path=node_modules/font-awesome-sass/assets/stylesheets/

重新执行npm run build

3、运行scirius

Scirius根目录下,启动Django数据库:python manage.py migrate

创建超级用户:python

manage.py createsuperuser

启动应用之前,运行webpack构建bundle: webpack、python manage.py

collecstatic

启动Scirius CE:

python manage.py runserver

程序侦听可访问地址:python

manage.py runserver 192.168.88.131:8000

关闭防火墙,在浏览器中访问:192.168.88.131:8000出现Scirius界面:

Sources: 规则源模块,用于管理规则源的启动停用。

Rulesets:规则集模块,用于规则集及规则的各项管理。

Suricata:suricata模块,用与管理suricata与scirius联动。

4、suricata设置:

在suricata.yaml文件中配置:

所有的规则都合并在scirius.rules文件中。

5、后续应用安装:

后续要安装部署ElasticSearch、Kibana、Evebox用于告警信息的呈现管理。

相关配置:

scirius-master/scirius/settings.py文件

linux启动大叶机制,DPDK-Suricata应用部署相关推荐

  1. Linux启动跟windows启动,Windows,Linux启动机制简介

    前言 本文内容只集中在操作系统启动原理的讲解上,不涉及启动的技术细节,因为这些细节都可以通过网络或者相关代码了解.只有了解了启动原理,才能在分析和解决有关启动的问题时具有针对性,不会有无从下手的感觉. ...

  2. linux系统需要占多大的内存,linux启动过程Bootloader、kernel

    256M可以推1080P屏幕 128M可以基本运行并安装 256M可以勉强开启特效 512M流畅运行特效 当然内存越大越好,特效与显卡也有关系 和windows相比,当然linux对内存的需求小 Bo ...

  3. Linux 启动详解之init

    1.init初探 init是Linux系统操作中不可缺少的程序之一.init进程,它是一个由内核启动的用户级进程,然后由它来启动后面的任务,包括多用户环境,网络等. 内核会在过去曾使用过init的几个 ...

  4. 从无盘启动看 Linux 启动原理

    作者:bobyzhang,腾讯 IEG 运营开发工程师 0. 故事的开始 0.1 为什么和做什么 最近家里买了对音响,我需要一个数字播放器.一凡研究后我看上了 volumio(https://volu ...

  5. centos桌面系统怎么退回终端系统_【社群话题分享】Linux 各大发行版你怎么选?...

    每周三下午的话题活动是又拍云技术社群的优良传统- 大家一起来看看这周都聊了些啥吧- 看之前先公布一下上周参与活动获奖的同学吧! 上周获奖名单 优秀回答:Heart Pary 一等奖-又拍云定制雨伞:y ...

  6. linux启动参数怎么传给内核,如何启动内核(vivi与Linux kernel的参数传递情景分析)...

    vivi开发笔记(十七):vivi与Linux kernel的参数传递情景分析(上) 在上一部分提到过了,vivi作为bootloader,向内核传递启动参数是其本职工作之一.要把这个情景分析清楚,不 ...

  7. win+linux双系统实现efi共存(即通过linux启动界面切换系统)

    博客搬运自我的个人博客 chantAria的博客 精力有限,新博客我会同步到CSDN,但博客内容的更新只会出现在个人博客 欢迎大家来玩耍哦! 起因 事情要从很久很久以前提起,大概在1年前,对黑客充满好 ...

  8. 使用isolinux制作Linux启动光盘

    使用isolinux制作Linux启动光盘- 原理: 任何一个操作系统在任何一个硬件平台上的运行都需要一个引导的过程,即,初始化软件环境.把内核从存储介质放到内存当中去,并开始运行.当然对于某些简单软 ...

  9. centos7无盘启动_从无盘启动看Linux启动原理

    作者:bobyzhang,腾讯 IEG 运营开发工程师 0. 故事的开始 0.1 为什么和做什么 最近家里买了对音响,我需要一个数字播放器.一凡研究后我看上了volumio( 我打算让volumio运 ...

最新文章

  1. cogs luogu 珠心算测试【noip2014 普及组】
  2. docker进阶 一键安装wordpress
  3. 转:给自己TopCoder SRM的建议
  4. 【数据库学习】——windows、MySQL构建新闻管理系统(控制台版)
  5. Docker4Dev #6 使用 Windows Container 运行.net应用
  6. 全局曝光和卷帘曝光的区别
  7. UI标签库专题三:JEECG智能开发平台 FormValidation(表单提交及验证标签)
  8. android imageview 上蒙版,在iOS中为UIImageView的圆形蒙版设置动画
  9. 构件与构架,我的理解
  10. python有趣的代码-趣味至上主义:这5个有趣的Python库带你花式编码
  11. 云存储技术与云存储服务
  12. 6种展示代码的绝佳方式
  13. 银行保险机构信息科技外包风险管理办法学习笔记
  14. Edge浏览器出现兼容性问题且所有页面崩溃,包括设置均无法打开并访问的解决方法
  15. 管理运筹学的一些知识点
  16. LIN总线解析与UART模拟LIN从机实战
  17. 分页请求时,有新数据加入时,下一页会出现重复数据问题
  18. 组态王与西门子1200通信,读取温湿度数据
  19. Redis详细教程入门
  20. origin调整纵坐标刻度值_微教程:Origin怎样调整坐标轴刻度

热门文章

  1. 暴力枚举也不能没有底线(洛谷P1003题题解,Java语言描述)
  2. CMake 常用命令和变量
  3. spring boot 开源项目汇总
  4. 什么是业务运维,企业如何实现互联网+业务与IT的融合
  5. 设置调试PHP,debug php输出所有错误信息
  6. OSChina 周日乱弹 ——已经打码请放心观看
  7. windows CMD.exe下写路径太长的解决方案
  8. Exchange Server 2013 前提条件准备
  9. ubuntu下nagios监控远程主机
  10. IOS libxml/tree.h file not found 解决方案