CCNA 8 ACL访问控制列表

ACL访问控制列表(Access Control List,ACL)

是路由器和交换机接口的指令列表,用来控制端口进出的数据包。ACL适用于所有的被路由协议,如IP、IPX、AppleTalk等。

  1. 访问控制–在路由器上流量进或出的接口上规则流量;
  2. 定义感兴趣流量–为其他的策略匹配流量;

访问控制

  • 定义ACL列表后,将列表调用与路由器的接口上,当流量通过接口时,进行匹配,匹配成功后按照设定好的动作进行处理即可–动作–允许,拒绝

匹配规则

  • 至上而下注意匹配,上调匹配按上条执行,不在查看下条;末尾隐含拒绝所有;
  • 注意:每个 ACL 的末尾都会自动插入一条隐含的 deny 语句,虽然ACL中看不到这条语句,它仍起作用。隐含的 deny 语句会阻止所有流量,以防不受欢迎的流量意外进入网络。在创建访问控制列表之后,必须将其应用到某个接口才可开始生效。ACL 控制的对象是进出接口的流量。

定义规范

  • ACL的列表号指出了是哪种协议的ACL。各种协议有自己的ACL,而每个协议的ACL又分为标准ACL和扩展ACL。这些ACL是通过ACL列表号区别的。如果在使用一种访问ACL时用错了列表号,那么就会出错误。

  • 一个ACL的配置是每协议、每接口、每方向的。路由器的一个接口上每一种协议可以配置进方向和出方向两个ACL。也就是说,如果路由器上启用了IP和IPX两种协议栈,那么路由器的一个接口上可以配置IP、IPX两种协议,每种协议进出两个方向,共四个ACL。

  • ACL的语句顺序决定了对数据包的控制顺序。在ACL中各描述语句的放置顺序是很重要的。当路由器决定某一数据包是被转发还是被阻塞时,会按照各项描述语句在ACL中的顺序,根据各描述语句的判断条件,对数据报进行检查,一旦找到了某一匹配条件就结束比较过程,不再检查以后的其他条件判断语句。

  • 最有限制性的语句应该放在ACL语句的首行。把最有限制性的语句放在ACL语句的首行或者语句中靠近前面的位置上,把"全部允许"或者"全部拒绝"这样的语句放在末行或接近末行,可以防止出现诸如本该拒绝(放过)的数据包被放过(拒绝)的情况。

  • 新的表项只能被添加到ACL的末尾,这意味着不可能改变已有访问控制列表的功能。如果必须改变,只有先删除已存在的ACL,然后创建一个新ACL,将新ACL应用到相应的接口上。

  • 在将ACL应用到接口之前,一定要先建立ACL。首先在全局模式下建立ACL,然后把它应用在接口的出方向或进方向上。在接口上应用一个不存在的ACL是不可能的。

  • ACL语句不能被逐条的删除,只能一次性删除整个ACL。

  • 在ACL的最后,有一条隐含的"全部拒绝"的命令,所以在 ACL里一定至少有一条"允许"的语句。

  • ACL只能过滤穿过路由器的数据流量,不能过滤由本路由器上发出的数据包。

  • 在路由器选择进行以前,应用在接口进入方向的ACL起作用。

  • 在路由器选择决定以后,应用在接口离开方向的ACL起作用。

分类

  1. 标准ACL–仅关注数据包中的源ip地址
  2. 扩展ACL–关注数据包中源、目标ip地址、目标端口号、协议号
写法
  • 编号写法 1-99 标准 100-199 扩展 删除一条整表消失
  • 命名写法 一个名字一张列表 可以随意删除某条,

命令格式

access-list命令
(1)标准访问列表
access-list access-list-number { permit | deny } {source [source-wildcard] | any}
命令解释如下。
access-list:访问列表命令。
access-list-number:访问列表号码,值为1~99.

permit:允许。

deny:拒绝。

source:源IP地址。

source-wildcard:源IP地址的通配符。

(2)扩展访问列表

access-list access-list-number { permit | deny } { protocol \ protocol-keyword } { source [ source-wildcard ] | any } { destination destination-wildcard } | any }[protocol-specific options][log]

命令解释如下。

access-list-number:访问列表号码,值为100~199.

protocol \ protocol-keyword:可使用的协议,包括IP、ICMP、IGRP、EIGRP、OSPF等。

destination destination-wild:目的IP地址,格式与源IP地址相同。

protocol-specific options:协议制定的选项。

log:记录有关数据报进入访问列表的信息。

配置

  1. 标准ACL—编号:由于标准ACL仅关注数据包中的源ip地址,调用时尽量的靠近目标,避免误删;

Router(config)#access-list 1 deny host 192.168.4.2 拒绝单一设备
Router(config)#access-list 1 deny 192.168.4.0 0.0.0.255 拒绝范围
Router(config)#access-list 1 deny any 拒绝所有

Router(config)#access-list 1 deny host 192.168.4.2
Router(config)#access-list 1 permit any
Router(config)#interface fastEthernet 0/0.1
Router(config-subif)#ip access-group 1 out

  1. 命名写法:

Router(config)#ip access-list standard a
Router(config-std-nacl)#deny host 192.168.4.2
Router(config-std-nacl)#permit any
Router(config-std-nacl)#exit

默认+10生成序列号,便于删除和插入

Router(config)#ip access-list standard a
Router(config-std-nacl)#15 deny host 1.1.1.1
Router(config-std-nacl)#no 15

  • 扩展ACL配置:扩展ACL关注数据包中的源、目标ip地址,故调用时应该尽量的靠近源,当然不能在源上,因为ACL不能限制本地产生的流量;

r1(config)#access-list 100 deny ip host 192.168.4.2 host 192.168.1.2
源 目标
192.168.4.0 0.0.0.255 192.168.1.0 0.0.0.255 范围
r1(config)#access-list 100 permit ip any any
r1(config)#interface fastEthernet 0/0
r1(config-if)#ip access-group 100 in

关注目标端口号

  • ICMP-ping 跨层封装协议,不存在端口号
  • Telnet-远程登录 基于TCP目标23号端口
  • 设备开启远程登陆

r1(config)#username ccna privilege 15 secret cisco123
r1(config)#line vty 0 4
r1(config-line)#login local

规则一个设备到另一个设备的目标端口

r1(config)#access-list 101 deny tcp host 1.1.1.1 host 2.2.2.2 eq 23 远程登录被拒绝
r1(config)#access-list 101 permit ip any any

r1(config)#access-list 102 deny icmp host 1.1.1.1 host 2.2.2.2 拒绝ping
r1(config)#access-list 102 permit ip any any

猜你喜欢

转载自blog.csdn.net/heibaikong6/article/details/86238730
今日推荐