论坛风格切换切换到宽版
  • 1369阅读
  • 5回复

[问题求助][!已解决!]RHEL5,connlimit模块编译成功,但无法使用(含编译步骤) [复制链接]

上一主题 下一主题
离线wangzh102.
 
发帖
2155
C币
-138921
威望
407
贡献值
1
银元
-1
铜钱
4831
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
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电影

评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
离线daxiang800.
发帖
2066
C币
-235436
威望
410
贡献值
1
银元
-3
铜钱
4691
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-13
楼主,我用的是centos 5.0,我编译完后测试你给的命令:iptables -A INPUT -p tcp -s 192.168.10.41 -m connlimit --connlimit-above 3 -j DROP 是正常的,应该是你编译和安装的问题!

离线pre8.
发帖
2069
C币
-60870
威望
354
贡献值
1
银元
-2
铜钱
4484
人人网人气币
0
只看该作者 板凳  发表于: 2010-04-13


QUOTE:原帖由 andywxb 于 2008-2-15 10:59 发表
楼主,我用的是centos 5.0,我编译完后测试你给的命令:iptables -A INPUT -p tcp -s 192.168.10.41 -m connlimit --connlimit-above 3 -j DROP 是正常的,应该是你编译和安装的问题!



感谢关注,能分享一下你的编译步骤么?包括使用的iptables版本,patch-o-matic-ng的版本!
我实在想不出来问题出在哪里了!!!

离线gdvip.
发帖
2174
C币
-60200
威望
394
贡献值
1
银元
-3
铜钱
4879
人人网人气币
0
只看该作者 地板  发表于: 2010-04-13
你都没有给内核打补丁!

离线yy12345678.
发帖
1953
C币
-61089
威望
319
贡献值
1
银元
-5
铜钱
4298
人人网人气币
0
只看该作者 4楼 发表于: 2010-04-13
我用的是linux-2.6.18-8、l7-protocols-2007-11-22.tar.gz、netfilter-layer7-v2.16.1.tar.gz、iptables-1.3.6.tar.bz2、patch-o-matic-ng-20071208.tar.bz2
(1)内核打补丁
(2)安装netfilter扩展
(3)安装新版本iptables以及layer7协议
(4)编译内核

[ 本帖最后由 andywxb 于 2008-2-15 11:08 编辑 ]

离线豆芽.
发帖
2088
C币
-235103
威望
411
贡献值
1
银元
-3
铜钱
4793
人人网人气币
0
只看该作者 5楼 发表于: 2010-04-13
现在centos 5.1不是出来了吗,我打算有时间用centos 5.1重新安装过!centos 5.0我是很久哪时装的,记得是在这个bbs找的教程!

快速回复
限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个