歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> 學習Linux

Centos6.8 64位編譯安裝PF_RING

Centos6.8 64位編譯安裝PF_RING


Centos6.8 64位編譯安裝PF_RING


1)確認是否安裝PF_RING

如果你已經安裝pf_ring,你可能需要執行:
rmmod pf_ring

如果你不確定你是否安裝pf_ring,執行:
modinfo pf_ring

2)編譯和安裝PF_RING內核模塊

進入到kernel文件夾中make和make install

# tar -zxf PF_RING.4.7.0.tar.gz# cd PF_RING.4.7.0/# make    //直接在跟目錄下面make,進行全部編譯# cd PF_RING.4.7.0/kernel# make# sudo make install  //內核安裝需要root用戶權限

3) 加載PF_RING內核模塊

切換到/lib/modules//kernel/net目錄,可以看到有pf_ring目錄,進入pf_ring目錄

執行sudo insmod pf_ring.ko transparent_mode=1 //最好設置一下,官方解釋是2的性能最好,但是有大神測試後發現差別並不是很大

當PF_RING激活時,會創建/proc/net/pf_ring目錄,使用cat命令查看pf_ring的屬性信息:

# cat /proc/net/pf_ring/info

注:為了編譯PF_RING內核模塊,你需要安裝Linux內核的頭文件(或者內核源代碼)。本人測試過2.6.X的內核,是可以編譯過的

4)編譯安裝PF_RING所需依賴庫

進入到用戶空間庫userland/lib下,編譯和安裝。

# cd ../userland/lib# ./configure# make# sodu make install

如果需要使用libpcap抓包分析,請卸載之前安裝的libpcap,然後進入/userland/libpcap-xxx-ring/目錄下配置、編譯和安裝驅動。

卸載原來的libpcap:

# rpm -qa libpcap //查看安裝的libpcap,如果有libpcap則強制卸載# rpm --nodeps -e libpcap //按照原文的報錯,沒有--nodefs選項,使用的是--nodeps,不驗證包依賴性, –e 選項,意思是擦除erase

安裝pf_ring的libpcap:

# cd ../libpcap# ./configure# make# sudo make install

注:為了使用PF_RING的優點,請使用PF_RING使能的libpcap.a重新編譯應用。

5)編譯網卡驅動並加載網卡驅動

進入到drivers目錄下,根據ethtool -i ethx命令查看的網卡類型和驅動進入指定的目錄進行編譯和安裝。

# cd /root/soft/PF_RING/PF_RING-5.6.2/drivers/PF_RING_aware/intel/e1000e/e1000e-2.0.0.1/src# make# sodu make install

安裝網卡驅動,進入到目錄lib/modules//kernel/drivers/net下進行網卡驅動安裝。

# sodu insmod e1000e.ko  //安裝pf_ring網卡驅動# sodu modprobe e1000e  //只能載入/lib/modules/<kernel ver>/中模塊

6. 測試網絡的接收的包數

進入到userland/examples目錄編譯例子程序。

# cd <PF_RING PATH>/userland/examples# make# ./pfcount -i eth0     //捕獲eth0網口的數據報文

注:使用drivers/intel/ixgbe下的驅動(支持DNA的ixgbe驅動的網卡)+DNA驅動技術可以達到線速采集,PF_RING模塊必須在DNA驅動之前加載。

7. 常見錯誤及解決方法

1.pf_ring.ko模塊加載錯誤   錯誤信息:insmod: error inserting 'pf_ring.ko': -1 Unknown symbol in module   解決方法:沒有卸載當前的網卡驅動,新的加載不了,需要卸載網卡驅動2. 編譯網卡模塊驅動錯誤   驅動所在目錄:/root/soft/PF_RING/PF_RING-5.6.2/drivers/PF_RING_aware/intel/e1000e/e1000e-2.0.0.1/src   錯誤信息:/root/soft/PF_RING/PF_RING-5.6.2/drivers/PF_RING_aware/intel/e1000e/e1000e-2.0.0.1/src/kcompat.h:3039: error: conflicting types for ‘netdev_features_t’解決方法:vim kcompat.h +3039    // 注釋掉第3039行3. 網卡驅動模塊所在目錄:/root/soft/PF_RING/PF_RING-5.6.2/drivers/PF_RING_aware/intel/e1000e/e1000e-2.0.0.1/src加載網卡驅動模塊:insmod e1000e.ko

http://www.bkjia.com/Linuxjc/1156100.html TechArticle

Copyright © Linux教程網 All Rights Reserved