方法1:封锁BT端口
  大家都知道如果要限制某项服务,就要在路由器上设置ACL(访问控制列表)将该服务所用的端口封掉,从而阻止该服务的正常运行.对BT软件, 我们可以尝试封它的端口.一般情况

下,BT软件使用的是6880-6890端口,小金在公司的核心路由器上使用以下命令将6880-6890端口全部封锁.
  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 使访问控制列表生效.配置之后,网络带宽就会马上释放出来,网络速度得到提升.
  但是,没过几天网络速度又减慢了,BT软件的端口明明被封了,什么软件还在占用大量的带宽呢,使用SNIFFER检测到几个不常用的端口的数据流量非常大,原来很多人使用第三方的BT软件(如比特精灵,BITCOMET)进行下载,这些软件可以自定义传输数据的端口,修改为没有被封的端口后又可以进行 BT下载了.
  (注:缺点,由于BT端口变化较大,所以用ACL封端口收效甚微,而且配置条数多执行起来比较费劲,另外大量的ACL也占用了路由器的CPU资源,影响了其它服务
  优点:利用访问控制列表ACL封锁BT比较好管理,配置起来也很容易,使用相对而言比较灵活.通过ACL可以有效非常有效封锁官方BT软件)
方法2:封锁BT服务器
  既然无法有效的从本地端口进行封锁,那么只好从远程目标的地址入手.在进行BT下载时,本机首先要连接远端的BT服务器,从服务器下载种子列表再连接相应的种子,所以从各大BT论坛下载BT种子,以便获得BT服务器的地址.启动BITCOMET后选择服务器列表,在TRACKER服务器处可以看到BT服务器的地址,如(bt.ydy.com)接着通过NUSLOOKUP或者PING命令
可以得到服务器地址为202.103.X.X
  获得服务器地址后就可以到核心服务器上对该地址进行封锁.具体命令为: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+N BAR的方法来封锁BT就不存在这个问题了.
  CISCO在其官方网站提供了三个PDLM模块,分别为KAZAA2.pdlm,bittorrent.pdlm.emonkey.pdlm可以用来封锁KAZAA,BT,电驴,在此我们就封锁BT下载为例,
  建立一个TFTP站点,将bittorrent.pdlm复制到该站点,在核心路由器中使用ip nbar pdlm t[url]ftp://TFTP[/url]站点的IP/bittorrent.pdlm命令加载bittorrent.pdlm模块
  接下来设置路器策略,具体命令如下:
  class-map match-any bit
  //创建一个CLASS_MAP名为BIT
  match protocol bittorrent
  //要求符合模块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路由策略
  如果不想每次启动路由器的都要手工加载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下载)

方法4:限制速度。
我们也可以利用CISCO路由器特有NBAR来进行控制BT。NBAR (Network-Based Application Recognition) 的意思是网络应用识别。 NBAR 是一种动态能在四到七层寻找协议的技术,它比ACL功能强大,不但能做到普通 ACL 能做到那样控制静态的、简单的网络应用协议 TCP/UDP 的端口号,也能做到控制一般 ACL s不能做到使用动态的端口的那些协议,而BT就是使用动态端口的。
要实现对 BT 流量的控制,就要在CISCO的路由器上实现对 PDLM(Packet Description Language Module ) 的支持。 PDLM的意思是数据包描述语言模块。它是一种对网络高层应用的协议层的描述,例如协议类型,服务端口号等。它可以让 NBAR 适应很多已有的网络应用, 同时它还可以通过定义,来使 NBAR 支持许多新兴的网络应用,并且利用 PDLM 可以限制一些网络上的恶意流量。 PDLM 在思科的网站上可以下载,下载后,可以通过 TFTP 服务器将 bittorrent.pdlm 拷贝到路由中。
1、定义bt协议:
ip nbar pdlm bittorrent.pdlm
2、定义Class-map和policy-map
class-map match-all bit
match protocol bittorrent

policy-map limit-bit
class bit
police cir 240000
conform-action transmit
exceed-action drop

police cir 8000
conform-action transimit
exceed-action drop
5)应用到接口上实行限速:
interface fastethernet 0/1
service-policy input limit-bit (下载)
service-policy output limit-bit(上传)
ip nat outside
interface fastethernet 0/0
ip nat inside

ip nat inside list 1 pool nbar-pool overload
access-list 1 permit any
ip nat pool nbar-pool


其中8000 < 1k
80000 < 4k 5k, 5k 5k
160000 < 16K, 13K
240000 <=22k, 24K
800000 <=80K <100K