第一步 下载kernel.*.src.rpm
第二步 下载iptables.*.src.rpm 可以直接去下载
安装系统一定要选择编译和开发包
安装kernel.*.src.rpm 安装iptables.*.src.rpm
进入/usr/src/redhat/SPECS目录 里面有两个文件
rpmbuild -bp --target $(uname -m) kernel-2.6.spec
rpmbuild -bp --target $(uname -m) iptables.spec
cd /usr/src
mkdir kernels
cd kernels
ln -s ../redhat/BUILD/kernel-2.6.15/linux-2.6.15.i686/ 2.6.15-1.2054_FC5-i686
ln -s /usr/src/redhat/BUILD/iptables/ /usr/src/iptables
ln -s /usr/src/kernel/2.6.15-1.2054_FC5-i686 /usr/src/linux
cp configs/kernel-2.6.15-i686.config .config
#uname –r (得到2.6.15-1.2054_FC5)
2.6.15-1.2054_FC5
那么就要将Makefile中的EXTRAVERSION = -prep
换成EXTRAVERSION = -1.2054_FC5
开始打补丁
从下载patch-o-patch-o-matic-ng-20060511.tar.bz2
cp 文件 /usr/src/
tar -xvf patch-o-matic-ng-20060511.tar.bz2
进入目录 ./runme connlimit; ./runme ipp2p; ./runme u32
./runme connlimit 出错
进入connlimit/linux.2.6.11/net/ipv4/netfilt/找到Makefile.ladd
将 obj-$(CONFIG_IP_NF_MATCH_STATE) += ipt_state.o
改成 obj-$(CONFIG_IP_NF_MATCH_TOS) += ipt_tos.o
./runme connlimit 成功了
进入/usr/src/linux 目录
cp configs/kernel-2.6.15-i686.config .config
make menuconfig 奇怪 进不去了
不理它 改成make oldconfig
还好乱来也行 提示我是不是要M上新的模块 当然要了
就M上自己要的 然后直接就Ctrl +c 退出了
make M=net/ipv4/netfilt/
好了 开始编译模块了 漫长的等待 终于完成了
cp net/ipv4/netfilt/ipt_connlimit.ko /lib/modules/2.6.15-1.2054_FC5/kernel/net/ipv4/netfilt/ 记得要chmod+x ipt_connlimit.ko
insmod ipt_connlimit.ko
lsmod 查看 OK
使用下看看
/sbin/iptables -A INPUT -s 192.186.1.0/24 -p tcp --syn -m connlimit --connlimit-above 15 -j DROP
OK!终于可以了!哎 可怜人就是可怜
连搞个模块都搞不知道几天
阅读(693) | 评论(1) | 转发(0) |