环境:
  系统:CentOS 6.8
  内核版本:4.4.43
  PF_RING版本:6.9.0

编译PF_RING需要内核源码,由于我的机器上只有4.4.43版本的modules和4.4.43的源码,并没有在该机器上编译这个版本的内核,没有编译的中间文件,尝试编译PF_RING失败了,所以我先编译了一下内核。

Step 1. 编译内核。也许别人并不需要这一步。
    我需要编译的原因是,我把编译内核的中间文件给删除了,也就是 /lib/module/x.x.xx 文件夹里 build 和 source 软连接指向的文件夹给删掉了,所以我要编译一遍内核,把这两个软连接指向我编译的目录。

Step 2. 安装软件包,在编译过程中提示有两个命令找不到 bison、lex,编译前需要先安装 bison flex。

yum -y install bison flex

  是的,安装的软件包是flex,不识别的命令是lex,不是我打错了。

Step 3. 卸载网卡驱动。这一步就比较谨慎了,别人说要先卸载网卡驱动,我不明白为什么这么做。卸载了网卡驱动,该机器的远程连接可能就会断了,我的机器上有两种网卡,e1000e和ixgbe,我需要编译的是ixgbe的驱动,机器接入局域网用的e1000e网卡,所以我远程卸载ixgbe驱动是没有问题的。假使要卸载的网卡驱动是正在使用的,就要去机器边上操作了。卸载libpcap。rpm -qa | grep libpcap查看安装版本, 然后执行rpm -e libpcapXXX卸载。

#查看安装版本
rpm -qa | grep libpcap
#卸载
rpm -e libpcapXXX

Step 4. 编译、安装pf_ring。进入到PF_RING_DEV/kernel/文件夹下,执行 make编译, make install 安装 pf_ring驱动和头文件。这一步就可以获得 pf_ring.ko 了。

Step 5. 进入 userland/lib,把这个文件里和上个文件夹里的 configure 赋予可执行权限 chmod +x configure,执行 ./configure,make,这个时候就可以获得libpfring.a和libpfring.so文件了。

Step 6. 编译pcap库。进入userland/libpcap,赋予configure可执行权限,执行./configure , make,获得了libpcap.so,so文件后面可能会跟上版本号。

Step 7. 编译网卡驱动。我需要的ixgbe网卡驱动,进入drivers/intel/ixgbe/ixgbe-5.0.4/src,执行make,获得了ixgbe.ko文件。

到这一步,需要的文件差不多都有了,有几步中我只执行了make,并没有执行make install,是想把这些文件拿走放到自己的文件夹中使用。

drivers/intex/igb/igb-xxxx/src 这个文件夹中有 load_driver.sh 脚本文件,修改这个脚本文件中的路径和网卡类型名就可以使用了(执行这个脚本前还要在/mnt 路径下创建一个文件夹huge,不然挂不上大页)。

CentOS6.8 4.4.43内核 安装PF_RING的更多相关文章

  1. 【转】CentOS安装PF_RING(虚拟机)

    1.       概述 PF_RING是Luca Deri发明的提高内核处理数据包效率,并兼顾应用程序的补丁,如Libpcap和TCPDUMP等,以及一些辅助性程序(如ntop查看并分析网络流量等). ...

  2. centos6.5源码升级内核

    centos6.5源码升级内核 升级前 系统版本:  CentOS5.5 内核版本:  2.6.18-194.el5 升级前做过简单配置文件修改 yum -y upgrade    升级后 系统版本: ...

  3. centos6.5环境源码编译安装mysql5.6.34

    centos6.5环境源码编译安装mysql5.6.34 源码下载地址http://dev.mysql.com/downloads/mysql/5.6.html#downloads 选择Generic ...

  4. centos vmware centos6.6 64位 kvm虚拟化安装配置 第四十二节课

    centos vmware centos6.6 64位 kvm虚拟化安装配置     第四十二节课 上半节课 下半节课 f

  5. centos6.5环境通过rpm包安装mysql5.5.51数据库

    centos6.5环境通过rpm包安装mysql5.5.51数据库 注意:此方法适用于单独安装数据库的需求,如果在该机器上还需要安装php环境,建议mysql通过编译或yum方式安装 1.查找已经安装 ...

  6. Firefox 43无法安装xpi的问题

    Firefox 43无法安装xpi的问题 说明:Firefox 42将默认禁止安装未签名扩展   强制禁用这个首选项(高级用户): 你可以在 Firefox 配置编辑页面 (about:config ...

  7. CentOS6.5菜鸟之旅:安装Realtek无线网卡驱动

    一.前言 CentOS6.5不像CentOS7和Unbuntu那样自动安装好了无线网卡驱动,因此需要我们折腾一下. 二.安装前的准备工作   [a] 检查无线网卡驱动的安装情况(通过查看网络接口的安装 ...

  8. Linux中CentOS6.5 64位 系统下安装docker步骤

    CentOS6.5 64位    (docker目前仅支持64位)内核必须在3.10及以上 1. uname -r  查看内核版本 2. 升级内核到3.10版本(带aufs模块)    cd /etc ...

  9. Centos6.5下Oracle 11g R2安装过程

    1准备 CentOS-6.5-x86_64-bin-DVD1 linux_11gR2_database_1of2 linux_11gR2_database_2of2 VMware Workstatio ...

随机推荐

  1. Linux下如何查看文档的内容

    查看文档内容的命令有:cat tac head nl tail more less odcat命令显示文档的全部内容,当文档较大的时候只显示最后的部分,所以cat命令适合查看内容较少的文档.可加选项- ...

  2. 【转载】WebService到底是什么?

    http://blog.csdn.net/wooshn/article/details/8069087/ 一.序言 大家或多或少都听过WebService(Web服务),有一段时间很多计算机期刊.书籍 ...

  3. linux在命令执行过程中ctrl +z 后[1]+ Stopped

    进程挂起 stopped 代表有进程挂起 [1]是id号 可以通过Linux命令:jobs 查看挂起进程 fg 1 把任务1放到前台 bg 1 把任务1放到后台

  4. 【ASP.NET MVC】提高页面加载速度:脚本优化

    在这里我们说一下脚本优化的三个方法: 一.在我们做Web开发的时候,当我们引用Js文件的时候,我们一般会将js文件放在文档的head标签中,这时当页面加载的时候,浏览器会按着由上到下的顺序,当浏览器遇 ...

  5. python 理解高阶函数

    高阶函数 高阶函数英文叫Higher-order function.什么是高阶函数? 变量可以指向函数 以Python内置的求绝对值的函数abs()为例,调用abs(): >>> a ...

  6. webpack2 热加载js 文件

    如果只要普通的热加载 只要如下配置就好了 package.json { "devDependencies": { "webpack": "^2.6.1 ...

  7. 对Webservice的理解

    eb   Service使用的是   SOAP   (Simple   Object   Access   Protocol)协议 soap协议只是用来封装消息用的.封装后的消息你可以通过各种已有的协 ...

  8. css总结——position

    CSS(Cascading Style Sheet),中文翻译为层叠样式表,是用于控制网页样式并允许将样式信息与网页内容分离的一种标记性语言.在css控制页面中,主要有四种样式:行内样式(style ...

  9. [USACO 2018 Open Gold] Tutorial

    Link: 传送门 A: 对于每一条分割线,设本不应在其左侧的个数为$x$ 重点要发现每次一来一回的操作恰好会将一对分别应在左/右侧的一个数从右/左移过去 这样就转直接用树状数组求出最大的$x$即可 ...

  10. Codeforces 850B

    题意: 给出一个序列,两种操作: 1.删除一个数,代价为x 2.给一个数+1,代价为y 求最小代价,使这个序列不为空,且所有的数的gcd>1 n<=5e5,a[i]<=1e6 其实思 ...