ACL

一、ACL概述

1利用ACL可以对经过路由器的数据包按照设定的规则进行过滤,使数据包有选择的通过路由器,起到防火墙的作用。

访问控制列表(ACL)由一组规则组成,在规则中定义允许或拒绝通过路由器的条件。

ACL过滤的依据主要包括源地址、目的地址、上层协议等。

ACL有两种:标准访问控制列表、扩展访问控制列表

2ACL的基本用途是限制访问网络的用户,保护网络的安全。

ACL一般只在以下路由器上配置:

1内部网和外部网的边界路由器。

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

3限制的内容通常包括:

1允许那些用户访问网络。(根据用户的IP地址进行限制)

2允许用户访问的类型,如允许httpftp的访问,但拒绝Telnet的访问。(根据用户使用的上层协议进行限制)

二、ACL语句

访问控制列表形式为:

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

表号:用于区分访问控制列表(一台路由器中可定义多个ACL,每个ACL都有一个表号)

    标准访问控制列表表号:1-99

扩展访问控制列表表号:100-199 

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

处理方式:取值permitdeny,当数据包与该语句条件匹配时,用给定的处理方式处理

条件:每条ACL只定义一个条件

例:Access-list 1 permit10.0.0.0 0.255.255.255.255

    Access-lis 1 1deny20.0.0.0 0.255.255.255.255

调用到接口;

Router(config)# interface 接口号

Router(config-if)# ip access-group 表号 [in | out]

三、通配符掩码

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

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

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

如:192.168.1.1  0.0.255.255

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

2any条件:

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

0.0.0.0 255.255.255.255

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

如:

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

Router(config)# access-list 1 permit any

上面两个语句是等价的

3、host关键字

 当条件为单一ip地址时,如果使用通配符掩码应写为:IP地址 0.0.0.0。这是可以用host关键字来定义这个条件。

Access-list 10 permit 200.1.1.5 0.0.0.0

Access-list 10 permit host 200.1.1.5

上面两个语句等价

四、标准访问控制列表

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

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

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

标准ACL配置举例1

 

wKioL1ZPM7riayIcAAAuHQ1666U898.png

一个局域网连接在路由器R1E0口,这个局域网要求只有来自10.0.0.0/8192.168.0.0/24192.168.1.0/24的用户能够访问。

 access-list 1 permit 10.0.0.0 0.255.255.255

Access-list 1 permit 192.168.0.0 0.0.255.255

Access-list 1 permit 192.168.1.0 0.0.255.255

说明:定义ACL时,每条语句都按输入的次序加入到ACL的末尾,如果想要更改某条语句,或者更改语句的顺序,只能先删除整个ACL,再重新输入。

比如删除表号为1ACL

Router(config)# no access-list 1

五、扩展访问控制列表

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

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

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

扩展ACL的语句:access-list 表号 处理方式 条件

表号:取值100~199

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

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

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

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

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

1)运算符包括lt(小于)gt(大于)eq(等于)neq(不等于)

2)端口号用于对应一种应用,如21FTP23Telnet25SMTP53DNS80HTTP等。

“运算符 端口号”可匹配数据包的用途。如:“eq 80”可匹配那些访问Web网站的数据包。

在扩展ACL语句中, “运算符 端口号”可以没有。

例:access-list 100 permit tcp 192.168.0.0 0.0.255.255 10.0.0.0 0.255.255.255 eq 80

端口调用:

Router(config)# interface e0

Router(config-if)# ip access-group 100 out

在每个扩展ACL末尾也有一条默认语句:

access-list list-num deny ip any any

它会拒绝所有与前面语句不匹配的数据包。

1、扩展ACL配置举例

    wKioL1ZPM-yQouSdAABOFP7yvp4874.png

一个局域网连接在路由器R1E0口,这个局域网只允许Web通信流量和Ftp通信流量,其它都拒绝。

Access-list 100 permit tcp any any eq 80

Access-list 100 permit tcp any any eq 20

Access-list 100 permit tcp any any eq 21

Interface E0

IP access-group 100 out

2R1是局域网和外网的边界路由器,禁止外网用户用Telnet远程登录本路由器。

 

wKiom1ZPM7CBNEnAAABUmLQa1yg210.png

Access-list 100 deny tcp any host 200.1.1.1 0 eq 23

Access-list 100 deny tcp any host 192.168.0.1 eq 23

Access-list 100 permit ip any any

Interface s0

Ip access-group 100 in

3.R1是局域网和外网的边界路由器,60.54.145.21是一个有害的Web网站,禁止内网用户访问该网站。(上图)

Access-list 100 deny tcp 192.168.0.0 0.0.255.255 host 60.54.145.21 eq 80

Access-list 100 permit ip any any

Interface e0

Ip access-group 100 in

4.R1是局域网和外网的边界路由器,禁止对S0口的ping操作。(同上图)

Access-list 100 deny icmp any 200.1.1.1 0.255.255.255 

Access-list permit IP any any

Interface s0

IP access-group 100 in

六、命名访问控制列表

命名ACL也有标准ACL和扩展ACL两种,一个命名ACL只能是其中的一种。(不在使用表号)

Ip access-list {standard|extended} name

standard:定义标准命名ACL

extended:定义扩展命名ACL

nameACL的名字,可自定义。

该命令执行后,提示符变为Router(config-std-nacl)#Router(config-ext-nacl)#。在此提示符下可输入ACL语句。

命名ACL语句格式:处理方式 条件。

它只比以前的ACL少了前面的“access-list 表号”部分,其它都相同。

配置标准命名ACL

要求拒绝来自200.1.1.0/24的数据包通过S0口进入路由器,其它都允许

wKiom1ZPM8TA4LhNAABIIr0I-Dw299.png

 

 

Ip access-list standard Name

Deny 200.1.1.0 0.0.0.255

Permit any

Exit

Int s0

Ip access-group Name in

2、禁止内网用户访问地址为60.54.145.21Web网站

 

 

wKiom1ZPM9eQYcfTAABQOLkL3qo665.png

Ip access-list extended Name1

Deny tcp 192.168.0.0 0.255.255.255 host 60.54.145.21 eq 80

Permit any

Interface e0

Ip access-group Name1 in


本文出自 “ACL” 博客,转载请与作者联系!

你可能感兴趣的:(网络,防火墙,路由器,IP地址,数据包)