环境:
  系统: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. html5 -audio-移动端如何自动播放

    最近在做一些活动类页面或者类似于易企秀类型的轻应用经常遇到关于audio标签的应用,对于audio相关的常用知识点以及一些相关的问题如下: <audio id="audios" ...

  2. AC日记——矩阵取数游戏 洛谷 P1005

    矩阵取数游戏 思路: dp+高精: 代码: #include <bits/stdc++.h> using namespace std; #define ll long long struc ...

  3. qTip2 Events详细说明

    绑定事件: 这个API触发一些特殊的事件(以下详细信息),允许你给qTip分配多个时间监听,和为某一事件做出响应,例如: 我们绑定一个事件句柄,它将侦听qTip的移动的事件,和更新DIV元素里面显示的 ...

  4. (8)go 字符串

    内建函数在 包中 1. len(str) 计算长度,中文占3个字符 2.字符串遍历,同时处理中文 package main import ( "fmt" ) func main() ...

  5. Android使用UncaughtExceptionHandler捕获全局异常

    Android系统的“程序异常退出”,给应用的用户体验造成不良影响.为了捕获应用运行时异常并给出友好提示,便可继承UncaughtExceptionHandler类来处理.通过Thread.setDe ...

  6. PHP超全局变量数组

    以下8个变量都是数组变量,又称为“预定义变量” 1.$_GET : 把数据通过地址栏传递到服务器,这是方式必须是$_GET方式传递: 2.$_POST : 通过表单发送的数据必须是POST方式: 3. ...

  7. Linux命令之chattr

    chattr [-RVf] [-v version] [mode] files… chattr修改文件在Linux第二扩展文件系统(E2fs)上的特有属性.符号模式(mode)有+-=[aAcCdDe ...

  8. JZYZOJ 1388 旅游 状压dp

    http://172.20.6.3/Problem_Show.asp?id=1388   求拓扑排序方案数 状压dp,最开始以为是拓扑排序加数论或者搜索,没想到是状压dp,突然气死.jpg: 完全没有 ...

  9. 【manacher】HDU3068-最长回文

    [题目大意] 给出一个只由小写英文字符a,b,c...y,z组成的字符串S,求S中最长回文串的长度. [manacher知识点] ①mx - i > P[j] 的时候,以S[j]为中心的回文子串 ...

  10. python基础之序列化 time random os

    序列化与反序列化 json  pickle 1.什么是序列化与反序列化? 序列化就是将内存中的数据结构转成一种中间格式储存到硬盘或者基于网络传输 反序列化是网络,硬盘将被序列化的对象重新读到内存 2. ...