网络运维学习笔记(DeepSeek优化版) 013网工初级(HCIA-Datacom与CCNA-EI)ACL访问控制列表
文章目录
- ACL访问控制列表技术详解
- 一、ACL核心功能
- 二、主流设备ACL分类对比
- 2.1 思科设备ACL分类
- 2.1.1 思科命令
- 2.2 华为设备ACL分类
- 2.2.1 华为命令
- 三、ACL核心工作机制
- 3.1 匹配规则
- 四、配置注意事项
- 五、实验1(标准/基本ACL)
- 思科(标准ACL)
- 华为(基本ACL)
- 六、实验2(扩展/高级ACL)
- 思科(扩展ACL)
- 华为(高级ACL)
- 七、实验3(ACL在VTY的使用场景)
- 思科
- 华为
- 八、实验4
- 九、实验5:使用高级ACL限制不同网段的用户互访
- 十、实验6:高级访问控制列表
ACL访问控制列表技术详解
一、ACL核心功能
ACL(Access Control List,访问控制列表)通过预定义规则对数据包进行分类,实现对网络行为的精准控制。主要功能包括:
- 限制非法网络访问行为
- 抑制非关键网络流量
- 防御网络层攻击
- 提升网络服务质量(QoS)
二、主流设备ACL分类对比
2.1 思科设备ACL分类
- 分类体系:
- 标准ACL(1-99/1300-1999):基于源IP地址等过滤
- 扩展ACL(100-199/2000-2699):基于源IP地址、目的IP地址、源端口、目的端口等过滤
- 二层ACL(常规范围):基于源MAC地址、目的MAC地址、以太帧协议类型等过滤
2.1.1 思科命令
R1(config)# ip access-list ?
standard Standard Access List #范围1-99、1300-1999
extended Extended Access List #范围100-199、2000-2699)
#另外还有二层acl,常规范围
2.2 华为设备ACL分类
- 分类体系:
- 基本ACL(2000-2999):基于源IP地址等过滤
- 高级ACL(3000-3999):基于源IP地址、目的IP地址、源端口、目的端口等过滤
- 二层ACL(4000-4999):基于源MAC地址、目的MAC地址、以太帧协议类型等过滤
2.2.1 华为命令
[Huawei]acl ?
INTEGER<2000-2999> Basic access-list (add to current using rules) #范围2000-2999
INTEGER<3000-3999> Advanced access-list (add to current using rules) #范围3000-3999
INTEGER<4000-4999> Specify a L2 acl group #范围4000-4999
三、ACL核心工作机制
3.1 匹配规则
- 执行顺序:自上而下逐条匹配,首条命中即停止
- 默认策略:
- 思科:隐式拒绝所有(deny any)
- 华为:隐式允许所有(permit any)
- 步长设置:华为默认规则编号间隔为5(可自定义调整)
- 调用限制:单个接口每个流量方向仅支持绑定一个ACL
四、配置注意事项
- 规则排序策略:高频访问规则建议前置
- 默认策略差异:需特别注意厂商默认行为差异
- 接口绑定限制:避免同一方向重复绑定ACL
- 版本兼容性:不同设备型号可能支持不同ACL类型
- 性能影响评估:复杂ACL可能降低转发效率
五、实验1(标准/基本ACL)
思科(标准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
华为(基本ACL)
[R1] acl 2000 #配置基本acl命名为2000,支持2000-2999
[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这一个网段(华为最后的默认规则是允许所有)
<R1> 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)
思科(扩展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
华为(高级ACL)
[R1] acl 3000 #配置高级acl命名为3000,支持3000-3999
[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(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 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] int g0/0/1
[Router-g0/0/1] traffic-filter inbound acl 3001
[Router] int g0/0/2
[Router-g0/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列表内容来实施