使用 DD-WRT 限制带宽

使用 DD-WRT 限制带宽

我的路由器上安装了 DD-WRT,我希望能够限制某个 IP 或 Mac 地址的带宽上限和下限。我很高兴亲自动手并使用控制台。

我确信 iptables 可以做到这一点?如果是这样,有人可以给我举一个简单的例子吗?

答案1

好吧,不幸的是我还没有找到一种简单的方法来做到这一点,否则我会给你一些例子;但是,该tc命令将执行您需要的操作。

Tc 是内置于 Linux 内核中的流量整形实用程序。做好准备,这不适合胆小的人。我建议在开始之前仔细阅读有关排队规则的内容。

至少,这应该给你一个开始的地方:

http://www.dd-wrt.com/wiki/index.php/Tc_command

编辑:

从该页面,此链接声称有一个“简单”答案:

http://lartc.org/howto/lartc.ratelimit.single.html

答案2

您可以使用该tc命令来完成此操作。如果您想对单个主机进行速率限制,这里有一个快速指南:

限制单个主机或网络掩码的速率

如果您想要更全面的设置(例如,保证 VoIP 流量的优先级),DD-WRT 支持直接通过其用户界面设置 QoS 规则。看这里:

服务质量

创建者提供的此链接tc提供了使用其工具进行流量整形的详细概述,值得一读:

终极流量调节器:低延迟、快速启动和下载

答案3

就像是举个简单的例子:

tc qdisc del dev br0 root
tc qdisc add dev br0 root handle 1: cbq avpkt 1000 bandwidth 10mbit
tc class add dev br0 parent 1: classid 1:1 cbq rate 700kbit allot 1500 prio 5 bounded isolated
tc filter add dev br0 parent 1: protocol ip prio 16 u32 match ip dst 192.168.1.133 flowid 1:1
tc filter add dev br0 parent 1: protocol ip prio 16 u32 match ip src 192.168.1.133 flowid 1:1

代替700kbit对于您想要强制执行的限制,以及192.168.1.133对于您想要限制的IP。注意10兆位第一行中的速度应接近您的实际链接速度,才能发挥最佳效果。

在ssh控制台中输入进行测试。当您对它感到满意时,在 dd-wrt ​​中将其放在下面,Administration / Commands / Save Firewall以便在重新启动/界面更改时自动启动。

答案4

实现此目的的一种方法是通过 Web GUI 使用 QoS 将设备放入批量类中,然后使用 cron 作业限制整个类的速率。

http://hardwareinsights.com/wp/2011/04/28/optimizing-your-internet-usage-with-the-qos-functionality-of-dd-wrt/

相关内容