ACL和基本网络配置

一. ACL概述

ACL访问控制列表,主要用于过滤网络中的流量,是控制访问的一种技术手段。网络设备为了过滤报文,需要配置一系列的匹配条件对报文进行分类,应用在端口上,根据预先设定的策略,对特定端口的流量起到控制作用。访问控制列表(ACL)由一组规则组成,在规则中定义允许或拒绝通过路由器的条件。利用ACL可以对经过路由器的数据包按照设定的规则进行过滤,使数据包有选择的通过路由器,起到防火墙的作用。

ACL一般只在以下路由器上配置:
  1. 内部网和外部网的边界路由器

  2. 两个功能网络交界的路由器

二. ACL的作用

  1. ACL可以限制网络流量、提高网络性能。例如,ACL可以根据数据包的协议,指定数据包的优先级。

  2. ACL提供对通信流量的控制手段。例如,ACL可以限定或简化路由更新信息的长度,从而限制通过路由器某一网段的通信流量

  3. ACL是提供网络安全访问的基本手段。如:ACL允许主机A访问人力资源网络,而拒绝主机B访问。

  4. ACL可以在路由器端口处决定哪种类型的通信流量被转发或被阻塞ACL可以选路)。例如,用户可以允许E-mail通信流量被路由,拒绝所有的Telnet通信流量。

三. ACL的分类

ACL分类方法:(记表就行)

一种分为:标准ACL,扩展ACL和命名ACL。

另一种分为:标准MAC ACL,时间控制ACL,IP ACL,IPv6 ACL。

MAC ACL 是对二层包字段的过滤,比如Macaddress,ethertype,vlanid,cos等。

IP ACL 主要是对IPv4的报文进行过滤,应用的域从IPv4报头开始。

IPv6 ACL 是针对IPv6报文特有的域进行过滤。

时间控制ACL 就是在设定的时间范围内ACL才生效,其中有相对时间和绝对时间两种。

命名ACL,用字母和数字组合的字符串定义ACL,其中的名字范围为1~31个字符。而且是全局唯一的。

ACL语句

一个访问控制列表(ACL)可由多条语句组成,每条ACL语句的形式为:

Router(config)#access-list 表号处理方式 条件

ACL表号:用于区分各访问控制列表。

一台路由器中可定义多个ACL,每个ACL使用一个表号。

其中针对IP数据报的ACL可使用的表号为:

标准访问控制列表:1~99。

扩展访问控制列表:100~199。

同一个ACL中各语句的表号相同。

处理方式:取值有permit(允许)和deny(拒绝)两种。当数据包与该语句的条件相匹配时,用给定的处理方式进行处理。

条件:定义一系列的匹配方式,一条ACL语句只能定义一个条件。

例:

access-list 1 permit 10.0.0.0 0.255.255.255

access-list 1 deny 20.0.0.0 0.255.255.255

第1句表示允许地址为10...*的数据包通过。

第2句表示拒绝地址为20...*的数据包通过。

这里的地址指数据包的源地址。注:ACL用的是反掩码,0代表匹配,1代表不匹配。

标准ACL

标准ACL只能使用地址作为条件。

标准ACL使用数据包的源地址匹配ACL语句中的条件。

定义标准ACL时,可使用的表号为1~99。(针对IP数据报)

标准ACL的语句

R1(config)#access-list 1 permit 10.0.0.0 0.255.255.255

R1(config)#access-list 50 deny 192.168.0.0 0.0.0.255

R1(config)#access-list 99 permit 192.168.1.0 0.0.0.0

扩展访问ACL

扩展ACL可以使用地址作为条件,也可以用上层协议作为条件。

扩展ACL既可以测试数据包的源地址,也可以测试数据包的目的地址。

定义扩展ACL时,可使用的表号为100~199。(针对IP数据报)

扩展ACL的语句

access-list 表号 处理方式 条件

表号:取值100~199。

处理方式:permit(允许)或deny(拒绝)。

条件:协议 源地址 目的地址[运算符 端口号][established]

协议:用于匹配数据包使用的网络层或传输层协议,如IP、TCP、UDP、ICMP、IGMP等。

源地址、目的地址:使用“地址 通配符掩码”的形式,也可以使用any、host关键字。

运算符 端口号:用于匹配TCP、UDP数据包中的端口号。

R1(config)#access-list 100 denyt cp any any eq 20

R1(config)#access-list 101 permit udp 192.168.1.0 0.0.0.255 any eq 40

R1(config)#access-list 199 permit icmp any any precedence 7

命名ACL

命名ACL使用一个符号串作为ACL的名字,不再使用表号。

(config)#ip access-list acl1

(config-ipv4-acl)# permit 1 any any tos0x11 0xff

(config-ipv4-acl)# deny igmp any 192.1.0.0 255.255.0.0

命名的ACL和扩展的ACL可以对流量进行更加精确的控制。

注意:在每个ACL末尾都有一条默认语句:

默认deny所有ip包,permit所有二层包(在没有配置定义匹配ethertype时),当macacl定义了匹配ethertype的rule时默认的语句为denyanyany。

四. ACL的工作过程

访问控制列表(ACL)由多条判断语句组成。每条语句给出一个条件和处理方式(允许或拒绝)。

路由器对收到的数据包按照判断语句的书写次序进行检查,当遇到相匹配的条件时,就按照指定的处理方式进行处理。

ACL中各语句的书写次序非常重要,如果一个数据包和某判断语句的条件相匹配时,该数据包的匹配过程就结束了,剩下的条件语句被忽略。

五. 通配符掩码

在ACL语句中,当使用地址作为条件时,它的一般格式为:地址 通配符掩码

通配符掩码决定了地址中的哪些位需要精确匹配,哪些为不需要匹配。

通配符掩码是一个32位数,采用点分十进制方式书写。匹配时,“0”表示检查的位,“1”表示不检查的位。

如:192.168.1.1 0.0.255.255

表示检查前16位,忽略后16位,所以这个条件表示的地址是192.168..

any条件:

当条件为所有地址时,如果使用通配符掩码应写为:

0.0.0.0 255.255.255.255

这时可以用“any”表示这个条件。

如:

Router(config)#access-list1 permit 0.0.0.0 255.255.255.255

Router(config)#access-list1 permit any

上面两个语句是等价的。

host关键字:

当条件为单一IP地址时,如果使用通配符掩码应写为:

IP地址 0.0.0.0

这时可以用“host”关键字定义这个条件。

如:

Router(config)#access-list 1 permit 200.1.1.5 0.0.0.0

Router(config)#access-list 1 permit host 200.1.1.5

上面两个语句是等价的。

将创建好的ACL应用与路由器的接口上

不管是标准ACL还是扩展ACL只有将创建好的ACL应用与路由器的接口上才算是有效的。语法如下:

Router(config-if)#ip access-group access-list-number {in|out}

参数解释如下:

access-list-number:创建ACL时指定的访问控制列表号

in:应用到入站接口。

out:应用出站接口。

取消接口上的ACL应用可以使用如下命令:

Router(config-if)#no ip access-group access-list-number {in|out}

可以使用show access-lists命令查看ACL配置。

注意:不管是标准ACL或者是扩展ACL,只要应用了该规则就不可以在向里面添加新的规则了,只能是删除整个ACL。
  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zh&&Li

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值