|
尝试用较少的代码写一个类似的模块,NO hash,NO proc。
相关讨论请到CU Linux论坛网络版()
仅仅是实现了功能,而且局限于所有所有调用这个模块的IP地址要在一个B段内(当然可以修改代码实现更大的范围)。
原理于hashspeed一样的
可以对IP段限速,也可以对单个IP,或是几个IP,使用--class定义
speed match v0.1 options:
--pps/bps/Bps value Limit by value PacketPerSecond/BitsPerSecond/BytesPerSecond
--ip/sip/dip adderss Match ip/src/dst adderss
--mask netmask Netmask for ip adderss
--class id class id length
For limit 192.168.0.0/23 per C class for 20KBps.
iptables -A FORWARD -m speed --Bps 20k --ip 192.168.0.0 --mask 255.255.254.0 --class 24 -j DROP
or iptables -A FORWARD -m speed --Bps 20k --ip 192.168.0.0 --mask 23 --class 24 -j DROP
--pps/bps/Bps value Limit by value PacketPerSecond/BitsPerSecond/BytesPerSecond
--ip/sip/dip adderss Match ip/src/dst adderss
--mask netmask Netmask for ip adderss
--class id class id length
For limit 192.168.0.0/23 per C class for 20KBps.
iptables -A FORWARD -m speed --Bps 20k --ip 192.168.0.0 --mask 255.255.254.0 --class 24 -j DROP
or iptables -A FORWARD -m speed --Bps 20k --ip 192.168.0.0 --mask 23 --class 24 -j DROP
写的仓促,仅供研究。