实验二十二 配置访问控制列表AGL
一、 ACL基础概念
1、访问控制列表根据源地址、目标地址、源端口或目标端口等协议信息对数据包进行过滤, 从而达到访问控制的目的 。可以在路由器、三层交换机等设备上使用 ,目前部分新二层交换 机也支持ACL。
2、ACL由编号或名字标识,ACL包含一组语旬(规则)。
3、ACL包括permit/deny两种动作,表示允许/拒绝,匹配(命中规则)是指存在ACL,且在 ACL中查找到了符合条件的规则。
4、ACL在系统视图模式下配置,生成的ACL命令需要被应用才能起效。
5、ACL 的 分类
可当一个分组经过时,路山器按照一定的步骤找出与分组信息匹配的ACL语旬对其进 行处理。
按配置顺序的匹配规则(config模式),ACL的默认匹配规则为config模式,以 对ACL语句的处理规则总结出以下要点。
(1) 一旦发现匹配的语旬,就不再处理列表中的其他语旬。
(2)语旬的排列顺序很重要。
(3)如果整个列表中没有匹配的语旬,则分组被丢弃。(书本此处有问题,思科默认丢弃,华为 默认允许)
例如下面两条语句组成的一个基本ACL
rule deny source 172.16.0.0 0.0.255.255
rule permit source 172.16.1.0 0.0.0.255
第二条语句就被忽略了。要达到预想的结果—允许来自除主机172.16.1.1之外的、属 于子网172.16.1.0/1.4的所有通信,则两条语句的顺序必须互换。
按照自动排序规则 (auto 模式)
自动排序指系统 使用 "深度优先"的原则,将规则按照精确度从高到低进行排序,并按 照精确度从高到低进行报文匹配。规则中定义的匹配项限制越严格,规则的精确度就越 高,即优先级越高,系统越优先匹配。
例如在 auto 模式下的 ACL 3001, 如下:
rule deny ip destination 172.16.0.0 0.0.255.255
rule permit ip destination 172.16.10.0 0.0.0.25
配置完上述两条规则后,ACL3001 的规则排序如下
#
acl number 3001 match-order auto
rule 5 permit ip destination 172.16.10.0 0.0.0.255
rule 10 deny ip destination 172.16.0.0 0.0.255.255
#
华为 ACL 的隐含规则为允许所有!!!
6、ACL 规则的步长
系统为 ACL 中首条未手工指定编号的规则分配编号时,使用步长值作为该规则的起始编 号;为后续规则分配编号时,则 使用大于当前 ACL 内最大规则编号且是步长整数倍的最 小整数作为规则编号。缺省步长为 5。设置步长的目的,是为了方便大家在 ACL 规则之 间插入新的规则。
二、 ACL 配置命令
1、配置基本 ACL 命令
#创建一个数字型的基本 ACL
acl [act-number] [ match-order { auto | config } ]
#创建一个命名型的基本 ACL
acl name acl-name { basic lacl-number } [ match-order { auto | config } ]
#配置基本acl的规则的操作命令
rule [ rule-id ] { deny | permit} source { source-address source-wildcard | any }
| vpn-instance vpn-instance-name | [fragment !no-first- fragment! | logging |time-range time-range-name ]
1)ACL语句的删除
undo acl { [number] acl-number | all } 或 undo acl name acl-name
2)调整ACL步长
在系统视图模式下执行: step step
3)查看和清除ACL信息
#确认设备ACL资源的分配情况
display acl resource [slot slot-id]
#清除ACL统计信息(用户视图下)
reset acl counter { name acl-name | acl-number | all }
4)通配符掩码
ACL 规定使用通配符掩砃来说明 子网地址, 通配符掩砃就是子网掩砃按位取反的结果。 如下两 个特殊的通配符掩码需要说明。 0.0.0.0 255.255.255.255
通配符掩码 0.0.0.0 表示 ACL语句中的 32位地址要求全部匹配,因而叫做主机掩码。例如 192.168.1.1 0.0.0.0表示主机192.168.1.1的IP地址
IP地址 | 通配符掩码 | 匹配 |
0.0.0.0 | 255.255.255.255 | 匹配任何地址(关键字any) |
172.16.1.1 | 0.0.0.0 | 匹配host 172.16.1.1 |
172.16.1.0 | 0.0.0.255 | 匹配子网172.16.1.0/24 |
172.16.2.0 | 0.0.1.255 | 匹配子网172.16.2.0/23(172.16.2.0~172.16.3.255) |
172.16.0.0 | 0.0.255.255 | 匹配子网172.16.0.0/16(172.16.0.0~172.16.255.255) |
2、配置基本ACL的实例
1)在ACL 2001中配置规则,允许源IP地址是192.168.1.3主机地址的报文通过。
<HUAWED> system-view
[HUAWEI] acl 2001
[HUAWEI-acl-basic-2001] rule permit source 192.168.1.3 0
2)配置基于源IP地址(网段地址)过滤报文的规则
在ACL 2001中配置规则,仅允许源IP地址是192.168.1.3主机地址的报文通过,拒绝源IP地址是 192.168.1.0/24网段其他地址的报文通过,并配置ACL描述信息为Permitonly 192.168.1.3 through。
<HUAWEI> system-view
[HUAWEI] acl 2001
[HUAWEI-acl-basic-2001] rule permit source 192.168.1.3 0
[HUAWEI-acl-basic-2001] rule deny source 192.168.1.0 0.0.0.255
[HUAWEI-acl-basic-2001] description Permit only 192.168.1.3 through
3)配置基于时间的ACL规则
创建时间 段working-time(周 一到周五每天8:00到18:00), 并在名称为work-acl的ACL中配置规则,在 working-time限定的时间范围内,拒绝源IP地址是192.168.1.0/24网段地址的报文通过。
<HUAWED> system-view
[HUAWEI] time-range working-time 8:00 to 18:00 working-day
[HUAWEI] acl name work-acl basic
[HUAWEI-acl-basic-work-acl] rule deny source 192.168.1.0 0.0.0.255 time-range working-time
4)配置基于IP分片信息、源IP地址(网段地址)过滤报文的规则
在ACL 2001中配置规则,拒绝源IP地址是192.168.1.0/24网段地址的非首片分片报文通过。
<HUAWED> system-view
[HUAWEI] acl 2001
[HUAWEI-acl-basic-2001] rule deny source 192.168.1.0 0.0.0.255 fragment
3、配置高级 ACL 的命令语法
rule [ rule-id ] { permit | deny } protocol [ source { source-addr wildcard | any } ][ destination { dest-addr wildcard | any } ] [ source-port operator port1 [ port2 ] ][ destination-port operator port1 [ port2 ] ] [ icmp-type type code ] [ established ][ [ { precedence precedence tos tos | dscp dscp }* | vpn-instance instance ] fragment | time-range name ]
操作符 | 解释 |
lt | 小于 |
gt | 大于 |
eq | 等于 |
neq | 不等于 |
range | 指定范围 |
5)配置基于ICMP协议类型、 源IP地址(主机地址)和目的IP地址(网段地址)过滤报文的规则 在ACL 3001中配置规则,允许源IP地址是192.168.1.3主机地址且目的IP地址是192.168.2.0/24网 段地址的ICMP报文通过。
<HUAWEI> system-view
[HUAWEI] acl 3001
[HUAWEI-acl-adv-3001] rule permit icmp source 192.168.1.3 0 destination 192.168.2.0 0.0.0.255
6)配置基于TCP协议类型、TCP目的端口号、源IP地址(上机地址)和目的IP地址(网段地址) 过滤报文的规则
在名称为deny-telnet的高级ACL 中配置规则,拒绝IP地址是172.16.10.3的主机与 172.16.20.0/24网段的主机建立Telnet连接。
<HUAWED> system-view
[HUAWEI] acl name deny-telnet
[HUAWEI-acl-adv-deny-telnet] rule deny tcp destination-port eq telnet source
172.16.10.3 0 destination 172.16.20.0 0.0.0.255
在名称为no-web的高级ACL中配置规则,禁止172.16.10.3和172.16.10.4两台主机访 问Web网页(HTTP协议用于网页浏览, 对应TCP端口号是80),并配置ACL描述信息为 Web access restrictions。
<HUAWEI> system-view
[HUAWEI] acl name no-web
[HUAWEI-acl-adv-no-web] description Web access restrictions
[HUAWEI-acl-adv-no-web] rule deny tcp destination-port eq 80 source 172.16.10.3 0
[HUAWEI-acl-adv-no-web] rule deny tcp destination-port eq 80 source 172.16.10.4 0
三、 实验要求
在VTY (Virtual Type Terminal)上应用所配置的基本ACL
在Router上配置基本ACI过滤网络流量
在Router上配置高级ACL基千目标和服务过滤流星
网络拓扑图:
操作步骤:
1、配置R1路由器,指定接口IP地址
2、配置拓扑中的"网络管理员PC",可以用路由器模拟,网关(默认路由)指向R1
3、配置拓扑中的PC1,可以用路由器模拟,需要添加默认路由(网关指向路由器)
4、配置R1,使用基本ACL控制对本路由器的远程登录,只允许172.16.0.2 (网络管 理员PC)对R1进行远程管理
5、测试上一步的配置效果,确认"网络管理员PC"可以进程登录R1, PC1不能 进程登录R1
这里没有登录成功,是因为没有设置登陆密码,R1路由器自身的问题换一个型号就可解决
6、在R1上配置基本ACL,确保Router向服务器网络(172.16.40.0/2.4)转发流量时, 丢弃来自172.16.10.0/2.4的数据
可以看到这里又报错了,我的初步推断是,这个最基础的路由器不支持此功能,而且会对8、的实验结果有影响
7、配置拓扑中的Server1,用路由器模拟,网关(默认路由)指向R1
8、做ping测试验证第6步的ACL效果,PC1是无法ping通Server1的,而网段的主机 (如网络管理员PC)可以ping通Server1
由于路由器的原因,这里都可以ping通,
9、配置高级ACL,确保172.16. 0.0/2.4网络中主的机,在访问172.16.40.100时,只能telnet,而不能进行其方式他访的问,同时,对172.16.40.0/2.4中其的他主机以及对172.16.40.0/2.4 以外的其主他机访的问都不受限制
可以看到这里又报错了,我的初步推断是,这个最基础的路由器不支持此功能,该步骤也会对10、的结果有影响
10、用"网络管理员PC"测试,这台主机现在可以telnet访问Server1, 但无法ping通 Server1,同时访问别的它主机都是没有问题
由于路由器原因,没有配置好路由器没有该功能,此处的实验结果与标题不一样,感兴趣的小伙伴,可以换其他路由器尝试。