BT软件的出现,使得网络带宽变得不够用了。据国际互联网流量监控公司的最新统计, BT、KAZAA、EMULE等P2P软件所用端口的数据流量已经超过了传统的HTTP 80端口,这表明目前互联网带宽已经被P2P软件侵吞,而HTTP浏览已经让出了第一把交易。小金所在公司的网络组最近在商量限制BT下载,因为带宽就是成本,就是金钱,不能被BT下载随意占用。这项艰巨的任务就落在了网管的肩上。方法1:封锁BT端口大家都知道如果要限制某项服务,就要在路由器上设置ACL(访问控制列表)将该服务所用的端口封掉,从而阻止该服务的正常运行。对BT软件,我们可以尝试封它的端口。一般情况下,BT软件使用的是6880到6890端口,小金在公司核心路由器上使用以下命令将6880到6890端口封锁。access-list 101 deny tcp any any range 6880 6890access-list 101 deny tcp any range 6880 6890 anyaccess-list 101 permit ip any any接着进入相应的端口,输入“ip access-group 101 out”使访问控制列表生效。配置之后,网络带宽就会马上释放出来,网络速度得到提升(图1)。Tw.wINGwIT.Com
图1但是,没过几天网络速度又减慢了。BT软件的端口明明都被封锁了,什么软件还在占用大量带宽呢?小金使用SNIFFER检测到几个不常用的端口的数据流量非常大。原来,很多员工使用第三方的BT软件(如比特精灵、BITCOMET)进行下载。这些软件可以自定义传输数据的端口,网内员工将传输数据的端口修改为没有被封锁的端口后又可以进行BT下载了。缺点:由于BT端口变化较大,所以用ACL封端口收效甚微,而且配置条数多执行起来比较费劲,另外大量的ACL也占用了路由器的CPU资源,影响了其他服务。优点:利用访问控制列表ACL封锁BT比较好管理,配置起来也很容易,使用起来相对灵活。通过ACL可以非常有效地封锁官方BT软件。方法2:封锁BT服务器既然无法有效地从本地端口进行封锁,那么只好从远程目标的地址入手了。在进行BT下载时,本机首先要连接远端的BT服务器,从服务器上下载种子列表再连接相应的种子,所以小金到各大BT交流论坛下载BT种子,以便获得BT服务器的地址。启动BITCOMET后选择“服务器列表”,在tracker服务器处就可看到BT服务器的地址(图2)。接着通过NUSLOOKUP或PING命令得到bt.ydy.com的IP地址为202.103.×.×(图3)。
图2
图3获得了BT服务器的IP地址后就可以到核心路由器上对该地址进行封锁了。具体命令为“access-list 102 deny tcp any 202.103.9.83 0.0.0.0”。最后小金在网络出口端口上运行“ip access-group 102 out”命令,使该访问控制列表生效。这样网内用户就不能访问这个BT服务器了,同时该服务器提供的所有BT种子都无法使用。接下来,小金收集了很多BT服务器的IP地址,将它们一一添加到控制列表“102”里。看着公司员工启动第三方BT软件后连接种子数为0,下载速度为0的情形,终于松了一口气。没有多久,公司的网络再次出现了运行缓慢的情况。小金通过监控系统发现又有人在使用BITCOMET下载电影,虽然下载速度不如从前,但仍占用了相当大的带宽。是什么原因使用户又能连接BT服务器呢?原来,在访问控制列表中使用的是IP地址进行过滤,而一旦BT服务器的IP地址发生了改变,针对IP地址的封锁就无效了。缺点:BT服务器很多,要找到每个服务器的IP地址然后进行封锁非常麻烦,而且也容易漏掉某些服务器。访问控制列表只能封锁IP地址不能封锁域名,对于IP地址经常变化的BT服务器来说,封锁是非常困难的。优点:该方法能有效地封锁大批的BT服务器,网管通过简单的管理服务器IP地址就能轻松禁止BT软件的使用,对于自定义端口的BT软件起到了非常有效的封锁作用。方法3:加载PDLM模块使用CISCO公司出品的PDLM模块可以省去我们配置路由策略的工作,封锁效果非常好。上文所介绍的两个方法,一个是对数据包使用的端口进行封锁,另一个是对数据包的目的地址进行封锁,虽然在一定范围内有效,但不能起到全面禁止BT的作用。通过“PDLM+NBAR”的方法来封锁BT就不存在这个问题了。CISCO在其官方网站提供了三个PDLM模块(图4),分别为kazaa2.pdlm、bittorrent.pdlm、edonkey.pdlm,可以用它们来封锁KAZAA、BT、电驴。在此,我们以限制BT下载为例。
图4建立一个TFTP站点。将bittorrent.pdlm复制到该站点。在核心路由器中使用“ip nbar pdlm tftp://TFTP站点的IP/bittorrent.pdlm”命令加载bittorrent.pdlm模块。接下来,设置路由策略。具体命令如下:class-map match-any bit//创建一个CLASS-MAP名为BITmatch protocol bittorrent//要求符合模块bittorrent的标准!policy-map limit-bit//创建一个POLICY-MAP名为limit-bitclass bit//要求符合刚才定义的名为BIT的class-mapdrop//如果符合则丢弃数据包!interface GigabitEthernet0/2//进入网络出口那个接口service-policy input limit-bit//当有数据包进入时启用limit-bit路由策略service-policy output limit-bit//当有数据包出的时候启用limit-bit路由策略如果不想每次启动路由器时都要手工加载TFTP上的bittorrent.pdlm,可以把这个PDLM文件上传到路由器的FLASH中,然后选择TFTP服务器的IP地址即可。提示:封锁KAZAA或EDONKEY时,在路由器配置中将“match protocol”后的“bittorrent”替换为“kazaa2”或“edonkey”即可,其他配置和封锁BT一样,在此就不作详细介绍了。通过NBAR加载PDLM模块法封锁BT软件后,小金已经完全断绝了公司内部的BT使用,所有员工在上班时间都能安心工作,网络速度也恢复到以前的稳定值。缺点:该方法配置起来相对麻烦,指令非常多,而且路由器每次重新启动后都要重新指定PDLM文件,如果将PDLM文件上传到路由器的FLASH中又会占用不少空间。通过路由策略进行封锁BT软件的同时也会占用路由器大量的CPU与内存资源,影响了数据包的传输速度。优点:通过该方法可以彻底封锁BT下载。