如何设置具有带宽控制,下载限制选项的家庭用代理服务器?


17

3个室友共享一个2 Mbps连接。每月有40GB的下载限制,超过40GB的下载速度会降至256Kbps,这很烦人。

一名室友滥用了连接,超出了他的配额限制进行下载。我有一个Netgear WNR1000v2无线路由器+ ADSL调制解调器可以连接到互联网。我们都通过连接ADSL调制解调器的无线路由器访问互联网。

我需要一个免费的代理解决方案,可以帮助我设置

  1. 每个人最多40GB / 3(13 GB)(每个人有2台设备-一台PC和一部带Wifi的电话)
  2. 统一带宽控制-2个人浏览互联网时,每个人应该获得1 Mbps,而3个人访问互联网时,他们应该获得2Mbps除以3。
  3. 每个人超过每月的下载限制后,他们应该只能以256Kbps或更低的速度访问互联网。
  4. 我可以在无线路由器上使用自定义固件来执行此操作吗?(或)是否需要代理服务器?

请为我指出任何相关的教程(例如,Squid)。

更新:我不是在寻找仅用于路由器/固件的解决方案,而是愿意在网络中的一台PC上运行代理服务器或任何其他类似类型的解决方案。

Answers:


14

不要用Squid来做:您需要控制所有内容,而不仅仅是端口80上的HTTP。

答案要求iptables带有'--quota'选项,该选项通过对每个数据包减少一个字节计数器来实现网络配额。“ --quota”参数是一个以字节为单位的值。

每个用户应有一个链。链的第一条规则为192.168.0.2的数据包减少了13 GB的配额,如果数据包低于配额,则接受该数据包:

iptables -A INPUT -p tcp -s 192.168.0.2 -m quota --quota 13958643712 -j ACCEPT

链的第二条规则是将超配额数据包分类为您选择的tc类:

iptables -A INPUT -p tcp -j CLASSIFY --set-class 1:12

这就是经典的流量整形:http : //tldp.org/HOWTO/Traffic-Control-HOWTO/

当然,您需要使用静态IP分配,或者确保DHCP分配由设备的MAC地址固定的地址-并且您需要阻止所有地址,但属于三个用户之一的已标识设备除外。

顺便说一句,您提到“当2个人浏览Internet时,他们每个人应获得1 Mbps的速度,而3个人访问时,他们应获得2Mbps的速度除以3”,但是与设置流量等级层次结构相比,您可以做得更好:您的要求应该是:“当两个人浏览互联网时,他们每个人获得的速度都不应低于1 Mbps;当三个人访问互联网时,他们所获得的应不低于2 Mbps的速度除以3”;这样,如果其他人的使用量少于保证的吞吐量... tc可以帮助您做到这一点!

由于openwrt和dd-wrt支持您的路由器,因此您拥有所需的所有工具!


很棒的最佳答案!非常感谢..但是openwrt或dd-wrt不支持我的路由器,只有同系列的v1和v3支持,我的是v2。因此,我将研究在同一地点使用一台旧机器。
Rajavanya Subramaniyan

4

我不记得它是否支持您提到的所有功能,但是我强烈推荐pfSense作为路由器解决方案。它足够小,可以运行USB光盘,并提供了许多共享解决方案。例如,我安装了鱿鱼附加组件,以便为所有内部服务器提供透明代理,甚至安装了一个软件包也可以提供网络使用情况的详细报告。

我还提供网吧类型的功能,例如供客人使用该系统的登录页面。在VM中进行设置很容易,并且有很多文档说明了如何使用各种不同的配置进行安装。

我在家里与其他八台机器一起使用了。您可能会发现,通过正确设置,您可能并不需要像引入那么大的限制。


pfSense非常适合通过Web界面快速轻松地进行设置。如果您想了解更多信息,只需安装OpenBSD并自行设置pf,学习就会很有趣。
SleighBoy 2011年

0

您的Netgear WNR1000v2似乎是半哑设备。我发现的全部是,您可以启用基于端口或基于MAC的QoS。您可以将行为不当的根伴侣设置为“低”。

其他任何事情都需要更多的“大脑”-即适当的(智能)代理。


在WNR1000v2控制面板的任何位置都看不到QoS选项,我也参考了完整的用户手册。您能解释一下在哪里可以找到并进行配置吗?
Rajavanya Subramaniyan

在WNR1000v2 页面上有描述QoS的PDF
Nils

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.