网络运维学习笔记 014网工初级(HCIA-Datacom与CCNA-EI)ACL访问控制列表
文章目录
- ACL(Access Control List,访问控制列表)
- 思科:
- 实验1(标准ACL):
- 实验2(扩展ACL):
- 实验3(ACL在VTY的使用场景):
- 华为:
- 实验1(基本ACL):
- 实验2(高级ACL):
- 实验3(ACL在VTY的使用场景):
- 实验4:
- 实验5:使用高级ACL限制不同网段的用户互访
- 实验6:高级访问控制列表
ACL(Access Control List,访问控制列表)
可以定义一系列不同规则,设备根据这些规则对数据包进行分类,并针对不同类型的报文进行不同的处理,从而实现对网络访问行为的控制,限制网络流量,提高网络性能,防止网络攻击等。
思科设备的ACL分类
华为设备的ACL分类
匹配规则:自上而下,匹配到则停止;思科默认最后拒绝所有;华为默认最后允许所有。
华为acl默认步长为5
在一个接口上,每个方向只能调用一个ACL
思科:
R1(config)# ip access-list ?
#可以看到有三种acl:标准(standard)acl(1-99、1300-1999)、扩展(extend)acl(100-199、2000-2699)、二层acl(常规范围)
实验1(标准ACL):
R1(config)# ip access-list standard 1 #配置标准acl命名为1,支持1-99,1300-1999,也支持word
R1(config-std-nacl)# 5 deny 10.1.10.0 0.0.0.15
#规则5: 通配符掩码二进制处0表示必须匹配,二进制1表示不用匹配,所以代表的是拒绝10.1.10.0 /28这个网段的流量
R1(config-std-nacl)# 10 permit any #规则10:允许所有(思科最后的默认规则是拒绝所有)
R1# show access-lists #显示访问列表
R1(config)# int e0/1 #进入e0/1接口 (尽可能在最靠近数据源的接口配置acl)
R1(config-if)# ip access-group 1 in #在e0/1的入方向接口使用名称为1的acl
实验2(扩展ACL):
R1(config)# ip access-list extended 100 #配置扩展acl命名为100,支持100-199,2000-2699,也支持word
R1(config-ext-nacl)# 5 deny icmp 10.1.10.17 0.0.0.0 any #拒绝10.1.10.17 ping 所有
R1(config-ext-nacl)# 10 permit ip any any #允许所有
R1(config-ext-nacl)# int e0/2 #进入e0/2接口
R1(config-if)# ip access-group 100 in #在e0/2的入方向接口使用名称为100的acl
实验3(ACL在VTY的使用场景):
首先按照005章打开telnet
R1(config)# ip access-list standard 1
R1(config-std-nacl)# 5 deny 10.1.11.2 0.0.0.0 #拒绝10.1.12.2这台连接管理员电脑的交换机的流量
R1(config-std-nacl)# 10 permit any #允许所有
R1(config)# line vty 0 4 #进入line模式
R1(config-line)# access-class 1 in #入方向使用acl1
华为:
[R1] acl ? #可以看到有三种acl:基本(Basic)acl(2000-2999)、高级(Advanced)acl(3000-3999)、二层(L2)acl(4000-4999)
实验1(基本ACL):
[R1] acl 2000 #配置基本acl命名为2000,支持2000-2999
#[Huawei-acl-basic-2000] rule [ rule-id ] { deny | permit } [ source { source-address source-wildcard | any } | time-range time-name ] #基本acl中的规则
[R1-acl-basic-2000] rule 5 deny source 10.1.10.0 0.0.0.15
#规则5: 通配符掩码二进制处0表示必须匹配,二进制1表示不用匹配,所以代表的是拒绝10.1.10.0 /28这个网段的流量
[R1-acl-basic-2000] rule 10 deny source 10.1.1.2 0 #拒绝10.1.1.2这一个IP
[R1-acl-basic-2000] rule 15 permit source 1.1.1.0 0.0.0.255 #允许1.1.1.0这一个网段(华为最后的默认规则是允许所有)
display acl all #显示访问列表
[R1-acl-basic-2000] int g0/0/1 #进入g0/0/1接口 (尽可能在最靠近数据源的接口配置acl)
[R1-g0/0/1] traffic-filter inbound acl 2000 #在g0/0/1的入方向接口使用名称为2000的acl
实验2(高级ACL):
[R1] acl 3000 #配置高级acl命名为3000,支持3000-3999
#rule [ rule-id ] { deny | permit } ip [ destination { destination-address destination-wildcard | any } | source { source-address source-wildcard | any } | time-range time-name | [ dscp dscp | [ tos tos | precedence precedence ] ] ] #高级acl中的规则
[R1-acl-adv-3000] rule deny ip source 10.1.10.1 0 destination 13.1.1.2 0 #拒绝10.1.10.1访问13.1.1.2。若不写目的就和基本acl相同
[R1-acl-adv-3000] rule deny icmp source 10.1.10.1 0 destination any #拒绝10.1.10.1 ping 所有
[R1-acl-adv-3000] rule permit ip source 10.1.1.0 0.0.0.255 destination 10.1.3.0 0.0.0.255
[R1-acl-adv-3000] rule permit tcp source 10.1.2.0 0.0.0.255 destination 10.1.3.0 0.0.0.255 destination-port eq 21
[R1-acl-adv-3000] int g0/0/1 #进入g0/0/1接口
[R1-g0/0/1] traffic-filter inbound acl 3000
#在g0/0/1的接口入方向使用名称为3000的acl(配置流量过滤)(但是同一个接口只能调用一个acl)
[R1]time-range A 20:00 to 21:00 daily #创建一个时间区间
实验3(ACL在VTY的使用场景):
首先按照005章打开telnet
[R1] acl 2000
[R1-acl-basic-2000] rule deny source 10.1.12.2 0 #拒绝10.1.12.2这台连接管理员电脑的交换机的流量
[R1-acl-basic-2000] rule permit source any #允许所有
[R1-acl-basic-2000] user-interface vty 0 4 #进入line模式
[R1-ui-vty0-4] acl 2000 inbound #入方向使用acl2000
实验4:
1、PC1无法PING通PC2,使用2种思路
2、PC1无法访问PC2的23号端口,但是可以访问22号端口
3、PC1无法访问PC2的HTTP,HTTPS,TELNET协议
4、PC1无法访问PC2的1024~65535端口
5、PC1无法访问PC2小于10000的端口
6、PC1无法访问其他任何地址的UDP协议53号端口,在2021xxxx时间
acl 3001
rule 10 deny tcp source 192.168.1.100 0 destination 192.168.2.100 0 destination-port eq telnet
rule 20 deny tcp source 192.168.1.100 0 destination 192.168.2.100 0 destination-port eq www
rule 30 deny tcp source 192.168.1.100 0 destination 192.168.2.100 0 destination-port eq 443
rule 40 deny tcp source 192.168.1.100 0 destination 192.168.2.100 0 destination-port gt 1023
rule 50 deny udp source 192.168.1.100 0 destination 192.168.2.100 0 destination-port gt 1023
rule 60 deny udp source 192.168.1.100 0 destination-port eq dns time-range A
实验5:使用高级ACL限制不同网段的用户互访
某公司通过Router实现各部门之间的互连。为方便管理网络,管理员为公司的
研发部和市场部规划了两个网段的IP地址。现要求Router能够限制两个网段
之间互访,防止公司机密泄露。Router已完成IP地址和路由的相关配置。
#创建高级ACL 3001并配置ACL规则,拒绝研发部访问市场部的报文
[Router] acl 3001
[Router-acl-adv-3001] rule deny ip source 10.1.1.0 0.0.0.255
destination 10.1.2.0 0.0.0.255
#创建高级ACL 3002并配置ACL规则,拒绝市场部访问研发部的报文
[Router] acl 3002
[Router-acl-adv-3002] rule deny ip source 10.1.2.0 0.0.0.255
destination 10.1.1.0 0.0.0.255
由于互访的流量分别从G0/0/1和G0/0/2进入Router,所以在G0/0/1和G0/0/2的入方向配置流量过滤
[Router] interface g0/0/1
[Router-GigabitEthernet0/0/1] traffic-filter inbound acl 3001
[Router] interface g0/0/2
[Router-GigabitEthernet0/0/2] traffic-filter inbound acl 3002
实验6:高级访问控制列表
acl 3000 #启用高级访问控制列表 3000
rule 5 permit tcp source 10.1.1.10 0 destination 22.1.1.2 0 destination-port eq www
#允许来自于内部的10.1.1.10主机访问 22.1.1.2这台服务器的www服务(80端口)
rule 10 deny tcp source 10.1.1.10 0 destination 22.1.1.2 0 destination-port eq ftp
int g0/0/1 注意:当访问控制列表需要应用时,需要将列表调用到指定的接口上
ip add 22.1.1.1 24
traffic-filter outbound acl 3000 #同路过traffic-filter 过滤出站时调用ACL3000列表内容来实施