ACL(访问控制列表 ) 在路由器上配置ACL语句

一. ACL概述

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

       ACL一般只在以下路由器上配置:
1. 内部网和外部网的边界路由器。
2. 两个功能网络交界的路由器。

二. ACL的作用

      1. ACL可以限制网络流量、提高网络性能。例如,ACL可以根据数据包的协议,指定数据包的优先级。
 
      2. ACL提供对通信流量的控制手段。例如,ACL可以限定或简化路由更新信息的长度,从而限制通过路由器某一网段的通信流量。

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

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

三. ACL的分类

ACL分类方法:
一种分为:标准ACL,扩展ACL和命名ACL。
另一种分为:标准MAC ACL,时间控制ACL,IP ACL,IPv6 ACL。

ACL(访问控制列表 ) 在路由器上配置ACL语句_第1张图片

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

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

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

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

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

ACL 分类

List ID 范围(netgear/dni

区分报文的依据

MAC ACL

10000~10099

1~99

Src mac&mask,Dst mac&mask,vlan id ,etherType,CoS

IP ACL

标准ACL

1~99

1~99

Src IP & mask

扩展ACL

100~199

100~199

Src IP & mask, dst IP& mask,src L4port, Dst L4 port,protocol type,TCP flag,TOS/DSCP/IP precedence

命名ACL

1000~1099

1000~1099

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-list1 permit 10.0.0.0 0.255.255.255

       R1(config)#access-list50 deny 192.168.0.0 0.0.0.255

       R1(config)#access-list99 permit 192.168.1.0 0.0.0.0

扩展访问ACL

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

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

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


扩展ACL的语句:

      access-list 表号 处理方式 条件

      表号:取值100~199

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

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

      协议:用于匹配数据包使用的网络层或传输层协议,如IPTCPUDPICMPIGMP等。

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

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

      R1(config)#access-list 100 denytcp anyanyeq 20

      R1(config)#access-list 101 permitudp 192.168.1.0 0.0.0.255 anyeq40

      R1(config)#access-list 199 permiticmp anyany precedence 7

命名ACL    

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

      (config)#ip access-list acl1

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

      (config-ipv4-acl)# deny igmpany 192.1.0.0 255.255.0.0

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

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

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

三. ACL的工作过程

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

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

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

ACL(访问控制列表 ) 在路由器上配置ACL语句_第2张图片

四. 通配符掩码

      在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-list1 permit 200.1.1.5 0.0.0.0

     Router(config)#access-list1 permit host 200.1.1.5

     上面两个语句是等价的。









你可能感兴趣的:(TCP/IP协议)