每个校园网络的管理者对管理的网络都有不同的理解,因此,对于BT下载的控制方式也不尽相同。但归根结底无非是两种做法,一是“堵”,即通过技术手法隔离BT,杜绝一切BT流量;二是“疏”,即在特定的范围、时间内可以使用BT,允许流量通过,满足大家的需求。
堵隔BT流量 限制浏览BT网站
BT网站很多,但考虑到BT下载的特点:下载的人数越多,速度越快;种子越多,速度越快。只有比较热门BT网站的Torrent文件下载的人才会比较多,一般的BT网站去的人就比较少,下载的人数也少,除非他能忍受每秒几K的速度。因此针对比较热门的BT网站,获得服务器地址后就可以到核心服务器上对该地址进行封锁。以Cisco设备为例,具体命令为:
access-list 102 deny tcp any 202.103.9.83 0.0.0.0
这种方法使用access-list命令来控制,实现起来比较容易。但由于BT网站比较多而且层出不穷,因而access-list命令的条数会因为BT服务器的数量增加而增加,随着access-list命令条数的增多路由器的负荷也随之增加。从实际操作上来看,BT的种子网站众多,而且无需固定的服务器,要想监控,难度也很大,技术上难以实现。
封闭BT下载端口
解决BT对局域网的危害,最彻底的方法是不允许进行BT下载,BT一般使用TCP的6881~6889的端口,网络管理员可以根据网络流量的变化进行判断,在网关中将特定的种子发布站点和端口封掉,在BT下载软件中的Track中可以获得这些信息;但是现在大多数BT软件可以修改端口号,因此网管可以根据实际情况,利用访问控制列表在不影响正常业务的情况下尽可能将封闭的端口范围扩大,把一些特定的种子发布站点和端口进行封闭。以Cisco设备为例,具体命令为:
access-list 101 deny tcp any any range 6880 6890
access-list 101 deny tcp any range 6880 6890 any
access-list 101 permit ip any any
接着进入相应的端口,输入ip access-group 101 out 使访问控制列表生效配置之后,网络带宽就会马上释放出来,网络速度得到提升。
这种方法也使用access-list命令来控制,实现起来比较容易。但是由于BT可以自由变换端口,这样一来,势必要封堵大量的端口,封闭了端口必然影响了网络的应用。有的网络管理员甚至仅仅打开80、53、21、25、110等常用端口而封闭其他所有端口。
加载PDLM模块
使用Cisco公司出品的PDLM模块可以省去我们配置路由策略的工作,封锁效果非常好。上文介绍的两种方法,一个是对数据包的目的地址进行封锁,一个是对数据包使用的端口进行封锁,虽然在一定范围内有效,但不能起到全面禁止BT的作用,通过PDLM+N BAR的方法来封锁BT就存在这个问题了。
Cisco在其官方网站上提供了三个PDLM模块,分别为KAZAA2.pdlm,bittorrent.pdlm和emonkey.pdlm,可以用来封锁KAZAA、BT、电驴。在此我们以封锁BT下载为例。
建立一个TFTP站点,将bittorrent.pdlm复制到该站点,在核心路由器中使用ip nbar pdlm tftp://TFTP站点的IP/bittorrent.pdlm命令加载bittorrent.pdlm模块。
接下来设置路由策略,具体命令如下:
class-map match-any bit
BIT
match protocol bittorrent
准!
policy-map limit-bit
//创建一个POLICY-MAP名为LIMIT-BIT
class bit
//要求符合刚才定义的名为BIT的CLASS-MAP
drop
//如果符合则丢数据包!
interface gigabitEthernet0/2
//进入网络出口那个接口
service-policy input limit-bit
//当有数据包进入时启用LIMIT-BIT路由策略
service-policy output limit-bit
//当有数据包出的时候启用LIMIT-BIT路由策略