需求
利用iptables ,限制每个客户端的流量为 1MB
背景分析
- 场景应该是在一个小局域网
- 网关是利用一台
Linux实现的软路由,所以限速规则应该设置在forward链上 - 假设该局域网网段为
192.168.2.0/24 - 假设该主机内网网卡为
eth0,出网卡为eth1
Iptables扩展模块
Quota 模块介绍:
- 流量配额管理,可以计算指定
ip的流量,单位为byte
Iptables命令
iptables -t filter -I FORWARD -i eth0 -o eth1 -p tcp -s 192.168.2.0/24 -m quota --quota 1024000 -j ACCEPT
iptables -t filter -A FORWARD -i eth0 -o eth1 -p tcp -j DROP
-t:指定表-I:插入规则-i:入网口-o:出网口-p:协议-s:源地址-m:指定模块,--quota指定流量-j:处理动作-A:追加规则
限速不限流量(扩展)
这里以 ping 流量为例
iptables -t filter -I INPUT -p icmp -m limit --limit 10/m -j ACCEPT
iptables -t filter -A INPUT -p icmp -j DROP
limit模块:限速--limit 10/m:1分钟内只能通过10个包,也就是6秒钟一个包
具体表现如下:

本文介绍如何使用iptables的quota模块限制局域网中每个客户端的流量至1MB,适用于Linux软路由环境。同时,提供了利用limit模块进行限速而不限制流量的方法。
1260

被折叠的 条评论
为什么被折叠?



