一、简介
1、ACL(Access Control List)访问控制列表可以定义一系列不同的规则,设备根据这些规则对数据包进行分类,并针对不同类型的报文进行不同的处理,从而实现对网络访问行为的控制、限制网络流量、提高网络性能、防止网络攻击等待。
2、ACL可以通过定义规则来允许或拒绝流量的通过,可以根据需求来定义过滤的条件已经匹配条件后所执行的动作。
| 分类 | 编号范围 | 参数 | | 基本ACL | 2000-2999 | 源IP地址 | | 高级ACL | 3000-3999 | 源IP地址、目的IP地址、源端口、目的端口等 | | 二层ACL | 4000-4999 | 源MAC地址、目的MAC地址、以太帧协议类型等 |
3、每个ACL可以可以包含多个规则,RTA根据规则来对数据流量进行过滤,Rule-id用于决定规则的优先级,处理规则之间的重复或者矛盾。如果不匹配,则匹配下一条,一旦找到一条匹配的规则,则执行规则中定义的动作,并不再继续与后续规则进行匹配,如果找不到匹配的规则,则设备不对报文进行任何处理。
二、基本ACL配置
基本ACL尽量配置在靠近目的的端口位置
相关命令示例:
acl 2000 //设置编号,也可以直接命名,但需要指定为基本类型,如acl name test basic,其中basic表示基本类型
rule deny source 192.168.1.0 0.0.0.255 //拒绝192.168.1.0/24网段的源主机访问,rule-id自动为5,间隔默认为5,也可以在rule后面手动指定。
int g0/0/0
traffic-filter outboud acl 2000 //在端口出方向上绑定ACL,阻止来自192.168.1.0/24网段的主机信息从该端口发出。
display acl all //查看ACL
display acl 2000
display traffic-filter applied-record //查看ACL绑定记录
acl 2001
rule 5 permit source 192.168.100.0 0.0.0.255 //允许192.168.100.0/24网段主机访问
rule 10 deny source any //拒绝任意网段主机访问
user-interface vty 0 4
acl 2001 inbound //在用户接口下,对登录绑定ACL,只允许 192.168.100.0/24网段的主机远程登录。
三、高级ACL配置
高级ACL能够根据源/目的IP地址、源/目的端口号、网络层及传输层协议以及IP流量分类和TCP标记值等各种参数(SYN|ACK|FIN等)进行报文过滤。高级ACL尽量配置在靠近源的端口位置。
相关命令示例:
acl 3000 //设置编号,也可以使用命名,如acl name test advance
rule deny tcp source 192.168.1.1 0 destination 172.16.10.1 0 destination-port eq ftp //拒绝192.168.1.1主机访问172.16.10.1的ftp端口
int g0/0/1
traffic-filter inbound acl 3000
ACL应用-NAT
nat address-group 1 202.100.1.100 202.100.1.110 //创建NAT地址池
nat address-group 2 202.100.1.111 202.100.1.120
acl 2000 //创建ACL用于指定源地址
rule 5 permit source 192.168.1.0 0.0.0.255
acl 2001
rule 5 permit source 192.168.2.0 0.0.0.255
int g0/0/1
nat outbound 2000 address-group 1 //在端口下,将地址池和ACL绑定实现NAT转换,这是默认的端口转换
nat outbound 2001 address-group 2
|