中小企业网络管理:ACL访问控制列表_第1页
中小企业网络管理:ACL访问控制列表_第2页
中小企业网络管理:ACL访问控制列表_第3页
中小企业网络管理:ACL访问控制列表_第4页
中小企业网络管理:ACL访问控制列表_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

现在网络是越来越复杂,网络数据也呈现出多样化,作为网络管理员必须能够拒绝不良的访问,同时又要允许正常的访问。当然现在有很多技术都可以实现,我们今天来看在企业网络管理中怎么利用Cisco路由ACL来实现访问控制。路由器为了过滤数据包,需要配置一系列的规则,以决定什么样的数据包能够通过,什么样的数据包不应该通过;这些规则就是通过ACL来定义的。ACL全称是:AccessControlList,中文就是访问控制列表。ACL是由permit或deny语句组成的一系统有顺序的规则组成,这些规则根据数据包的源地址、目标地址、端口号等来描述。ACL通过这些规则对数据包进行分类,并将规则应用到路由器的某个接口上,这样路由器就可以根据这些规则来判断哪些数据包可以接收,哪些数据包需要拒绝。从而实现网络的安全性,因此我们总结ACL主要目的很简单就是允许、拒绝数据包通过路由器;允许或拒绝Telnet会话的建立。当然路由器上默认是没有ACL的也就是说默认情况下任何数据包都可以通过。就像如果你们单位没有保安,那么任何人的出入都不会受到限制。那么就会给单位的财产带来不安全的因素。因此,可以在单位门口设置一个保安部,那么这个保安就会看如果是本单位的人进入,直接通过,如果不是就要盘问一番,如果是“良民”就大大的放行,如果是“日军”,就统统的“八个牙路”那么同理我们也可以在路由器的某个接口上设置这么一个保安,检查通过该接口上的每一个数据包,符合某个条件的通过,或者是符合某个条件的不允许通过。从而实现对数据包过滤的作用。我们所说的ACL分为两种:标准和扩展标准ACL,如下图所示:▲标准ACL大家从图中可以看出,标准ACL只检查数据包中的源地址,至于数据帧头是HDLC,数据报头是TCP,标准ACL统统不管,就认一个源IP头,也就是说标准ACL只会检查IP数据包的源地址,然后根据是否满足条件来决定是允许还是拒绝整个协议集。扩展ACL,如下图所示:▲扩展ACL扩展ACL比标准ACL检查的东西要多,检查源地址、目的地址、协议以及相应端口;即扩展ACL可以结合这四个参数来决定是允许还是拒绝某个特殊的协议如TCP,UDP,ICMP等等。所以扩展ACL的功能比标准ACL的功能要强!那么如何定义标准或者是扩展ACL呢?ACL的定义可以分为两类:1使用数字号码范围来定义2使用名字来定义1.使用数字号码范围定义:标准ACL的范围是1-99,扩展范围1300-1999扩展ACL范围是100-1999,扩展范围2000-2699在此为什么使用扩展范围呢,主要是因为现在的网络规模和网络的复杂性都在增加,原来的号码范围可能已经不能满足需要,所以推出扩展范围。2.使用名字来定义我们前面所介绍的标准ACL还是扩展ACL有一个使用起来很不方便的地方,就是如果在设置ACL的时候,如果发现中间有某个设置的不正确,希望删除某一条,是做不到的,那么就可以使用命名ACL,可以为每个ACL定义一个形象的名字。好处是可以对ACL中的每一个具体的规则进行处理,但如果是使用数字的话,只能是删除全部规则,不能删除其中一个规则。这样的话在大型网络中就不是很方便,而使用命名ACL可以解决这个问题:语法也很简单:(config)#ipaccess-listextended/standareddufei注意:标准和扩展都可以创建命名ACL然后在创建规则:如PermitPerimit那如果我们希望删除其中一个如第一个,则使用nopermit.即可,其他的仍然存在。访问控制列表还涉及到一个进站和出站的问题,也就是数据包的流向是进方向还是出方向。当然是进还是出要看具体情况,有的时候可以应用在任何一个上面。有的时候就必须唯一确定。我们看一下出站方向上的ACL应用,我们还是从一个图入手,如下图所示:▲ACL应用分析:1.数据包通过入站接口进入路由器,此时开始查找路由表中是否有匹配的路由条目,如果没有,则直接将其丢弃。这一步和ACL还没有任何关系,只是没有相应路由,就无法转发数据包,所以在此也需要说明一点,ACL也必须在数据包能够被路由的基础之上才起作用。2.如果路由表中有相应的路由条目才被路由到一个相应的接口上。3.查看该接口是否有ACL的配置,如果没有则立即被转发,如果设置了ACL,则检查该数据包是否匹配ACL规则。如果匹配并规则中明确该数据包可以正常转发。否则丢弃!注意:如果ACL测试规则中没有明确指定数据包通过,则说明此数据包没有与相关的规则匹配,那么还有一个隐含的规则就是denyall,这一点和微软的ISA是一样的,安装好防火墙就有一个默认规则拒绝一切,可以说是“六亲不认”!下面咱们就来细说一下ACL规则测试,如下图:▲ACL规则如图所示,在ACL中可以有多个规则。如图:假设在ACL中有三个明确规则,则数据包进入后首先匹配第一个规则,如果数据包匹配该规则并设置为permit,则数据包被转发,如果数据包也匹配该规则,但却被设置为deny,则数据包直接被丢弃。如果第一个规则不匹配则该数据包继续向前走,此时再检查是否匹配第二个规则,如果匹配并设置为permit,则该数据包被转发,如果匹配但被设置为deny则被丢弃。如果第二个规则也不匹配则继续向前走,此时遇到第三个规则,同时还是检查是否匹配,如果匹配并设置为permit,同样也可以被转发,如果被设置为deny,则被丢弃。如果第三个是规则是最后一个,该数据包都没有匹配,注意:1.规则最后千万不要忘记还有一个隐含规则:DenyALL!!!2.在此还需要注意,Cisco的ACL规则完全是按照规则编写的顺序进行的。所以最精确的规则应当写在最上方,否则将被大范围的规则所覆盖而导致设置失效。如拒绝一台主机访问外网,必须先写拒绝这一台,然后再写运行所有,那如果顺序错了,运行所有在上面,拒绝一台在下面,系统会检查一个数据包,发现任何一个数据包都可以通过,就直接转发了,下面的一条就不起作用了!3.必须先创建ACL,再应用到相应的接口上4.ACL不能过滤路由器自己产生的数据。ACL理论东西没有太多,也很简单,下面咱们来看一下标准控制列表的配置过程,其实不论是标准还是扩展ACL的配置主要就是两个命令1设置访问控制列表Router(config)#access-listacl_numberpermit|deny{}2在接口上应用访问控制列表Ipaccess-groupacl_numberin|out这里可以是某个接口,也可以是VTY,Qos等应用中。其中in代表是入站方向,out代表的是出站方向。那么标准ACL就显得更简单了,如:Access-listacl_number{permit|deny}source[mask]其中acl_number指的是ACL编号范围:1-99或1300-1999Permit表示通过Deny表示拒绝Source代表的是源地址,可以是某一个主机或是一个网段Mask掩码,但需要注意的是ACL支持的是反掩码,所以在设置的时候一定要注意。但我们有时候可能会在source前面加上host或是any,这又是什么用意呢?Host不是必须的,但是当匹配一个特定的主机地址时是非常有用的。也就是使用host的时候是匹配的某一个具体的主机,是一个精确匹配,此时的反掩码则.0如:1Access-list10permit.055表示的是一个网段,表示匹配该网段的所有数据报文。2access-list10permit.表示匹配源地址是0这一个具体的主机,这个语句可以写成access-list10permithost0Any也不是必须的,但是如果是匹配所有报文时是非常有用的,表示匹配所有的地址,是.055的简写如:Access-list10permit.055表示所有数据包通过,此语句可以写成:Access-list10permitany下面结合几个小实例来看一下标准ACL的具体配置过程:我们所参考的拓扑图如下:▲实验拓扑图我们结合这个拓扑来做三个实验:实例1:我们只允许与两个网段可以通讯Router>enRouter#conftEnterconfigurationcommands,oneperline.EndwithCNTL/Z.Router(config)#interfacefa0/0Router(config-if)#noshutdownRouter(config-if)#exitRouter(config)#interfacefa0/1Router(config-if)#noshutdownRouter(config-if)#exitRouter(config)#interfacee1/0Router(config-if)#noshutdown现在默认情况下,三个网段之间是可以进行正常通讯的,如图:▲配置前那么下面我们怎么做才能只让10.0和20.0通讯呢,具体配置如下:Router>enableRouter#conftRouter(config)#access-list1permit192.168.10..255Router(config)#access-list2permit192.168.20..255Router(config)#interfacefa0/0Router(config-if)#ipaccess-group2outRouter(config-if)#exitRouter(config)#interfacefa0/1Router(config-if)#ipaccess-group1outRouter(config-if)#exitRouter(config)#然后测试如下:▲配置后刚才我们是匹配的整个网段,下面咱们看如何匹配一个具体的主机:实例2:我们不允许0可以访问非网段,也就是不允许0这一台机器访问网段具体配置如下:Router>enableRouter#conftRouter(config)#access-list1permitanyRouter(config)#interfacee0/2Router(config-if)#ipaccess-group1out此时再来测试:▲禁止某一主机大家可以看到和网段通讯没有问题,但是和网段就不行,这就是对某一台机器进行精确匹配,那么如果我们把0的IP改为00又如何呢?▲调整IP发现又可以通讯了,因为和我们所设置的规则不匹配了!同时我们也是通过几个实例来具体看一下扩展ACL的配置,关于标准ACL与扩展ACL的区别,我们在前面已经做了介绍,在此不再累述,下面看具体的匹配命令;1创建ACL:Access-listACL_numberpermit|denyprotocolsourewildcard[port]destinationwaildcard[port]大家一看就觉得比标准ACL要复杂点,这要可以指定源地址,目标地址,使用的协议以及使用的端口号等,当然还可以使用log来指定日志服务器,在此不作讲解!2在接口上应用ACLIpaccess-groupACL_numberin|out下面咱们还是通过具体的实例来掌握扩展ACL的应用实例3:我们拒绝telnet到上的任何一个主机上!▲拓扑图具体配置如下:Router>enableRouter#confterminalRouter(config)#access-list101denytcp192.168.20.Router(config)#access-list101permitipanyany注意:默认有一个denyall接下来要应用以相应的接口上,例如出端口E0/0Router(config)#interfacee0/0Router(config-if)#ipaccess-group101out配置还是很简单的!只不过需要注意有的服务是有辅助端口的,所以一定要把辅助端口一起封!如,如果需要封FTP服务器,则需要使用两条语句:Router(config)#access-list100denytcp192.168.20.Router(config)#access-list100denytcp192.168.20.查看某上端口上应用的访问控制列表,我们可以使用命令:showipinterface接口,如图:▲查看接口还可以查看所有的访问控制列表:showaccess-lists▲查看ACL表反向ACL的用途反向访问控制列表属于ACL的一种高级应用。一般使用在源访问对方可以,但反之不行。如A访问B节点可以,但是B不能访问A节点。如我们在Router1上可以telnet到Router2,但Router2不能telnet1上。那有人可能要问这是怎么实现的,在这里我们就以ping为例讲一下其中的原理,我们知道Ping使用的是icmp协议,但同样是icmp协议,它所使用的类型是不同的,简单说我们ping对方,是发出一个icmprequest类型的数据包,但是对方回来的是则是携带了我们request标志的reply类型的包,所以我们如果只希望ApingB,不让BpingA,就可以这么判断,如果ApingB,发现回来的ICMP包是携带了A的request标签则允许通过,否则拒绝,就OK了!也可以用于保护网络的安全性,如我们只能由内部网络始发的,外部网络的响应流量可以进入,由外部网络始发的流量如果没有得到一个明确的允许,是禁止进入的。说白了,就是内网可以访问外网,但外网不能访问内网,如图所示:▲拓扑图如,咱们看一个实例:我们希望内网的网段可以访问(ping)外网的,但是外网不能ping内网。这里需要使用ReflexiveACL技术,基中包含两个部分,一部分是outbound的配置,另一部分是inbound的配置。工作流程:由内网始发的数据到达路由器后,路由器会生成一个三层和四层的临时访问表,在此会将其中的一些参数作一些更改,如源IP和目标IP,源端口和目标端口适当作些对调操作。这样的话,当数据包从外网再进入内网的时候会检查此表,如果匹配上,则路由器才会允许此数据进入内网。ACL应用位置:标准的ACL的应用位置应该是离目的近的地方,而扩展的ACL则应该是离源近的地方对于标准的ACL来说,仅定义了它的源,如果你把它放在离源近的地方,那么它会把所有该源的流量给阻断,或者产生其他的效果.为了避免这种情况产生,所以将标准的ACL放置在离目标较近的地方,也就是远源端.但是对于扩展的来说,我们定义了它的源IP,目标IP,源端口,目标端口,以及协议,这种完全可以进行精确的匹配,所以不用担心它会对不需要控制的流量产生影响,而将其放在近源端口,这样也可以在一定程度上面节约带宽。基于时间的ACL:顾名思义是根据时间对ACL进行配置,如我们单位规定禁止在上网班时间使用QQ,MSN等等操作。如:我们禁止在上午9:00--下午17:00访问互联网上的Web站点即(http:80/https:443)基于时间的访问控制列表由两部分组成,第一部分是定义时间段,第二部分是用扩展访问控制列表定义规则。这里我们主要讲解下定义时间段,具体格式如下:time-range时间段名称absolutestart[小时:分钟][日月年][end][小时:分钟][日月年]当然也可以使用Periodic:为周期性重复使用的时间范围的定义。完整格式为periodic日期关键字开始时间结束时间例如:time-rangedufeiabsolutestart9:001may2009end12:001may2010意思是定义了一个时间段,名称为dufei,并且设置了这个时间段的起始时间为2009年5月1日9点,结束时间为2010年5月1日中午9点。我们通过这个时间段和扩展ACL的规则结合就可以指定出针对自己公司时间段开放的基于时间的访问控制列表了。当然我们也可以定义工作日和周末。下面看一个小例子:目的:我们部分规定只允许网段的用户在周末访问0(娱乐服务器)上的FTP资源,工作时间不能下载该FTP资源。路由器配置命令:ime-rangeftptime定义时间段名称为ftptimeperiodicweekend00:00to23:59定义具体时间范围,为每周周末(6,日)的0点到23点59分。当然可以使用periodicweekdays定义工作日或跟星期几定义具体的周几。access-list101denytcpany0eqftptime-rangeftptime设置ACLaccess-list101permitipanyany设置ACL,容许其他时间段和其他条件下的正常访问。inte1ipaccess-group101out应用ACL在VTY上应用标准ACL:我们可以利用ACL来控制对VTY的访问,ACL可以用在VTY上,我们在第二节中介绍过VTY,其实也就是对Cisco设备的Telnet操作,一般我们说可以将ACL应用在5个VTY虚拟终端上。但是要注意的是Cisco是否仅支持5个VTY,这要根据路由器的版本和内存和决定,所以在设置ACL的时候一定要先弄清楚VTY的数量)将ACL应用在VTY上,可以实现不考虑路由器的物理接口的拓扑来实现对路由器的远程控制。但是要注意的是在此只能使用标准ACL。那么具体设置命令也很简单:我们前面是在某个接口上设置ACL,所以必须使用interface命令进行接口模式,而在此需要进入vty线路模式。在应用的时候是使用access-class而不是ipaccess-group;我们来具体看一下:1进行线路模式命令:linevtyvty-_number|vry_range在此可以一个具体终端或指定的一个地址范围,一定要注意事先查清VTY的数量2应用ACL:命令:access-classA

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论