padavan对指定ip限速
配置
1、加入命令
环境:padavan 的系统内核为 4.4
找到 参数设置->脚本->在防火墙规则启动后执行
新加入以下命令
1 | #限制 IP 为 192.168.2.117 的设备下载速度为 8/Mbps |
说明:(已知问题:单独对上传或者下载限速会对另一个产生影响)
通过对每秒匹配包的个数进行限制,多余的由第二行相应的DROP规则去处理,这样就实现了iptables限速
将
192.168.2.239
改为自己需要限速的ip将
700/s
改为自己需要限速的数值,即除了开始的100个数据包(–limit-burst 100),后面为每秒700个数据包(单个网络数据包最大长度为1.5KB,那么 700*1.5KB=1050KB=8.4MB),也就是限制最大带宽为8.4MB
注意:规则的次序非常关键,谁的规则越严格,应该放的越靠前,而检查规则的时候,是按照从上往下的方式进行检查的。
2、关闭加速
在 高级设置->外网 WAN
中关闭加速服务
检验
可以在 系统管理->控制台
输入以下命令查看是否配置成功
再打开测速网站查看是否限速成功
1 | iptables -t mangle -nvL FORWARD |
关于iptables
iptables 实际上就是一种包过滤型防火墙。
通过书写一些接受哪些包,拒绝哪些包的规则,实现数据包的过滤。这些规则存储在专用的信息包过滤表中,而这些表集成在Linux 内核中。在信息包过滤表中,规则被分组放在我们所谓的链(chain)中。
三表 | 作用 |
---|---|
filter | 过滤,防火墙,过滤数据包 |
Nat | 用于网络地址转换(IP、端口) |
Mangle | 拆解报文,作出修改,封装报文 |
对于filter来讲一般只能做在3个链上:INPUT ,FORWARD ,OUTPUT
对于nat来讲一般也只能做在3个链上:PREROUTING ,OUTPUT ,POSTROUTING
而mangle则是5个链都可以做:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING
五链 | 说明 |
---|---|
PREROUTING | 数据包进入路由之前 |
INPUT | 数据包流入口(目的地址为本机) |
FORWARD | 实现转发 |
OUTPUT | 数据包出口(原地址为本机,向外发送) |
POSTROUTING | 发送到网卡之前 |
其中
INPUT
、OUTPUT
是控制外界与本地主机(也就是路由器)的交互 ,一般用来做安全设置,控制能访问路由的范围大部分流量路由器是转发,做限速策略应该选择
PERRONTING
、FORWARD
、POSTROUTING
。 这其中的任何一个都可以控制转发的流量, 只是控制的时间不一样,即进来的时候控制,转发的时候控制,或者准备离开的时候控制,根据自己需求选择