环境:
  系统: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. Spring注解@Scope("prototype")

    spring 默认scope 是单例模式 这样只会创建一个Action对象 每次访问都是同一个Action对象,数据不安全 struts2 是要求 每次次访问 都对应不同的Action scope=& ...

  2. lamp字符编码的转换规则

    1.lamp字符编码的转换规则 lamp(Linux+Apache+Mysql+PHP) 1.1GB 2312 GB 2312 或 GB 2312-80 是中国国家标准简体中文字符集,全称<信息 ...

  3. HDU 3485【101】 51nod 1668【010】 joj 2171【111】动态规划

    有一个只含0和1的长度为n的串,问不含有101的所有串的个数. ——不存在连续的101.010.111的字符串数量 HDU:https://cn.vjudge.net/problem/HDU-3485 ...

  4. hh:mm:ss时间格式那些事儿

    怎么把hh:mm:ss.45 时间格式换算成秒? 比较简单点的格式,比如hh:mm:ss是比较容易的,但是怎么样把hh:mm:ss.45,这样的格式,就是秒不是整数的时间格式换算成秒? ans:将时间 ...

  5. class getResourceAsStream 和 classloader getResourceAsStream获取资源的不同

    工程目录结构: prj(工程根目录) cn json classloader GetResourceByClassAndClassLoader.Java beans.xml /** * */ pack ...

  6. Flask实战第58天:发布帖子功能完成

    发布帖子后台逻辑完成 首先给帖子设计个模型,编辑apps.models.py class PostModel(db.Model): __tablename__ = 'post' id = db.Col ...

  7. 静态call 动态call LINK

    COBOL的调用可以是静态调用(Static Call),这时,被调用的子程序必须与调用程序一起链接(link-edited)起来形成一个完整的装载模块(Load module),但子程序依然可以单独 ...

  8. 函数的扩展--ES6

    箭头函数 由于大括号被解释为代码块,所以如果箭头函数直接返回一个对象,必须在对象外面加上括号. var f = () => ({a:1}); f(); // 返回 {a: 1} 若写成: var ...

  9. [ARC057D]全域木

    题意:求有多少个边权为$1\cdots\frac{n(n-1)}2$的完全图的最小生成树的边权为$a_{1\cdots n-1}$ 啊啊啊我tm真的是什么都不会啊 考虑kruskal的过程:每次选取跨 ...

  10. python基础之文件操作,函数

    文件操作 +模式: r+t  w+t  a+t  r+b   w+b  a+b 可读可写,其他功能与人,r,w,a相同 f.seek(offset,whence) 文件指针移动    offest的单 ...