演示:扩展ACL的配置与应用技巧


技术交流与答疑请加入群:1952289


标准ACL无法同时匹配通信源地址与目标地址的特性,也不无法满足现今网络世界“粒度化”控制的要求,比如:允许访问某一服务器的某项服务功能,但是不允许Ping通该服务器。那么,就需要使用扩展的ACL来替代标准的ACL的应用,在实际的应用控制中,扩展的ACL较标准ACL而言,似乎更受管理员的喜爱。

演示目标:配置扩展ACL为网络应用提供更“粒度化”的控制。

演示环境:使用演示标准ACL的配置部分的图10.6 ACL的演示环境所示。

演示背景: 要求主机A(192.168.1.2)可以访问服务器A的Web服务;但是不允许主机A ping通服务器A所在的子网;允许主机A ping通服务器B和服务器C所在的子网。请使用扩展ACL完成上述的控制要求,并思考应用ACL的位置。

演示步骤:


第一步:保持上一个实验的所有基础配置,但是请删除原本的所有标准ACL的配置,然后根据演示背景需求,完成如下扩展ACL的配置,这一配置建议在路由器R1上完成,因为扩展的ACL可以同时匹配通信源地址与目标地址,可以将其应到距离通信源较近的位置。

R1(config)#access-list 101 permit tcp 192.168.1.0 0.0.0.255 host 192.168.5.2 eq www

* 定义扩展ACL列表101(基于IP的扩展ACL编号的取值范围是100-199);permit tcp 192.168.1.0 0.0.0.255host 192.168.5.2 eq www 指示允许源子网192.168.1.0对目标地址192.168.5.2的TCP端口80进行访问,注意,语句中的第一个IP子网和反码指示通信的源子网与对应的反码;第二个IP地址192.168.5.2被host申明为是一台具体的主机。

R1(config)#access-list 101 deny icmp 192.168.1.0 0.0.0.255 host 192.168.5.2

* 定义扩展ACL列表101的第二条语句拒绝源子网192.168.1.0通过ICMP协议访问目标主机192.168.5.2。

R1(config)#access-list 101 permit icmp 192.168.1.0 0.0.0.255 host 192.168.4.2

* 定义扩展ACL列表101的第三条语句允许源子网192.168.1.0通过ICMP协议访问目标主机192.168.4.2。

R1(config)#access-list 101 permit icmp 192.168.1.0 0.0.0.255 host 192.168.3.2

* 定义扩展ACL列表101的第四条语句允许源子网192.168.1.0通过ICMP协议访问目标主机192.168.3.2。

R1(config)#interface e1/0

R1(config-if)#ip access-group 101 in

R1(config-if)#exit

建议:将ACL 101应用到路由器R1的E1/0接口,也就是距离源子网最近的位置,这样做可以让ACL的利用率更高,流量更合理,因为扩展ACL能同时匹配源地址与目标地址,所以从理论上讲,只要能达到控制标准,在流量经过的任何设备上都可以做应用,但是建议在距离源子网最近的位置应用它,因为没有必要将最终被过滤流量转发到目标或者中途才丢弃,这对于宝贵的带宽利用率不科学。

第二步:当完成上述配置后,在主机A(192.168.1.2)上去访问服务器A的Web服务,然后去Ping服务器A、B、C,如果配置无误,应得到如下图10.12所示的状态,这与背景说明中的控制要求一致。

第三步:为了查看路由器R1上的过滤状态,可以通过在R1上执行show ip access-lists指令查看ACL的匹配状态如下图10.13所示,可以看出有5个WWW的数据包被允许;8个到服务器A的ICMP的数据包被拒绝;分别有4个到服务器B和C的ICMP数据包被允许。


关于ACL的其它输写形式与应用注意事项

在前面的几个小节中描述了关于标准与扩展ACL的应用,并演示了具体的配置过程,在本节主要对ACL的应用事项进行一下总结,其中包括ACL的输写形式、ACL的应用位置、ACL条目的增加与删除,具体如下:

关于ACL语句的输写形式:

access-list 1permit host 192.168.100.1等于access-list 1 permit 192.168.100.1 0.0.0.0的功能,语句中的host是申明配置的地址是一个主机地址,它等于反码的全匹配(0.0.0.0),以全匹配形式出现的反码,表示匹配的IP地址是一个主机IP地址。

access-list 102permit tcp 0.0.0.0 255.255.255.255 0.0.0.0255.255.255.255 eq www 等于access-list 102 permit tcp any any eq 80的功能,语句中的源IP地址和目标IP地址都是0,指示源和目标IP地址可以是任意IP地址;源地址和目标地址的反码都是255,指示不关心任何位,它就等同于在扩展ACL中源和目标IP地址都以any关键字出现的情况;eqwww就等于eq 80,因为TCP 80号端口正是众所周知的www服务端口,但是这里提出一个注意事项,如果Web服务器的端口没有使用众所周知的80号端口,出于某种安全原因或者特殊要求,服务器管理员自定义了Web的服务端口号,那么,在输写ACL时,就只能在eq关键字之后申明具体的端口号,而不是申明www,否则ACL将无法完成匹配。

access-list 102permit ip host 192.168.1.2 host 192.168.2.2等于access-list 102 permit ip 192.168.1.20.0.0.0 192.168.2.2 0.0.0.0;ACL的语句中的源IP和目标IP都是具体的主机IP地址,所以可以在ACL语句中使有host关键字申明主机地址,它和反码的全匹配形式所表示的意义同种。

关于ACL应用位置的设计:

n标准ACL只关心源地址,所以必须将其应用到距离控制目标最近的接口位置。

n扩展ACL既关心源地址,又关心目标地址,建议将其应用到距离控制源最近的接口位置,这样可以优化流量,减少主干网上没有必要的流量开销。

n在同一接口、同一协议、同一方向只能应用一个访问控制列表。

n访问控制列表,只能过滤穿越路由器的流量,对应用访问控制列表的路由器本地产生的流量不生效。

关于在传统IOS版本中ACL条目的增加与删除问题

在传统的IOS版本中,对ACL条目的增加或者删除是一件非常痛苦的事情,因为当一个ACL的多条语句被配置在路由器之后,如果想要在ACL中增加一条过滤语句,那么这条增加的语句将出现在已存在的所有ACL语句之后,这样就会出现安全漏洞,为网络造成风险行为,为了更好的理解这一点,现在要举一个实例:

用户首次已经完成了一条ACL 101的编写:

ACL 101的第一条语句:access-list 101 deny ip host 192.168.1.2 host192.168.2.1

ACL 101的第二条语句:access-list 101 permit ip any any

现在用户希望更改原有的ACL 101,希望在上述的两条语句之间加入如下所示的ACL语句:

access-list 101 deny ip host192.168.3.1 host 192.168.4.1

但是当你完成加入后,这条被加入的语句将被放到ACL 101的最后,如下图10.14所示,这样,它的匹配顺序也如图所示,最后加入的语句被放置到ACL列表的最后,而第二条语句是允许任何流量,所以根本不会给第三条语句匹配的机会,那么第三条语句将永远不生效,即便是您可能希望它于permit any any 之前生效,但事实上它不会,这类似于微机原理里面的堆栈原理,先进入。先调用。

所以在传统IOS中管理员对ACL的修改变得很头痛,通常,管理员会把现在的ACL复制到一个文本文件中进行增加或者删除语句的操作,然后把原本在路由器上配置的ACL通过no access-list 101全部清除,再将文本文件中修改完成的ACL复制到路由器上,无法做到逐条修改ACL语句的效果。

使用ACL的增强编辑功能来增加与删除ACL条目

新的IOS将打破传统IOS对ACL条目修改的限制,如下图10.15所示,它为每条ACL语句增加了序列号,比如第一条ACL语句的序列号是10,第二条ACL语句的序列号是20,以10作为输写第一条ACL的基数数字序列号,然后,输写一条新的ACL语句就递增10,所以此时如果需要在序列号为10和20之间增加一条ACL语句,那么,只需要增加一条属于10-20之间的序列号,新增的ACL语句就会存在于10和20之间。

比如,现在,在10和20之间增加一条序列号是15的ACL语句,具体配置如下所示,在,在配置语句中的15是指示即将插入的ACL语句的序列号, 完成配置后,可以在路由器上使用show ip access-lists来查看各条ACL的语句如下图10.16所示,可看出在序列号10和20之间出现了一条序例号是15的ACL语句,这就突破了传统IOS对ACL编辑的困难,它增强了对ACL的编辑能力。

在两条ACL语句之间插入一条序列号是15的配置:

R1(config)#ip access-list extended 101

R1(config-ext-nacl)#15 deny ip host 192.168.3.1 host192.168.4.1

IOS的版本如此众多,在使用时,怎么知道,哪些IOS版本支持ACL的增强编辑功能,哪些IOS版本不支持ACL的增强编辑功能?很简单,用户不需要去记IOS的版本号,因为这确实是一件很难记住的事情,可以直接通过show ip access-lists来查看ACL列表,如果在显示结果中,每条ACL的语句前都有一个序列号,那么该设备就支持ACL的增强编辑功能,反之则不能。

提问:为什么IOS系统自动为ACL语句插入序列号时会以10作为基数(第一条ACL语句的序列号);并以10作为递增数来插入随后的ACL序列号


事实上,这也是为了编辑ACL的方便,为第一条ACL语句产生时就将序列号基数设置为10,是为了给原始的第一条ACL语句之前再插入ACL预留了空间,至少用户还可以插入1-9条ACL语句,后继的ACL以10作为递增数也是同理,当然,用户可以根据自已的需求改变第一条ACL自动插入时的基数和后继ACL产生的递增数,但是本人建议保持默认的配置。


转载于:https://blog.51cto.com/7658423/1323012

演示:扩展ACL的配置与应用技巧相关推荐

  1. CCNA配置试验之六 标准ACL和扩展ACL的配置

    访问控制列表分为标准访问控制列表和扩展访问控制列表:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office: ...

  2. 思科扩展ACL具体怎么配置?

    1. 理解扩展ACL的应用 2. 掌握扩展ACL的配置 1. 根据实验拓扑图,完成设备的基本配置: 2. 配置EIGRP,使得全网路由可达: 3. 在R3上部署ACL,只允许192.168.1.0/2 ...

  3. ACL的配置以及翻转掩码

    1.配置ACL要点 访问列表要指明过滤什么协议: 按顺序匹配访问列表: 一般限制性的访问列表应该放在前面: 在访问列表的最后隐性定义了deny any--所有每个访问列表应该至少包含一条permit声 ...

  4. 访问控制列表--扩展ACL、命名的ACL

    2.1 实验目的 (1)理解扩展ACL和标准ACL的区别 (2)掌握扩展ACL的配置和应用 (3)熟悉扩展ACL的调试 2.2 实验原理 1.扩展ACL配置命令 为了更加精确地控制流量过滤,我们可以使 ...

  5. 迈普路由器访问控制列表配置命令_访问控制列表ACL及配置教程

    访问控制列表ACL及配置教程 发布时间:2012-11-28 17:04:38   作者:佚名   我要评论 本文将详细介绍访问控制列表ACL及配置,需要了解更多的朋有可以参考下 访问控制列表: AC ...

  6. 演示:标准ACL的配置、及使用技巧、和相关局限

    演示:标准ACL的配置.及使用技巧.和相关局限 技术交流与答疑请加入群:1952289 演示目标: n使用标准ACL来过滤网络的访问流量. n理解标准ACL在应用中的限制. n使用标准ACL过滤&qu ...

  7. Packet Tracer - 配置扩展 ACL - 场景 1

    Packet Tracer - 配置扩展 ACL - 场景 1 拓扑图 地址分配表 设备 接口 IP 地址 子网掩码 默认网关 R1 G0/0 172.22.34.65 255.255.255.224 ...

  8. Cisco Packet Tracer思科模拟器中扩展访问控制列表的配置(扩展ACL)

    上篇文章讲解了思科模拟器中标准访问控制列表的配置(标准ACL),本篇文章将详细讲解思科模拟器中扩展访问控制列表的配置(扩展ACL). 标准ACL指的是 ACL1-99 扩展ACL指的是 ACL100- ...

  9. 思科标准与扩展ACL配置实验

    一.ACL概述 1.简介 ACL(访问控制列表)ACL (Access Control List,访问控制列表)是一系列运用到路由器接口的策略列表.这些策略告诉路由器接收哪些数据包.拒绝哪些数据包,接 ...

  10. 实训二十三:交换机扩展 ACL 配置

    一.实验目的 1. 了解什么是扩展的 ACL: 2. 了解标准和扩展 ACL 的区别: 3. 了解扩展 ACL 不同的实现方法: 二.应用环境 1.标准 ACL 只能限制源 IP 地址,而扩展 ACL ...

最新文章

  1. 人群场景的属性--Deeply Learned Attributes for Crowded Scene Understandin
  2. 围观各大企业如何活用人工智能,并运用实践?
  3. pycharm 类型注释_学习Python第一步,变量与数据类型
  4. CentOS 7 使用源代码编译并安装软件
  5. JEE_Ajax技术
  6. JAVA 序列化 Jackson_SpringBoot系列——Jackson序列化
  7. 面向对象的程序设计-电梯调度系统的设计、优化与测试
  8. Spring 与 Hibernate 集成 Transactional设置为只读
  9. 如何让html标签不转义
  10. 软件系统架构师大概工作过程
  11. Android中Handler的正确使用
  12. hx711压力传感器工作原理_压电式压力传感器原理,你了解吗?
  13. granfana 使用cdn模式加速页面加载
  14. mysql模糊匹配关键字_MySQL 关键字模糊匹配,并按照匹配度排序
  15. turtle库进阶练习
  16. 拥有16年开发经验,我都使用了什么工具?[最近更新:2017-10-12]
  17. C. Dominant Piranha(思维)
  18. 广大银行java 面试_2018光大银行春季招聘面试题目及答案
  19. 菜鸟教程php模拟器,史上最强劲的android模拟器命令详解
  20. 【论文】mac系统下的citespace与使用

热门文章

  1. 【算法竞赛-入门经典】计算并输出1+2的值
  2. 前端跨域问题,以及ajax,jsonp,json的区别
  3. 可以掉落和滑动的星星
  4. 新安装 Ubuntu 12.10 需要做的 10 件事(转)
  5. pig0.15+hadoop2.x安装 (注意版本匹配)
  6. 快速预览Office 15服务端:Exchange 2013
  7. 二分图最大权匹配:Kuhn-Munkres算法
  8. 公开课视频-《第01章 规划》-大企业云桌面部署实战-在线培训-视频(奉献)
  9. 异步消息的性能与激情之Netty开发思路
  10. Leetcode题目:Binary Tree Paths