一种另类的无线限速方法

同学有一台迷你路由,在晚上寝室熄灯了以后作为AP供给全寝室的同学使用,但是每个人每月流量有限,为了防止同学把他流量全部用光他流量,也为了避免同学占用过大带宽,必须加以限速。

传统的办法: tc+iptables限速,网上方案很多了,可以对单个IP限速。在openwrt下,有几个比较好用的QoS,比如emong QoS,wondershaper,通过图形界面可以方便地生成tc命令,限速。

但是缺点也很明显,那就是占用CPU资源过大,而且限速效果不好,经常限速了但还是超出限制。另外,需要对同学的所有终端固定IP,或者IP与MAC地址绑定,比较麻烦。

 

然后我就突然想到一种很奇葩,很简单的限速办法,操作简单,效果明显,而且是限制底层链路速度,绝不超限。

基本思路就是:

  1. 在支持Multi-SSID的路由(AR系列的基本都支持,RT的很多也支持),或者是有两张无线网卡的路由上打开两个SSID,一个自己用,可以隐藏SSID,另一个给同学用。
  2. 对那个guest SSID配置单独的interface,firewall,做好隔离。
  3. 使用iwconfig设置那个AP的速率。(先用ifconfig看到那个SSID对应的iface,一般为wlan0-1,然后iwconfig wlan0-1 rate *M auto)

过程非常简单,但是因为接口速率被限了,客户端是不可能超过那个链路速率的,最低可以设为1M,100KB/s的速度上上网差不多了。

 

分享到:

发表评论

昵称

沙发空缺中,还不快抢~