分类: ~~~ Security ~~~ |
经过几天的实践,使用NBAR技术可以很好的限制BT,如果再加上nat对发起连接数做个限制,可以达到最优效果。
首先要找到尽量高的IOS版本,原本7204的配的是12.3,它不能对nat条数针对IP做限制,只有一个笼统的ip nat translation max-entries 1-65535 这样的命令,对外出NAT总数做限制无法对BT用户构成影响,只能保证路由器不至于崩溃,但是实际上大多数用户在BT将NAT条数占完后是无法上网的。比如,总数设置为8000情况下,一个BT用户一般可发起1500条链接,6个BT用户即可将总NAT转换条数占用,其它合法用户无NAT可转。
有些资料上说必须升级到12.4以上IOS,实际上没有必要,12.3T已经具有这项功能了,可针对单独的IP地址进行限制,这时我们可以通过show ip nat tr 看出哪个用户NAT条数过多,一般限制到30条即可,我在正常使用网络时,很少超过11条对外链接。
第二步,如果路由器负载还是太大,你要考虑使用NBAR了。先下载bittorrent.pdlm,kazza2.pdlm,edonkey.pdlm,并将其通过tftp传入7204中
执行以下命令
ip nbar pdlm bittorrent.pdlm
ip nbar pdlm kazza2.pdlm
ip nbar pdlm edonkey.pdlm
将BT特征码加载到路由器中
class-map match-any bit
如果只是为了限制BT,以上几条命令就OK了,不过建议你还是把下面的也加上
上面的不全,你可以用show ip nbar port-map看下都支持些什么协议,当然IOS版本越高支持的越多,如果用12.3T,你已经可以不用手动下载kazza2.pdlm和edonkey.pdlm了,这些都被内置在IOS中,12.4没用试用,肯定要更强。
policy-map limit-bit
int f0/1
到些为止,OK了
但是使用NBAR是非常占用资源及CPU的,你可以尝试一下,当你打上class-map后,路由的反应,一定要找到最佳的限速方式。
第三,还有一个方法,可以结合起来,但这种方法根据端口封BT,一旦BT用户改变了端口,也就无可奈何了。所以只是选用。
限速∶
access-list 199 remark bt
access-list 199 permit tcp any any range 6881 6890
access-list 199 permit tcp any range 6881 6890 any
rate-limit input access-group 199 712000 8000 8000 conform-action transmit exceed-action drop
rate-limit output access-group 199 712000 8000 8000 conform-action transmit exceed-action drop
禁止∶
access-list 199 deny tcp any any range 6881 6890 access-list 130 deny tcp any range 6881 6890 any
ip access-group 199 in / out
access-list 199 remark bt
access-list 199 permit tcp any any range 6881 6890
access-list 199 permit tcp any range 6881 6890 any
rate-limit input access-group 199 712000 8000 8000 conform-action transmit exceed-action drop
rate-limit output access-group 199 712000 8000 8000 conform-action transmit exceed-action drop
禁止∶
access-list 199 deny tcp any any range 6881 6890 access-list 130 deny tcp any range 6881 6890 any
ip access-group 199 in / out