扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
目前常用的办法是:
方法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软件)的一些方法,具体采用哪种方法只能您根据自己网络的状况来定,当然也可以将几种方法结合起来使用。
备注:
NBAR(Network-Based Application Recognition,基于网络的应用识别)是一种流量分类引擎,能够通过数据包本身的描述识别该数据属于何种应用服务。在CISCO IOS的12.0(5)XE2引入了该特性。通常NBAR会用于辅助CISCO IOS的QOS(服务质量),由NBAR将通过路由器的流量进行流量分类,CISCO IOS根据分类结果对不同类别的流量实施QOS特性。
NBAR能够动态的寻找并分类通过路由器的四到七层流量中的协议,可以识别动态分配TCP和UDP端口号的有状态应用(如P2P类文件共享程序),可以识别常用的TCP和UDP协议的端口号及其他类型的三层协议、包含在应用层数据里的命令等。NBAR还可以用于识别攻击流量,并在确认流量为恶意流量之后,进行丢弃。
通过和数据包描述语言模块(PDLM)配合,NBAR可以拥有更加强大的功能。PDLM是已经定义好的用于增强NBAR网络协议分析和应用的识别能力的模块,在CISCO官方网站上提供了很多已经定义好的PDLM,可以使用CCO号登陆CISCO网站进行下载。通过加载PDLM可以增强NBAR的能力,而不需要重装CISCO IOS软件。下载到需要的PDLM模块文件后,可以使用TFTP方式COPY模块到路由器的FLASH中,然后使用ip nbar pdlm [模块名] 命令进行加载。PDLM还允许管理员自定义协议和端口号对特定的流量进行审查。
使用NBAR功能,首先要在路由器启动CISCO快速转发功能,然后根据需要审查的流量使用class-map建立审查分组(类), 可以具体的定义需要审查何种应用类型,数据包长度,连接地址等。完成了流量分类,就可以通过定义policy-map来指定各种流量对应的安全规则,比如对于攻击流量进行丢弃,使用带宽管制对可疑流量进行带宽限制。最后需要在接口下启用流量策略。
NBAR也有很多缺陷,例如不支持HOST或MINE的匹配类型,不支持非IP流量,不支持组播或其他非CEF的交换模式,不支持被分片的数据包等。NBAR特性不被逻辑接口支持,包括快速以太网信道、TRUNK接口、交换虚接口等。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。