Chinaunix首页 | 论坛 | 博客
  • 博客访问: 246402
  • 博文数量: 79
  • 博客积分: 1942
  • 博客等级: 上尉
  • 技术积分: 910
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-19 16:17
文章分类

全部博文(79)

文章存档

2011年(1)

2010年(50)

2009年(28)

分类: LINUX

2010-03-17 23:35:01

准备软件:iptables-1.3.8.tar.bz2  linux-2.6.18.8.tar.bz2   patch-o-matic-ng-20090208.tar.bz2

全部解压缩在/usr/src/目录下。

修改makefile头与OS上的内核相同
先用uname –r查询一下:
[root@mail linux-2.6.18.i686]# uname -r
2.6.18-8.el5

linux-2.6.18.8的目录下面执行下面的内容:

# vi Makefile
修改 EXTRAVERSION = -prep
该成EXTRAVERSION = -8.el5

设 置环境patch-o-matic-ng-20090208需要用到的环境变量
export KERNEL_DIR=/usr/src/linux-2.6.18.8/
export KERNEL_SRC=/usr/src/linux-2.6.18.8/
export IPTABLES_SRC=/usr/src/iptables-1.3.8/
export IPTABLES_DIR=/usr/src/iptables-1.3.8/

为内核下载补丁,打补丁
cd /usr/src/patch-o-matic-ng-20090208
./runme --download
./runme connlimit

make menuconfig
在内核配置界面选中
Networking --->
Networking options --->
Network packet filtering (replaces ipchains) --->
IP: Netfilter Configuration --->
 Connections/IP limit match support

编译内核模块
make modules_prepare
修改net/ipv4/netfilter/Makefile,只编译connlimit模块,首先备份net/ipv4/netfilter /Makefile文件
mv net/ipv4/netfilter/Makefile net/ipv4/netfilter/Makefile.bak
新建 net/ipv4/netfilter/Makefile文件,并添加如下内容
vi net/ipv4/netfilter/Makefile
obj-m := ipt_connlimit.o

KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)

default:
$(MAKE) -C $(KDIR) M=$(PWD) modules
最后编译内核模块
make M=net/ipv4/netfilter/

将编译好的ipt_connlimit.ko内核模块复制到当前内核模块目录下,并加载内核模块
cp net/ipv4/netfilter/ipt_connlimit.ko /lib/modules/2.6.18-8.el5/kernel/net/ipv4/netfilter/

为内核模块添加可执行权限
chmod +x /lib/modules/2.6.18-8.el5/kernel/net/ipv4/netfilter/ipt_connlimit.ko
depmod -a
modprobe ipt_connlimit
运行lsmod | grep x_tables出现如下提示,说明内核模块加载成功
x_tables 50377 5 ipt_connlimit,ipt_REJECT,xt_state,xt_tcpudp,ip_tables

测试ipt_connlimit模块
iptables -I INPUT -p tcp --dport 22 -m connlimit --connlimit-above 2 -j DROP

开机自动加载模块

vi /etc/sysconfig/modules/my.modules

modprobe ipt_time
modprobe ipt_layer7
modprobe ipt_connlimit
modprobe ipt_ipp2p

chmod 755 /etc/sysconfig/modules/my.modules


阅读(1019) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

ilnus2010-12-31 10:26:20

朋友,我现在打算在ubuntu上安装connlimit,来限制使用p2p类软件,有几个问题想请教,不知可否加好友