1 / 59

ACL 原理与配置

ACL 原理与配置. V1.1 数据用服部. 学习目标. 了解 ACL 的概念及作用 了解 ACL 的工作原理和过程 掌握 ACL 的基本配置,实现对数据流的控制. 学习内容. 第一章 ACL 原理 第二章 ACL 配置. 学习内容. 第一章 ACL 原理 第一节 ACL 概念和作用 第二节 ACL 工作原理 第三节 ACL 规则. 什么是 ACL. ACL : Access Control List 访问控制列表 是一种对经过路由器的数据流进行判断、分类和过滤的方法

torin
Download Presentation

ACL 原理与配置

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ACL原理与配置 V1.1 数据用服部

  2. 学习目标 • 了解ACL的概念及作用 • 了解ACL的工作原理和过程 • 掌握ACL的基本配置,实现对数据流的控制

  3. 学习内容 • 第一章 ACL原理 • 第二章 ACL配置

  4. 学习内容 • 第一章 ACL原理 第一节 ACL概念和作用 第二节 ACL工作原理 第三节 ACL规则

  5. 什么是ACL • ACL:Access Control List 访问控制列表 • 是一种对经过路由器的数据流进行判断、分类和过滤的方法 • 当网络流量不断增长的时候,对数据流进行管理和限制 172.16.0.0 Internet 172.17.0.0

  6. ACL的使用场合 • ACL作为一个通用的数据流量的判别标准还可以和其他技术配合,应用在不同的场合,如: • 防火墙 • QOS与队列技术 • 策略路由 • 数据速率限制 • 路由策略 • 端口流镜像 • NAT

  7. ACL的分类 • 标准ACL • 以源地址作为过滤标准 • 只能粗略的限制某一大类协议,如IP协议 • 扩展ACL • 可以把源地址、目的地址、协议类型及端口号等作为过滤标准 • 可以精确的限制到某一种具体的协议

  8. ACL的分类 • 二层ACL • 对源MAC地址、目的MAC地址、源VLAN ID、二层以太网协议类型、802.1p优先级值进行匹配 。 • 混合ACL • 对源MAC地址、目的MAC地址、源VLAN ID、源IP地址、目的IP地址、TCP源端口号、TCP目的端口号、UDP源端口号、UDP目的端口号进行匹配。 • 用户自定义ACL • 对VLAN TAG的个数和偏移字节进行匹配 。

  9. ACL号码范围

  10. 标准ACL和扩展ACL的比较 标准ACL 扩展ACL 基于源、目的地址过滤 基于源地址过滤 允许/拒绝整个 TCP/IP 协议簇 指定特定的 IP 协议和协议号 ACL号范围从1 到 99 ACL号范围从 100 到 199

  11. 源和目的 ACL的应用 fei_1/2 ACL进程 协议 输入接口 输出接口 允许? fei_1/1 • ACL可被应用在数据包进入路由器的接口方向 • 也可被应用在数据包从路由器外出的接口方向 • 一台路由器上可以设置多个ACL • 对于一台路由器的某个特定接口的特定方向上,针对某一个协议,如 • IP协议,只能同时应用一个ACL

  12. 学习内容 • 第一章 访问控制列表ACL 第一节 ACL概念和作用 第二节 ACL工作原理 第三节 ACL规则

  13. ACL工作流程(1) • 以应用在外出接口方向的ACL为例来说明其工作流程: 数据包出接口 选择出接口 是 数据包入接口 路由表? 否 否 ACL? 丢弃处理

  14. ACL工作流程(2) 数据包出接口 选择接口 是 ACL 匹配控制 数据包入接口 路由表? 否 否 ACL? 是 允许? 是 丢弃处理

  15. ACL工作流程(3) 数据包出接口 选择接口 是 ACL 匹配控制 数据包入接口 路由表? 否 否 ACL? 是 允许? 是 否 丢弃处理

  16. ACL语句内部处理过程(1) 匹配第一 条规则 ? ACL内部处理具体过程: Y Y 拒绝 允许 目的接口 拒绝 丢弃

  17. ACL语句内部处理过程(2) 匹配第一 条规则 ? ACL内部处理具体过程: Y Y N 拒绝 允许 Y Y 匹配下一 条规则 ? 拒绝 允许 目的接口 拒绝 丢弃

  18. ACL语句内部处理过程(3) 匹配第一 条规则 ? ACL内部处理具体过程: Y Y N 拒绝 允许 Y Y 匹配下一 条规则 ? 拒绝 允许 N 目的接口 Y Y 匹配最后 一条规则? 拒绝 允许 拒绝 丢弃

  19. ACL语句内部处理过程(4) 匹配第一 条规则 ? ACL内部处理具体过程: Y Y N 拒绝 允许 Y Y 匹配下一 条规则 ? 拒绝 允许 N 目的接口 Y Y 匹配最后 一条规则? 拒绝 允许 N 隐式拒绝 *说明:当ACL的最后一条不匹配时,系统使用隐含的“丢弃全部”进行处理! 拒绝 丢弃

  20. ACL判别标准 帧报头 (如 HDLC) 数据包 (IP报头 ) 段 (如TCP报头 ) 数 据 源端口号 目的端口号 协议 源地址 使用ACL检测数据包 目的地址 拒 绝 允 许 • ACL只能根据IP包及TCP或UDP数据段中的信息来对数据流进行判断,即根据第3层及第4层的头部信息进行判断

  21. 学习内容 • 第一章 访问控制列表ACL 第一节 ACL概念和作用 第二节 ACL工作原理 第三节 ACL规则

  22. ACL规则 • 按照由上到下的顺序执行,找到第一个匹配后既执行相应的操作,然后跳出ACL而不会继续匹配下面的语句 • 每条ACL的末尾隐含一条deny any 的规则 • ACL可应用于某个具体的IP接口的出方向或入方向 • ACL可应用于系统的某种特定的服务(如TELNET) • 在引用ACL之前,要首先创建好ACL • 对于一个协议,一个接口的一个方向上同一时间内只能设置一个ACL

  23. 在什么地方配置ACL • 为了避免不必要的数据流量,ACL通常被配置在接近数据源的路由器上 S0 E0 B S0 E0 S1 C S1 A E0 D E0 To0 E1

  24. 学习内容 • 第二章 ACL配置 第一节 ACL配置步骤 第四节 配置其他类型ACL 第二节 配置标准ACL 第五节 ACL扩展配置 第三节 配置扩展ACL 第六节 ACL维护与诊断

  25. ACL配置步骤 • 设置判断标准语句(一条ACL可由多个语句组成) • ZXR10(config)# • 将ACL应用到接口 • ZXR10(config-if)# 注: IP access-list-number 范围 1-99 或 100-199 access-list <access-list-number> {deny | permit} {test conditions} ip access-group <acl-number> {in|out}

  26. 128 64 32 16 8 4 2 1 = 0 0 1 1 1 1 1 1 = 0 0 0 0 1 1 1 1 1 1 1 1 1 0 = 1 0 = 1 1 1 1 1 1 1 1 通配符的作用 • 0 代表对应位必须与前面的地址相匹配 • 1 代表对应位可以是任意值 Examples check all address bits (match all) = 0 0 0 0 0 0 0 0 ignore last 6 address bits ignore last 4 address bits check last 2 address bits do not check address (ignore bits in octet)

  27. 匹配特定主机地址 • 匹配条件:匹配所有32位地址——主机地址 • 172.30.16.29 • 通配符: 0.0.0.0 • (匹配所有32位)

  28. 匹配任意地址 • 匹配条件:匹配任意地址(所有地址都被认为符合条件) • Any IP address • 0.0.0.0 • 通配符: 255.255.255.255 • (忽略所有位的比较) • 0.0.0.0 255.255.255.255意为接受所有地址,可简写为any

  29. 匹配特定子网 • 指定特定地址范围172.30.16.0/24到172.30.31.0/24,地址和通配符如下: • 172.30.16.0 0.0.15.255 • 172.30.16.0 • 0 0 0 1 0 0 0 0 通配符:0 0 0 0 1 1 1 1 • |<-------- 匹配 -------->|<------ 忽略 ------>| • 0 0 0 1 0 0 0 0 = 16 • 0 0 0 1 0 0 0 1 = 17 • 0 0 0 1 0 0 1 0 = 18 • : : • 0 0 0 1 1 1 1 1 = 31

  30. 学习内容 • 第二章 ACL配置 第一节 ACL配置步骤第四节 配置其他类型ACL 第二节 配置标准ACL第五节 ACL扩展配置 第三节 配置扩展ACL 第六节 ACL维护与诊断

  31. 配置标准ACL • ZXR10(config)# • IP 标准ACL使用列表号 1 至 99 • 缺省通配符为 0.0.0.0 • “no access-list access-list-number” 删除整个ACL • ZXR10(config-if)# • 在接口上应用ACL • 设置在入或外出方向 • “no ip access-group access-list-number { in | out }” 去掉接口上的ACL设置 access-list <access-list-number> {deny | permit} <source> [<source-wildcard>] ip access-group <acl-number> {in | out}

  32. 标准ACL配置示例1 172.16.3.0 非172.16.0.0网段 172.16.4.0 思考: 可否将acl放在两个接口的入方向? S0 172.16.4.13 fei_1/2 fei_1/1 access-list 1 permit 172.16.0.0 0.0.255.255 (access-list 1 deny 0.0.0.0 255.255.255.255) —— 隐含拒绝全部 interface fei_1/2 ip access-group 1 out interface fei_1/1 ip access-group 1 out //应用在接口 只允许两边的网络互相访问

  33. 标准ACL配置示例2 172.16.3.0 非172.16.0.0网段 172.16.4.0 思考: 可否将此acl放在fei_1/1的入方向? S0 172.16.4.13 fei_1/1 fei_1/2 access-list 1 deny 172.16.4.13 0.0.0.0 access-list 1 permit 0.0.0.0 255.255.255.255 (access-list 1 deny 0.0.0.0 255.255.255.255)--隐含拒绝全部 interface fei_1/2 ip access-group 1 out 拒绝特定主机172.16.4.13对172.16.3.0网段的访问

  34. 标准ACL配置示例3 172.16.3.0 非172.16.0.0网段 172.16.4.0 S0 172.16.4.13 fei_1/2 fei_1/1 access-list 1 deny 172.16.4.0 0.0.0.255 access-list 1 permit any (access-list 1 deny 0.0.0.0 255.255.255.255) --别忘了系统还有隐含的这条规则! interface fei_1/2 ip access-group 1 out 拒绝特定子网172.16.4.0对172.16.3.0网段的访问

  35. 过滤telnet对路由器的访问 • 利用ACL针对地址限制进入的vty连接 • ZXR10(config)# line telent access-class<access-list-number>

  36. 控制telnet访问 我只接受来自192.89.55.0/24的telnet访问! 10.1.1.0/24网段 telnet 192.89.55.0/24网段 INTERNET 172.16.1.0/24网段 access-list 12 permit 192.89.55.0 0.0.0.255 line telnet access-class 12 只允许 192.89.55.0 网段中的主机才能对路由器进行 telnet 访问

  37. 学习内容 • 第二章 ACL配置 第一节 ACL配置步骤第四节 配置其他类型ACL 第二节 配置标准ACL 第五节 ACL扩展配置 第三节 配置扩展ACL第六节 ACL维护与诊断

  38. 配置扩展ACL • 设置扩展ACL • ZXR10(config)# • 应用到接口 • ZXR10(config-if)# access-list <access-list-number> {permit | deny} <protocol> <source> <source-wildcard> [<source-port>] <destination> <destination-wildcard> [<destination-port>] [ established ] ip access-group <acl-number> {in | out}

  39. 扩展ACL配置示例1 172.16.3.0 非172.16.0.0网段 172.16.4.0 S0 172.16.4.13 fei_1/1 fei_1/2 access-list 101 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 21 access-list 101 permit ip any any interface fei_1/2 ip access-group 101 out • 拒绝从子网 172.16.4.0 到子网 172.16.3.0 通过fei_ 1/2口出去的FTP访问 • 允许其他所有流量

  40. 扩展ACL配置示例2 172.16.3.0 非172.16.0.0网段 172.16.4.0 S0 172.16.4.13 fei_1/2 fei_1/1 access-list 101 deny tcp 172.16.4.0 0.0.0.255 any eq 23 access-list 101 permit ip any any interface fei_1/2 ip access-group 101 out • 拒绝从子网 172.16.4.0 通过fei_ 1/2口外出的telnet • 允许其他所有流量

  41. 学习内容 • 第二章 ACL配置 第一节 ACL配置步骤 第四节 配置其他类型ACL 第二节 配置标准ACL 第五节 ACL扩展配置 第三节 配置扩展ACL 第六节 ACL维护与诊断

  42. 配置二层ACL • 配置步骤 • 1.进入二层ACL配置模式 2.配置ACL中的规则 • 配置示例 • 定义一个二层ACL,允许VLAN 10中源MAC地址为00d0.d0c0.5741、802.1p为5的IP包通过,并丢弃收到的MPLS(以太网类型为8847)报文。 acl link {number <acl-number>|name <acl-name>| alias <alias-name>} rule<rule-no> {permit|deny} <protocol> [cos <cos-vlaue>] [egress {<destination-mac> <dest-mac-wildcard>|any}] [ingress {<source-mac> <src-mac-wildcard>|any}] [time-range<timerange-name>] ZXR10(config)#acl link number 200 ZXR10(config-link-acl)# rule 1 permit ip cos 5 ingress 00d0.d0c0.5741 0000.0000.0000 ZXR10(config-link-acl)#rule 2 deny 8847

  43. 配置混合ACL • 配置步骤 • 1.进入混合ACL配置模式 2.配置ACL中的规则 acl hybrid {number <acl-number>|name <acl-name>| alias <alias-name>} rule<rule-no> {permit|deny} <protocol-numberl> {{<source-ip> <source-ip-wildcard>}|any} [eq <port-number>] {{<destination-ip> <dest-ip-wildcard>}|any} [eq <port-number>] {<ethernet-protocol-number>| any |arp | ip} [cos | dinvlan | doutervlan | egress | ingress | time-range]

  44. 配置混合ACL • 配置示例 定义一个混合ACL,实现以下功能: • 1.对来自210.168.1.0/24网段、目的IP地址为210.168.2.10、目的MAC地址为00d0.d0c0.5741、源端口为100、目的端口为200的UDP报文,允许通过。 • 2.拒绝来自192.168.3.0/24网段的BGP报文。 • 3.拒绝源MAC地址为0100.2563.1425的报文。 ZXR10(config)#acl hybrid number 300 ZXR10(config-hybd-acl)#rule 1 permit udp 210.168.1.0 0.0.0.255 Eq 100 210.168.2.10 0.0.0.0 eq 200 any Egress 00d0.d0c0.5741 0000.0000.0000 ZXR10(config-hybd-acl)#rule 2 deny tcp 192.168.3.0 0.0.0.255 Eq BGP any any ZXR10(config-hybd-acl)#rule 3 deny ip any any any ingress 0100.2563.1425 0000.0000.0000

  45. 配置用户自定义ACL • 配置步骤 • 1.进入用户自定义ACL配置模式 2.配置ACL中的规则 • 配置示例 • 定义一个用户自定义ACL,允许tag为1,规则为0x1111,掩码为0x000f,偏移量为4个字节的报文通过。 acl user-define {number<3000-3499> | name<acl-name>} rule <rule-id> {permit | deny} {any | {tag <tag-num> <offset> <rule-string> <rule-mask>&<1-4>}} [time-range < timerange-name>] ZXR10(config)# acl user-define number 3000 ZXR10(config-ext-v6acl)#rule 1 permit tag 1 4 0x1111 0x000f

  46. 学习内容 • 第二章 ACL配置 第一节 ACL配置步骤第四节 配置其他类型ACL 第二节 配置标准ACL 第五节 ACL扩展配置 第三节 配置扩展ACL 第六节 ACL维护与诊断

  47. ACL批量绑定功能 • 功能简介 在一些需求环境下,需要将同一个ACL绑定到多个接口。如果逐个接口绑定,操作比较繁琐,为了提高ACL绑定的可操作性和高效性,系统提供了批量绑定功能,可以一次将某个ACL绑定到多个接口。目前只支持物理端口。 • 配置命令 批量绑定ACL到接口的指定方向 • 配置实例 • 例:将acl 90 绑定到接口gei_7/7-gei_7/8、atm155_5/1-4的in方向上 access-group {<1-199>|<1000-1999>|<word>} {interface} {in | out} ZXR10(config)#acl standard number 90 ZXR10(config-std-acl)#rule 1 deny any ZXR10(config-std-acl)#exit ZXR10(config)#access-group 90 interface gei_7/7-8 ,atm155_5/1-4 in

  48. ACL关联time range功能 • 功能简介 实际应用中往往希望一项功能在特定的时间段内、在一个重复的时间段内、在某个时刻之前或之后生效,这些要求在ACL中表现最为迫切和直接。 如可能公司会遇到这样的情况,要求上班时间不能上QQ,下班可以上或者平时不能访问某网站只有到了周末才可以。对于这种情况仅仅通过发布通知规定是不能彻底杜绝员工非法使用的问题的,这时基于时间的访问控制列表应运而生。 • 配置命令 创建acl rule时关联time-range: 将已经创建的acl rule和time-range关联: rule <rule number> {permit | deny} {<source ip address><Wildcard bits>| any>} [time-range <word>] attach [time-range <word>] to <rule number>

  49. ACL关联time range功能 • 配置步骤 1、在全局启动time-range功能 2、创建time-range 3、定义time-range时间段规则 4、将time-range绑定到ACL规则 (acl关联time-range时time-range必须已经创建) 5、应用ACL规则

  50. ACL关联time range功能 • 配置实例 ZXR10(config)#time-range enable——必须先启用time-range功能 ZXR10(config)#time-range test——创建time-range列表,进入time-range配置模式 ZXR10(config-tr)#absolute start 16:00:30 1-1-2008 end 20:00:45 1-1-2008——设定绝对时间段 ZXR10(config-tr)#periodic friday 10:00:30 to saturday 12:00:45 12:00:45——设定相对时间段 ZXR10(config-tr)#exit ZXR10 (config)#show acl 1 standard acl 1 rule 1 deny 10.44.113.139 ZXR10(config)#acl standard number 1 ZXR10(config-std-acl)#attach test to 1——将timerange规则绑定到已经创建的ACL规则rule 1 ZXR10(config-std-acl)#rule 2 permit any time-range test——创建rule 2时关联time-range ZXR10(config-std-acl)#exit ZXR10(config)#interface fei_2/1 ZXR10(config-if)#ip access-group 1 in——将ACL应用到fei_2/1的入接口上

More Related