原帖由 springwind426 于 2008-1-2 14:34 发表
这只是一个匹配模块,因此,是可以与其他模块一起使用的
我自己测试的精确度还行
比如:
iptables -A FORWARD -i eth1 -p tcp -m hashspeed \! --hashspeed-bytes 256K --hashspeed-mode srcip --hashsp ...
原帖由 mack2050 于 2008-1-2 19:46 发表
不知道可不可以和IPRANGE一起匹配使用,我试试先!
iptables -I FORWARD 18 -m iprange --src-range 192.168.1.12-192.168.80 -m hashspeed \! --hashspeed-bytes 256K --hashspeed-mode dstip --hashspeed-na ...
原帖由 mack2050 于 2008-1-2 20:07 发表
确实可以了,不过因为我是远程做的,所以现在还不能测试是否能达到效果,有了结果我会马上回贴的!
对了,请楼主解释一下depmod -a的意义所在?还有如果象我这样针对一段IP来做的话,如果这一段的IP当中有某一个人的流 ...
原帖由 mack2050 于 2008-1-2 21:02 发表
您说的这个意思是指对每一个IP限制的带宽,而不是一批IP共享这个带宽是吗?按这样理解的话,就是前面我的那个语句指的是从12-80的这些IP,每个的最高上限为200K,任一个超过了就会阻止是吗?
还有您最后这个程序具 ...
原帖由 platinum 于 2008-1-3 01:47 发表
这样的限速仅仅是通过丢包实现的,如果能结合 tc 实现针对 per IP 进行流量整形就好了
我也在考虑这个问题,但目前还没有什么好的想法
初步想法是修改 tc 的内核代码,通过 hash 实现对 per IP 的控制
原帖由 mack2050 于 2008-1-3 12:36 发表
我的线路是电信的以太网接入,不用ADSL设备,但是要进行虚拟拨号才可以,所以确实用到了PPP0
-A FORWARD -o eth0 -m iprange --dst-range 192.168.1.12-192.168.80.0 -m hashspeed /! --hashspeed-bytes 60K - ...
原帖由 5639863 于 2008-1-3 14:29 发表
dmesg看到如下信息:
ipt_hashspeed: Unknown symbol xt_unregister_matches
ipt_hashspeed: Unknown symbol ipt_unregister_matches
ipt_hashspeed: Unknown symbol ipt_register_matches
这是什么意思?
原帖由 mack2050 于 2008-1-3 18:29 发表
呵呵,发布最新测试反馈!
一切顺利,能把我想要的IP段限速在我指定的范围内,不过我的网关(192.168.1.11)和广播地址(192.168.1.255)也在其中,暂时似乎没有什么影响,大家看看觉得会不会有什么问题!
-A FORWARD ...
原帖由 springwind426 于 2008-1-3 18:30 发表
有可能是没有加载相依赖的内核模块,比如 x_tables 和 ip_tables
是不是手动加载内核模块了?(比如 insmod ./ipt_hashspeed.ko)
原帖由 5639863 于 2008-1-3 19:16 发表
应该是手动加载了一下,但没有成功,所以出现上面的提示。我depmod -a 然后在insmod,但还是不行。只好重新编译,但出现下面的问题:
make -C /lib/modules/2.6.18.8/build M=/root/hashspeed-0.1 modules ...
原帖由 5639863 于 2008-1-3 20:56 发表
make -C /lib/modules/2.6.18.8/build M=/root/hashspeed-0.1 modules
make[1]: Entering directory `/usr/src/linux-2.6.18.8'
CC [M] /root/hashspeed-0.1/ipt_hashspeed.o
/root/hashspeed-0.1/ipt_ha ...
原帖由 dzb_01 于 2008-1-3 22:35 发表
springwind426兄,能否解决一下hashspeed在iptables-1.4.0下的编译,谢谢先
内核2.6.23,iptables-1.4.0,内核模块编译通过,iptables模块编译错误如下
[root@qq hashspeed-0.1]# make
make -C /usr/src/l ...
原帖由 springwind426 于 2008-1-4 10:43 发表
你到我的主页上下载最新的吧,我看了一下iptables-1.4.0的头文件,需要把linux的include也包含到-I中才行
还有,我修改了一下Makefile,修正了可能检测错误iptables版本的情况
(比如,我当前的系统安 ...
原帖由 springwind426 于 2008-1-4 10:52 发表
我没有修改成ld也是编译成功的,而且也能够正常运行
我的环境:
linux 2.6.22
iptables-1.4.0
gcc 4.1.3 20071209
原帖由 5639863 于 2008-1-4 11:12 发表
springwind426 兄,我没有想通在有代理的情况下,应该怎么做限制,因为有代理的时候走的是INPUT链,将如何控制呢?
我根据前面的例子写了一个针对我自己机器的规则:
iptables -I INPUT -s 192.168.0.8 ...
原帖由 5639863 于 2008-1-4 12:34 发表
iptables -t nat -I POSTROUTING 1 -o 内网网卡 -m hashspeed \! --hashspeed-bytes 256K --hashspeed-mode dstip --hashspeed-name dlimit -j DROP
我用这个规则试了一下,还是没有任何效果。
我用的是SQUID
原帖由 springwind426 于 2008-1-4 13:40 发表
我用这个:
iptables -t mangle -A POSTROUTING -o 内网网卡 -m hashspeed --hashspeed-name squid --hashspeed-mode dstip \! --hashspeed-bytes 64K -j DROP
能够把通过代理访问的内网主机的下载速度 ...
原帖由 springwind426 于 2008-3-7 13:45 发表
你查看查看
proc_net 是在 include/linux/proc_fs.h中定义的
我没有用过2.6.24,是不是定义有变化?
在include/linux/proc_fs.h中有proc_mkdir的定义
原帖由 springwind426 于 2008-3-7 13:45 发表
你查看查看
proc_net 是在 include/linux/proc_fs.h中定义的
我没有用过2.6.24,是不是定义有变化?
在include/linux/proc_fs.h中有proc_mkdir的定义
原帖由 springwind426 于 2008-3-8 15:50 发表
试试把 proc_net 都换成 init_net.proc_net 试试
我是参考xt_hashlimit来修改的,我看2.6.24里面的xt_hashlimit.c里面是用的 init_net.proc_net
而2.6.23的xt_hashlimit.c里面用的是 proc_net
原帖由 skylove 于 2008-3-9 00:23 发表
结果倒是编译出来了,不过不少警告。。。
make
make -C /lib/modules/2.6.24.3skylove/build M=/data/hashspeed-0.1 modules
make[1]: Entering directory `/data/linux-2.6.24.3'
make[1]: Warning: ...
原帖由 wwlovezz 于 2008-3-12 09:39 发表
我用2.6.24 iptables1.4编译出错类。。。。。
Makefile:24: You need to install iptables sources and maybe set IPTABLES_SRC
make -C /lib/modules/2.6.24.3/build M=/usr/src/hashspeed-0.1 modules
mak ...
原帖由 wwlovezz 于 2008-4-8 00:34 发表
楼主老大.linux2.6.23 iptables-1.4下可以译出来..
模块已加载成功后我用
[root@EEE ~]# iptables -m hashspeed -h
iptables v1.4.0: Couldn't load match `hashspeed'null)
Try `iptables -h' or 'ipt ...
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |