访问控制列表ACL的配置与使用

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

访问控制列表ACL的配置与使用访问控制列表,即AccessControlList,以下简称ACL,是路由器、交换机等网络设备上最常用的功能之一。可以说大多数的网络协议都跟ACL有着千丝万缕的联系,所以要弄清楚ACL的用法非常重要。实际上,ACL的本质就是用于描述一个IP数据包、以太网数据帧若干特征的集合。然后根据这些集合去匹配网络中的流量(由大量数据包组成),同时根据策略来“允许”或者“禁止”。ACL的基本原理:如图1、ACL由若干条件,并按照一定的顺序而成,同时每个条件都对应了一个策略:允许或者禁止。2、收到一个数据帧之后,ACL会按照从上到下的顺序逐一匹配:●一个条件不匹配就查看下一个;●任意一个条件匹配后就按照指定的策略执行,并跳出匹配;●所有条件都不匹配时,默认禁止,即deny。根据条件描述的不同,我们通常可以将IPACL分为基本型和扩展型两种。其中基本型只能就数据包的源ip地址进行匹配;而扩展型ACL就可以对源IP、目的IP、协议号(判断tcp/udp/icmp等)、源端口号、目的端口号、QoS参数(tos、precedence)等参数来进行定义,同时在匹配时,还可以根据路由器系统时间(time-range)来变化、还可以选择是否生成日志(log)等,功能非常强大。显然标准型ACL功能非常简单,而扩展型ACL功能非常强大;但是功能越强大,匹配的越详细,对于路由器等网络设备的性能要求越高,或者对于网速的拖慢越明显。组网时需要酌情使用。不过有一点,两种类型的ACL在原理上是完全一致的。标准型ACL只能匹配源IP地址,在实际操作中,有三种匹配方式:1、any,任意地址2、netmask,指定ip网段3、src_range,指定ip地址范围配置模板:ipaccess-liststandardname//建立一个标准型的ACL,名字自定{permit|deny}any{permit|deny}networknet-mask{permit|deny}src_rangestart-ipend-ip例1:我们需要设置某局域网中只有192.168.1.0网段的用户能够上网(理论上有254个用户),那么应该是ipaccess-liststandardtestpermit192.168.1.0255.255.255.0denyany(隐含生效,无需配置)例2:我们需要设置某局域网中只有192.168.1.2~192.168.1.80的用户能够上网(理论上有79个用户),本网段的其他用户无法上网,那么应该是ipaccess-liststandardtestpermitsrc_range192.168.1.2192.168.1.80denyany(隐含生效)例3:我们需要让某局域网中只有192.168.1.0网段用户上网,但是192.168.1.33这个ip地址的用户要禁止(财务禁止上网)(理论上有253个用户),那么应该是ipaccess-liststandardtestdeny192.168.1.33255.255.255.255permit192.168.1.0255.255.255.0denyany(隐含生效)注意:例3中,要表示单个主机的话,掩码必须是4个255,即32位掩码;同时所有的例子中,各个条目的先后顺序不能搞错,想想看为什么?扩展型ACL可匹配的条目比较多,前面已经说过,但世纪上最常用的项目也就是源、目的IP,源、目的端口号,以及ip协议号(种类)这5种,这5种就可以用来满足绝大多数的应用。由于匹配的条目比较多,在一个条件中,这些项目也是有前后顺序的,为:协议号,源ip地址,源端口号,目的ip地址,目的端口号;其中,协议号必须写(ip、icmp、tcp、udp等);源ip地址也必须写,其表示方式也有三种,与标准acl相同(如果不想匹配,以any来代替);源端口号可以不写,表示any;目的ip地址必须写;目的端口号必须写(当协议号为tcp/udp时,源和目的端口号中至少应当写一个)配置模板:ipaccess-listextendedname{permit|deny}{ip|icmp|tcp|udp}{any|network|src_range}[src_port]{any|network|src_range}[dst_port]例1:网络中除了正常的web访问、邮件收发,其他所有的应用都要禁止ipaccess-listextendedtestpermittcpanyanyeq80permittcpanyanyeq25permittcpanyanyeq110denyipanyany(隐含生效,后面不再贴出来了)例2:禁止本网(192.168.1.0)到172.16.11.0网段的访问,其他的不受限制ipaccess-listextendedtestdenyip192.168.1.0255.255.255.0172.16.11.0255.255.0.0permitipanyany(本条必须写,想想看为什么)例3:网络中,要禁止所有用户去ping、telnet、http访问某服务器(dns服务器,ip为192.168.1.3),但要其正常提供服务ipaccess-listextendedtestdenyicmpany192.168.1.3255.255.255.255denytcpany192.168.1.3255.255.255.255eq23denytcpany192.168.1.3255.255.255.255eq80permitipanyany注意:在设置扩展型ACL时,要特别注意各个条件之间的关系,如果是“包含”的话,要把范围小的条目写在前面。常见的包含关系例如:icmp包含tcp、udp和icmp;192.168.0.0255.255.0.0包含192.168.1.0255.255.255.0192.168.1.0255.255.255.0包含range192.168.1.1192.168.1.10不指定端口(portany)包含具体指定的端口,如tcp80等等按照前面的介绍,我们了解了ACL的基本原理、配置使用和常见分类,但是他们有什么用呢?从配置的角度来看,上面的ACL写好之后,啥用都没有。原因是因为没有调用。具体而言,由哪个模块来调用,就决定了它将起到什么作用,这也是ACL应用广泛的根本原因。常见的调用ACL的模块有:包过滤:ipaccess-group网络地址转换:NAT策略路由:PBRip服务质量:QoS动态路由过滤:RIP/OSPF等但作为最基本的应用,还是access-group。其调用方法非常简单,但关键要确定两个因素:1、具体的接口一般选择什么接口呢?一般的原则是离开要被控制的主机更近的那个口。如:PCA--------F0/0RouterF0/1--------ServB在这个逻辑拓扑中,要禁止PCA去访问ServB,那么显然在F0/0口上调用更加合适;2、方向虽然有in和out两种方向可选,但我们建议使用in方向。注意,这里的方向跟两个主机之间的源、目的地址相对关系有关。如上面的逻辑拓扑中,如果是F0/0的in方向上,PCA是源;而在F0/1的in方向,ServB则是源。使用时,请一定要注意配置模板:interfacefastethernet0/0ipaccess-groupnamein注意:一个接口的一个方向上只能同时调用一个ACL条目!!!使用时的若干注意点:在不影响网络正常运行,且能够达到预期目的的情况下,应当做到1、ACL的条目数尽量少(建议总的数量不要超过10条)2、合并ACL条目如denyip192.168.1.0255.255.255.0any和deny192.168.2.0255.255.255.0可以合并为192.168.0.0255.255.255.1923、尽量选择ACL的in方向调用4、注意ACL中有隐含生效的denyipanyany(不用配置)如:ipaccess-liststandardtestdenyip192.168.1.11255.255.255.255denyip192.168.1.22255.255.255.255这个acl的作用就是禁止所有的ip进行通讯。要改变这种情况的话,需要在最后增加一个permitipanyany。博达路由器上面还有一种特殊的ACL,名为FastAccess,它相当于一种另外的“标准型”访问列表,它只能判断TCP、UDP、icmp协议的目的端口号。这种ACL只适用于BDCOM路由器,通常用来禁止一些危险的、常见的病毒传播端口等。FastAccess这种ACL的基本原理跟前面基本一致,只是可匹配的项目种类有所不同。且只能设置为deny策略,不能设置为permit(不deny就是permit),且没有默认隐含deny的规则。下面是配置模板:interfaceFastethernet0/0//接口模式中配置ipfastaccessdenytcp135ipfastaccessdenytcp139ipfastaccessdenytcp445ipfastaccessdenytcp1025ipfastaccessdenytcp1433ipfastaccessdenytcp4444ipfastaccessdenytcp5554ipfastaccessdenytcp9996ipfastaccessdenyudp69ipfastaccessdenyudp1434前面讲的都是IPACL,是属于网络层次的第三层,即网络层。一般只是路由器、三层交换机上才可能会这样设置,当然防火墙设备可能也会有类似的机制,但通常多位GUI图形化配置页面。那么如果要在二层交换机上面配置ACL来过来一些用户流量该怎么做呢?显然因为层次不同的原因,IPACL就不能用了,这需要用到另外的一种MACACL,即二层访问控制列表macacl的原理跟一楼的基本原理完全一致,但它只能匹配源和目的mac地址。另外,由于macacl相对较为简单,就不在区分基本和扩展等类型了。下面是配置模板,大家一看就明了:macaccess-listnamepermit{hostsrc.MAC.Addr|any}{hostdst.MAC.Addr|any}deny{hostsrc.MAC.Addr|any}{hostdst.MAC.Addr|any}!interfaceFastethernet0/1macaccess-groupname注意:1、macacl中同样有隐含的denyanyany规则存在,使用时要注意2、macacl在调用时没有方向参数的,原因是默认在in方向生效。

1 / 15
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功