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

  • 在接口中应用
  • 应用时关联入口或出口方向
  • 默认出站
  • "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

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

示例 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}

  • 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

总结:

  • 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放置在离源地址近的地方;
posted @ 2018-07-31 22:48  司家勇  阅读(876)  评论(0编辑  收藏  举报