免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 5814 | 回复: 22
打印 上一主题 下一主题

晕了,请教加载模块问题。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-12-19 10:03 |只看该作者 |倒序浏览
今天用iptables的connlimit模块
iptables -A INPUT -p tcp --dport 80 -m connlimit --help

connlimit v1.2.11 options:
[!] --connlimit-above n         match if the number of existing tcp connections is (not) above n
--connlimit-mask n             group hosts using mask


iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 10 -j REJECT

iptables: No chain/target/match by that name

排错
lsmod
没有看见 connlimit 模块

modprobe ipt_connlimit

FATAL: Module ipt_connlimit not found.

查找 connlimit模块
发现在
/lib64/iptables/libipt_connlimit.so

于是用
insmod  /lib64/iptables/libipt_connlimit.so

insmod: error inserting './libipt_connlimit.so': -1 Invalid module format

我晕了,然后又试验了几次

发现有些模块第一次用insmod 加载的时候会提示(比如ntfs)

insmod: error inserting 'xxxxxx.so': -1 Invalid module format

我用modprobe  加载过一次以后用rmmod 删除模块
在使用insmod加载就正常了。
请问insmod和modprobe有什么不同??
如何加载 libipt_connlimit.so这个模块??

论坛徽章:
5
IT运维版块每日发帖之星
日期:2015-08-06 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00IT运维版块每日发帖之星
日期:2015-08-23 06:20:00IT运维版块每日发帖之星
日期:2015-08-24 06:20:00IT运维版块每日发帖之星
日期:2015-11-12 06:20:00
2 [报告]
发表于 2006-12-19 10:12 |只看该作者
modprobe会解决依赖关系,但只能加载特定的位置的。 insmod相反.
设置iptables规则是自动加载相应模块。

论坛徽章:
0
3 [报告]
发表于 2006-12-19 10:24 |只看该作者
原帖由 ssffzz1 于 2006-12-19 10:12 发表
modprobe会解决依赖关系,但只能加载特定的位置的。 insmod相反.
设置iptables规则是自动加载相应模块。


解决依赖关系的不是 modproble,而是 depmod
modprobe 只是根据 depmod 生成的关系树去加载模块
insmod 需要详细指定模块路径

论坛徽章:
5
IT运维版块每日发帖之星
日期:2015-08-06 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00IT运维版块每日发帖之星
日期:2015-08-23 06:20:00IT运维版块每日发帖之星
日期:2015-08-24 06:20:00IT运维版块每日发帖之星
日期:2015-11-12 06:20:00
4 [报告]
发表于 2006-12-19 10:30 |只看该作者
说的不太精确,误导LZ了。

刚才论坛怎么了,上不去大约2分钟,又好了。

论坛徽章:
0
5 [报告]
发表于 2006-12-19 11:25 |只看该作者
请问如果想用insmod加载模块,应该如何解决??

论坛徽章:
0
6 [报告]
发表于 2006-12-19 11:29 |只看该作者
原帖由 platinum 于 2006-12-19 10:24 发表


解决依赖关系的不是 modproble,而是 depmod
modprobe 只是根据 depmod 生成的关系树去加载模块
insmod 需要详细指定模块路径



我的模块路径是
/lib64/iptables/libipt_connlimit.so
可是我加载的时候还是出错了,请详细告知。
我如何知道libipt_connlimit.so的模块名称??
就是我用 modprobe 后面跟的那个名称。

论坛徽章:
0
7 [报告]
发表于 2006-12-19 11:34 |只看该作者
iptables 的运作需要两部分
一个是内核部分,一个是用户部分
libipt_connlimit.so 是 iptables 调用要用到的
ipt_connlimit.ko 是内核要用到的
你应该 modprobe ipt_connlimit,若提示有错,证明你的系统不支持,需要 patch

论坛徽章:
0
8 [报告]
发表于 2006-12-19 11:39 |只看该作者
谢谢,这就重编一下内核,打补丁测试一下。
一会把结果贴上来。

论坛徽章:
0
9 [报告]
发表于 2006-12-19 14:43 |只看该作者
在请教一下,比如我想用insmod加载vfat模块,
但是vfat模块是需要加载fat模块的,必须先加载fat模块,
我如何查询这种依赖关系??? 

论坛徽章:
0
10 [报告]
发表于 2006-12-19 14:51 |只看该作者
depmod -a 会生成一个依赖关系
该依赖关系文件存放在 /lib/modules/`uname -r` 里面
modprobe 可以直接不考虑依赖关系直接加载你要的模块前缀
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP