Chinaunix首页 | 论坛 | 博客
  • 博客访问: 203789
  • 博文数量: 57
  • 博客积分: 1694
  • 博客等级: 上尉
  • 技术积分: 481
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-26 16:26
文章分类

全部博文(57)

文章存档

2011年(2)

2010年(37)

2009年(18)

我的朋友

分类: LINUX

2009-12-21 10:06:01

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,也就是:PREROUTINGBefore NAT),POSTROUTINGAfter 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
阅读(1683) | 评论(0) | 转发(0) |
0

上一篇:openvp 配置 2

下一篇:mysql-my.cnf 配置

给主人留下些什么吧!~~