zoukankan      html  css  js  c++  java
  • CCNA 之 十 ACL 访问控制列表

    ACL 访问控制列表

    ACL(Access Control List) 接入控制列表

    ACL 的量大主要功能:

    • 流量控制
    • 匹配感兴趣流量

    标准访问控制列表

    • 只能根据源地址做过滤
    • 针对曾哥协议采取相关动作(允许或禁止)

    扩展访问控制列表

    • 能根据源、目的地址、端口号等等进行过滤
    • 能允许或拒绝特定的协议

    ACL的类型:

    • Standard ACL
    • ExtendedACL
    • Two methods used to identify standard and extended ACLs

    ACL入方向的操作
    示意图:

    ACL出站方向的操作
    示意图:

    ACL的标识

    ACL的标识可以是两种,可以是十进制数或者是个字符串

    这里是有区分的

    1、标准的访问列表:1-99,1300-1999 区间的,路由器会默认理解为你在定义一个标准的访问ACL,也就是说只能限制源地址

    2、扩展的访问列表:100-199, 2000-2699 区间的,路由器会默认理解为你在定义一个扩展的ACL,也就是说可以限制端口、协议、源地址、目标地址等

    3、字符串的命名访问列表:路由器会默认理解为你在定义第三种的ACl,包含了标准和扩展访问列表的特性;

    标准访问控制列表的配置
    Router(config)#

    access-list access-list-number {permit|deny} source [wildcard mask]

    • 编号access-list-number选择1-99
    • 通配符若无,默认0.0.0.0
    • “弄access-list access-list-number” 将会删除整个ACL列表

    应用到接口上:
    Router(config-if)#

    ip access-group access-list-number { in | out }

    • 在接口中应用
    • 应用时关联入口或出口方向
    • 默认出站
    • "no ip access-group access-list-number"可以出接口上应用的访问列表

    • ACL的生效在路由上,那么不能对本地始发的流量做过滤,只能对穿越本地路由器的流量做过滤;
    • 只能在某个接口的某个特定的方向( in | out ),只能应用一个ACL

    扩展访问控制列表的配置:
    Router(config)#

    access-list access-list-number {permit | deny} protocol source source-wildcard [operator port] destination destination-wildcard [operator port] [established] [log]

    应用于接口

    ip access-group access-list-number { in | out }

    • 在接口中应用
    • 应用时关联入或者出方向

    示例 3:

    router(config)# access-list 100 deny ip 192.168.1.0 0.0.0.31 host 192.168.2.200
    router(config)# access-list permit any
    router(config)# interface e0
    router(config-if)# ip access-group 100 in

    示例 4:

    router(config)# access-list 100 deny tcp any host 192.168.2.200 eq 23
    router(config)# access-list permit any
    router(config)# interface e1
    router(config-if)# ip access-group 100 out

    标准和扩展访问列表的缺点:

    • 定义后,无法去编辑、删除、修改和添加条目
    • 如果是删除的话,则是删除整个列表
    • 使用数字编号,不直观、明显

    而命名访问控制列表则可以解决上列所有问题。

    命名访问控制列表的配置:
    Router(config)#

    ip access-list { standard | extended } name

    Router(config {std- | ext-}nacl)#

    [sequence-unmber] {permit|deny} {ip access list test conditions} {permit | deny} {ip access list test conditions}

    • if not configured, sequence unmbers are generated automatically starting at 10 and incrementing by 10
    • no sequence unmber removes the specific test from the named ACL

    Router(config-if)#

    ip access-group access-list-number { in | out }

    总结:

    • 1、每个接口,每个方向,每种协议,你只能设置1个ACL
    • 2、组织好你的ACL的顺序,比如测试性的最好放在ACl的最顶部
    • 3、标准和扩展的控制列表,你不可能从ACL中除去1行,除去1行意味你讲除去整个ACL,命名访问列表(named access list)例外
    • 4、默认ACl结尾语句都是deny any,所以你要记住的是在ACL里至少要有1条permit语句
    • 5、记得创建了ACL后要把它应用在需要过滤的接口上;
    • 6、ACL是用于过滤经过router的数据包,它并不会过滤router本身产生的数据包
    • 7、尽可能的吧IP标准ACL防止在离目标地址近的地方;尽可能的吧IP扩展ACL放置在离源地址近的地方;
  • 相关阅读:
    Java进阶7并发优化4——JDK并发数据结构
    Java 进阶7 并行优化 JDK多任务执行框架技术
    Java进阶7 并发优化2 并行程序设计模式
    Java 进阶7 并发优化 1 并行程序的设计模式
    Java 进阶6 异常处理的陷阱
    Algorithm3: 获得一个int数中二进制位为1 的个数
    Algorithm2: 重复查过半数的元素
    Algorithm1: 全排列
    Java进阶5 面向对象的陷阱
    Java进阶2 数组内存和对象的内存管理知识
  • 原文地址:https://www.cnblogs.com/winstom/p/9398765.html
Copyright © 2011-2022 走看看