linux imq原理图,编译IMQ模块
1、下載所需軟件包:
linux-2.6.25.tar.gz
iptables-1.4.1.tar.bz2
ipset-2.4.9.tar.bz2
netfilter-layer7-v2.21.tar.gz
iptables-1.4.1-imq.diff
linux-2.6.25-imq5.diff
2、拷貝這些文件到 /usr/src/ 目錄下,并解壓
tar 文件用
$tar -xvf xxx.tar解壓
tar.gz文件用
$tar -zxvf xxx.tar.gz解壓
如果有tar.bz2文件,用
$bunzip2 xxx.tar.bz2
把文件xxx.tar.bz2變成xxx.tar再用上面的命令解壓
3、創建一個軟連接
當前目錄 /usr/src/
$ln -s linux-2.6.25 linux
4、設置環境變量
當前目錄 /usr/src/
$export KERNEL_DIR=/usr/src/linux
$export IPTABLES_DIR=/usr/src/iptables-1.4.1
5、當前目錄 /usr/src/
$cd linux
配置內核:
$make menuconfig
保存退出
可以取消一些選項,此處略。
6、進入目錄/usr/src/ipset-2.4.9
依次輸入:
$make KERNEL_DIR=/usr/src/linux binaries
$make KERNEL_DIR=/usr/src/linux binaries_install
$make KERNEL_DIR=/usr/src/linux patch_kernel
7、打layer7補丁
當前目錄/usr/src/linux
輸入:
$patch -p1 < ../netfilter-layer7-v2.21/kernel-2.6.25-2.6.28-layer7-2.21.patch
$make menuconfig
進入網絡選項把layer7support選上(M),自己查一下:
Core Netfilter Configuration --->
IP: Netfilter Configuration —>
8.打IMQ補丁:
$patch -p1 < ../linux-2.6.25-imq5.diff
$make menuconfig
驅動模塊
IMQ (intermediate queueing device) support (IMQ)
Location:
-> Device Drivers
-> Networking support
-> Network device support (NETDEVICES)
-> IMQ (intermediate queueing device) support (IMQ)
選擇編譯為模塊后,有兩個參數可以設置:
Number of IMQ devices (IMQ_NUM_DEVS):默認IMQ設備的數量
IMQ behavior (PRE/POSTROUTING):IMQ的處理方法在nat表的勾取位置
默認是BA,也就是:PREROUTING(Before NAT),POSTROUTING(After NAT),可根據實際情況選擇。
網絡模塊配置:
IMQ target support (IP_NF_TARGET_IMQ)
Location:
-> Device Drivers
-> Networking support
-> Networking support (NET)
-> Networking options
-> Network packet filtering (replaces ipchains) (NETFILTER)
-> IP: Netfilter Configuration
另外,IPv6也是可選的:
9、編譯內核
$make
$make modules
$make modules_install
$make install
內核編譯結束。
10、安裝ipset
進入ipset文件夾
$make
$make install
11、安裝iptables-1.4.1并 為iptables增加IMQ支持
進入netfilter-layer7-v2.21/iptables-1.4.1.1-for-kernel-2.6.20forward文件夾
將libxt_layer7.c中的
#include 改為:
#include “/usr/src/linux/include/linux/netfilter/xt_layer7.h”
把這兩個文件拷貝到iptables-1.4.2/extensions中去。
進入/usr/src/iptables-1.4.1
$patch –p1 < ../iptables-1.4.1-imq.diff
chmod +x extensions/.IMQ-test*
將libip6t_IMQ.c中的:
#include #include 改為:
#include “/usr/src/linux/include/linux/netfilter_ipv6/ip6_tables.h”
#include “/usr/src/linux/include/linux/netfilter_ipv6/ip6t_IMQ.h”
和libipt_IMQ.c中的
#include #include 改為:
#include “/usr/src/linux/include/linux/netfilter_ipv4/ip_tables.h”
#include “/usr/src/linux/include/linux/netfilter_ipv4/ipt_IMQ.h”
然后輸入:
$./configure
$make
$make install
$reboot
12.加載IMQ模塊
$modprobe imq
$lsmod #查看一下是否加載成功
# ifconfig imq0 up
# ifconfig imq1 up
閱讀(1417) | 評論(0) | 轉發(0) |
總結
以上是生活随笔為你收集整理的linux imq原理图,编译IMQ模块的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: qt 4.8.4 linux,Tslib
- 下一篇: linux面向连接的协议,linuxTC