方法1、采用Cisco公司的nbar来限制;
配置步骤如下:
------------定义Class-map-------------;
!
class-map match-all bittorrent
match protocol bittorrent
class-map match-all edonkey
match protocol edonkey
!
注意:如果match protocol命令里没有bittorrent、edonkey选项,那么说明你的IOS版本还没有包括此协议,此时你需要到Cisco网站上下载bittorrent.pdlm、edonkey.pdlm文件,上传到路由器上,然后定义这种协议:
ip nbar pdlm bittorrent.pdlm
ip nbar pdlm edonkey.pdlm)
------------定义policy-map-------------;
!
policy-map limit-bt
class bittorrent
drop
class edonkey
drop
!
------------应用到接口上--------------;
!
interface f0/0
service-policy input limit-bt
service-policy output limit-bt
!
说明:这种方法使用后对一些p2p软件确实起作用,但目前Cisco只定义了少数几个协议(bittorrent、edonkey、kazaa2、gnutella、napster、winmx、fasttrack等),不能覆盖所有的此类软件,这有待于Cisco的继续努力;
方法2、采用ACL方法;
我们可以采用以下方式来配置ACL,一种是开放所有端口,只限制bt的端口,配置如下;
!
access-list 101 deny tcp any any range 6881 6890
access-list 101 deny tcp any range 6881 6890 any
access-list 101 permit ip any any
!
说明:这种方法有其局限性,因为现在有的p2p软件,端口可以改变,封锁后会自动改端口,甚至可以该到80端口,如果连这个也封,那网络使用就无法正常工作了;
另外一种方式是只开放有用的端口,封闭其他所有端口;
!
access-list 101 permit tcp any any eq 80
access-list 101 permit tcp any any eq 25
access-list 101 permit tcp any any eq 110
access-list 101 permit tcp any any eq 53
access-list 101 deny ip any any
!
说明:此方法是对网络进行严格的控制,对简单的小型网络还可行,而如果是大型网络,数据流量又很复杂那么管理的难度将非常大;
还有一种方式是对端口是3000以上的流量进行限速;因为多数蠕虫病毒和p2p的端口都是大于3000的,当然也有正常的应用是采用3000以上的端口,如果我们将3000以上的端口封闭,这样正常的应用也无法开展,所以折中的方法是对端口3000以上的数据流进行限速,例如:
------------定义Class-map--------------;
!
class-map match-all xs
match access-group 101
!
------------定义policy-map-------------;
policy-map xs
class xs
police cir 1000000 bc 1000 be 1000 conform-action transmit exceed-action drop violate-action drop
!
------------定义ACL--------------------;
!
access-list 101 permit tcp any any gt 3000
access-list 101 permit udp any any gt 3000
!
------------应用到接口上---------------;
interface f0/0
service-policy input xs
!
方法3、采用NAT的单用户连接数限制;
在Cisco IOS 12.3(4)T 后的IOS软件上支持NAT的单用户限制,即可以对做地址转换的单个IP限制其NAT的表项数,因为p2p类软件如bt的一大特点就是同时会有很多的连接数,从而占用了大量的NAT表项,因此应用该方法可有效限制bt的使用,比如我们为IP 10.1.1.1设置最大的NAT表项数为200;正常的网络访问肯定够用了,但如果使用bt,那么很快此IP的NAT表项数达到200,一旦达到峰值,该IP的其他访问就无法再进行NAT转换,必须等待到NAT表项失效后,才能再次使用,这样有效的保护了网络的带宽,同时也达到了警示的作用。
例如限制IP地址为10.1.1.1的主机NAT的条目为200条,配置如下:
ip nat translation max-entries host 10.1.1.1 200
如果想限制所有主机,使每台主机的NAT条目为200,可进行如下配置:
ip nat translation max-entries all-host 200
以上我们总结了目前可用的限制bt(p2p软件)的一些方法,具体采用哪种方法只能您根据自己网络的状况来定,当然也可以将几种方法结合起来使用。