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放置在离源地址近的地方;
  • 相关阅读:
    BZOJ 2212/BZOJ 3702
    BZOJ 4761 Cow Navigation
    BZOJ 3209 花神的数论题
    BZOJ 4760 Hoof, Paper, Scissors
    BZOJ 3620 似乎在梦中见过的样子
    BZOJ 3940 Censoring
    BZOJ 3942 Censoring
    BZOJ 3571 画框
    BZOJ 1937 最小生成树
    BZOJ 1058 报表统计
  • 原文地址:https://www.cnblogs.com/winstom/p/9398765.html
Copyright © 2011-2022 走看看