RHEL 5 的kernel rpm包并不包含完整的source code,所以按照以前版本的编译方法是不能成功的。根据fedora的release notes的说明,需要增加新的模块的时候,只需要新建一个Makefile,然后make这个模块就好了(RHEL 5的release notes应该也有提到,但我没有查证)(fedora 5的release notes:
http://docs.fedoraproject.org/re ... otes-ISO/#id3098172)。 电子
. 但我编译.成功connlimit.ko和iptables后,调用这个模块时却一直出错:.
QUOTE:# iptables -A INPUT -p tcp -s 192.168.1.0.41 -m connlimit --connlimit.-above. 3 -j DROP 建材
iptables:. Invalid. argument[成人用品]
麻烦各位大.侠帮忙看看。感激不尽!.
下面是我的编译步骤:
QUOTE:#wget
ftp://ftp.net.filt.er.org/pub/patch-o-matic-ng/snapshot/patch-o-matic-ng-200.80214.tar.bz2 美容
#wget
ftp://f.tp.netfil.ter.org/pub/iptables/iptables-1.4.0.tar.bz2外贸
#tar xjf .iptables-1.4..0.tar.bz2 美容
#tar xjf pa.tch-o-matic-ng-200802.14.tar.bz2.
#cd /root/.p.atch-o-matic-ng-20080214.
#./runme --d.ownload ####下载connli.mit模块学习
#KERNEL_DIR=/usr/src/kernels/2.6.18-8.el5-i686 IPTABLES_DIR=/root/.iptabl.es-1..4.0 ./runme connlimit ####应用connlimit补丁健康
开始编译模块:
#cd ./usr/sr.c/kernels/2.6.18-8.el5-i686[成人用品]
#ma.ke. oldconfig ####提示新加入了connlimit的选项,问是否需要编译进入内核的时候,输入“m”,编译为模块。
#make mo.dules_prepare ####这步是干.吗的???我不知道,也没有细究,老实执行了。[成人用品]
#mv net/ipv4/netfilter/Makefile. net/ipv4/netfilter/Makefile..orig ####备份原.来的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 . ####成功.
#cp net/ipv4/netfilter/ipt_connlimit.ko /lib/modules/2.6.18-8.el5/kernel./n..et/ipv4/netfilter/电影
#chm.od 744 /lib/modules/2.6.18-8.el5/kernel/net/ipv.4/.netfilter/ipt_connlimit.ko.
到这里,模块编译完成。
安装新版的iptables-1.4.0. . ####注意先用yum remove ipt.ables卸载掉自带的i.ptables-1.3.5外贸
#cd /root/iptables-1.4..0.
#make KERNEL_DIR=/usr/src/kernels/2.6.1.8-8.el5-i.686/学习
#make install KERNEL_DIR=/.usr/src/ker.nels/2.6.18-8.el5-i686/.
好啦,iptables也安装完了,默认.binary安装路径在:/usr/l.ocal/sbin/,li.b安装在/usr/local/lib/iptables目录内。健康
用.modprobe测试看c.onnlimit能否被正常加载:虚拟主机
#modprobe ipt_connlimit . #.###成功.
lsmod查看一下:
#lsmod. |grep ip 乙肝
i.pt_REJECT 9.537 1 汽车
ip.table_filter 7.105 1( 游戏 )
ipt_connl.imit . 7680 0.
ip_conntrack 53153 2 xt_state.,ipt_co.nnlimit电脑
ip_ta.bles 17029 1 iptable._filter电脑
nfnetlink. . 10713 1 ip_conntrack健康
i.pv.6 251137 12投资
x_tables .17349 5 ipt_REJECT,xt_state,.xt_tcpudp,ip.t_connlimit,ip_tables 电子
********
问题来了:
原来的ipta.bles策略都可以应用,但调用c.onnlimit模块就是不行:.
#. iptables -L -n 乙肝
Chain INPUT (policy D.ROP)<性病>
target prot opt source . . destination教育
DROP . all -f 0.0.0.0/0 0.0.0.0/.0 建材
DR.OP all -- 0.0.0.0/8 . 0.0.0.0/0教育
DROP all -- 255.255.255.255 0.0.0.0/.0..
DROP all -- .169.254.0.0/16 .0.0.0.0/0虚拟主机
DROP all -- 221.240.10.2.0 .0.0.0.0/0教育
D.ROP all -- 203.215.94.193 . 0.0.0.0/0 建材
DROP all -- 218.71.137.68. 0.0.0..0/0 健康
ACCEPT all -- 0.0.0..0/0 . 0.0.0.0/0教育
ACCEPT icmp -- 0.0..0.0/0 0.0.0.0/0 . icmp type 8.
ACCEPT . tcp -- 192.168.10.0/24 0..0.0.0/0 . tcp flags:0x17/0x02健康
ACCEPT . tcp -- 0.0..0.0/0 0..0.0.0/0 tcp dpt:22 flags:0x17/0x02外贸
A.CCEPT udp -- 0.0.0.0/0 0.0.0.0/0 . udp dpt:53.
ACCEPT tcp. -- 0.0.0.0/0 0.0.0.0/0 .tcp dpt:53.
ACCEPT all -- 0..0.0.0/0 0.0.0.0/0. state RELATED,ESTABL.ISHED服务器
RE.JECT all -- 0.0.0.0/0 . 0.0.0.0/0 state NEW reject-with .icmp-port-unreachable 健康
# iptables -A .INPUT -p tcp -s 192.168.10.41 -m connlimit --connli.m.it-above 3 -j DROP外贸
iptables: In.v.alid argument.
********
到底是哪里.的问题???????[成人用品]
—.————————————————————— 女人
问题解决后,整理出.来的操作手册.
——————————————————————————————(2008-2-19更新 .开始.)--------------彩票
正.好有一个RHEL 5.1的机器,发现其内核也是2.6.18的,只是后面的“-8”变成了“-53”,那么.?.
直接copy了RHEL5上编译出来的k.o模块过去,发现也是可.以使用的。电脑
另,RHEL3上的编译.也完成了,下午更新到服务器上后,把操作手册和对应的模块,以及与RHE.L5的区别也更新上来![成人用品]
——————————————————————.————————(2008-2-19.更新 结束).
-------------.------.-----------------------------------------------------(200.8-2-20更新 开始)虚拟主机
上午在正式环境部署了con.nlimit,主要需要注意:.外贸
正式.环境使用的kernel版本,比如是否有smp支持,这点常常会与测试环境不同,并被.忽视 杀毒
RHEL 3是2.4的内核,编译方法不太一样,时.间也稍微长一点.。 杀毒
正式环境部署前,考虑好.应急方案,并做好准备。RH.EL3需要重新编译安装ip.tables,因此如果编译失败,你需要尽快将原版的iptables及对应的策略恢复回去。学习
其他不说了,请下载附件
--------------------------------------------------.----------------------(20.08-2-20.更新 结束) 外汇
[ 本帖最后由 busyant. 于 2008-2-2.0 16:46 编辑 ]虚拟主机
http://upload.bbs.csuboy.com/Mon_1004/126_7117_bfa1cad875ad9ed.gif[/img]RHEL5不编译内核增加connlimit模块.zip (13.18 KB) 下载次数:166.
2008.-02-15 18:24<性病>
http://upload.bbs.csuboy.com/Mon_1004/126_7117_bfa1cad875ad9ed.gif[/img]RHEL5不编译内核增加connlimit模块+include ko.zip (72 KB) 下载次数:185( 游戏 )
2008-02-16 20.:31--------------彩票
编译好了的模块也包含进去了,使用前请注意修改名称和权限 http://upload.bbs.csuboy.com/Mon_1004/126_7117_bfa1cad875ad9ed.gif[/img]RHEL3编译connlimit模块手册.zip (1.04 KB) 下载次数:80.
2008-02-20 1.6:46电影