| 
 | 
 
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册 
 
 
 
×
 
内网有机中毒,还是“故意中毒”,洪水般猛攻ros服务器,以前都是见到,手动踢,这样长久也不是办法,懒人就上网找懒办法了... 
看了WGHBOY猛男兄的脚本,请看原链接http://bbs.routerclub.com/viewth ... A5%BB%F7&page=1,本来直接Ctrl+V放进去用的,谁知用阿拉丁猛攻,谁知道无效。。。 
晕死我了。。。郁闷了,今天趁有点时间,再仔细一行行读了脚本,终于发现了问题,改了一下, 
搞好了,因为只装了2.9.27版,所以只有这个版试验通过了 
 
WGHBOY猛男兄的原脚本: 
 
:global RxCurPacket 0 
:global RxCurUser 0 
#设置用户上传超过此流量时,踢人 
:global RxCurMax 15000000 
 
:foreach i in=[/interface find mtu=1480] do={ 
/interface monitor $i once do={ 
:set RxCurPacket ($sent-bits-per-second) 
:set RxCurUser [/ppp active get $i name]} 
:if ($RxCurMax<$RxCurPacket) do={ 
/ppp active remove [/ppp active find name=$RxCurUser] 
/tool user-manager user disable $RxCurUser  
:log info ("已经把" . $RxCurUser . "用户踢下线" . [/sys cl get time]  . [/sys cl get date]) 
} 
} 
 
 
修改后的脚本: 
 
:global RxCurPacket 0 
:global RxCurUser 0 
#设置的用户上传超过此流量时,踢人,这里15000000大约就是15M了,自己看着设了 
:global RxCurMax 15000000 
 
:foreach i in=[/interface find mtu=1480] do={ 
/interface monitor $i once do={ 
:set RxCurPacket ($received-bits-per-second) 
:set RxCurUser [/ppp active get $i name]} 
:if ($RxCurMax<$RxCurPacket) do={ 
/ppp active remove [/ppp active find name=$RxCurUser] 
/tool user-manager user disable $RxCurUser  
:log info ("已经把" . $RxCurUser . "用户踢下线" . [/sys cl get time]  . [/sys cl get date]) 
} 
} 
 
只改了一个单词,大家看出来了没有? 
原来这句是: 
:set RxCurPacket ($sent-bits-per-second) 
改后: 
:set RxCurPacket ($received-bits-per-second) 
重点就是sent与received的区别,原来猛男兄的应该是客户机的下载速度不能超过15000000, 
改后received才是客户机的上传速度,用阿拉丁一攻就踢了。。。 
 
造福大众,如有得罪一些兄弟的,请多多包涵! 
在此多谢WGHBOY 猛男兄,多谢他抛的玉, 
我砸的是砖头 |   
 
 
 
 |