ACL的基本概念
(一) ACL应用位置
主要用于给数据流进行分类;定义。
第三层:网络层IP;第四层往上:应用层协议:层数据流。
(二) ACL使用场景
【1】过滤access-group
【2】NAT
【3】VTY控制 access-class
(三) ACL接口相关
- 接口过滤 ip access-group
- ACL如果用于出接口out:先查路由表,再执行出口的ACL;
- ACL如果用于进接口in:先执行ACL,再查路由表;
(四) ACL分类
ACL类型 | ACL序号范围 | 应用场景 |
标准ACL | 1-99 | 匹配源IP地址 |
扩展ACL | 100-199 | 匹配源IP、目的IP地址、协议,源端口,目的端口(五元组-四元组) |
命名ACL | [标准-standard、扩展-extended] | 自定义ACL名称 |
(五) ACL配置案例练习
access-list 1 permit/deny 1.1.1.0 0.0.0.255 access-list 1 permit/deny 45.45.45.5 0.0.0.0 access-list 1 permit 0.0.0.0 255.255.255.255(所有的流量)等同于下一行 access-list 1 permit any access-list [100-199] permit/deny [协议] [源IP] [目标IP] access-list 100 permit ip 12.12.12.0 0.0.0.255 23.23.23.0 0.0.0.255 access-list 100 permit tcp 12.12.12.1 0.0.0.0 34.34.34.4 0.0.0.0 eq 23 access-list 100 deny tcp any 34.34.34.4 0.0.0.0 eq 23 access-list 100 permit ip (ospf/eigrp) any any(表示剩下的流量都放行)
ACL综合应用
(一) ACL匹配机制及匹配顺序
ACL:匹配顺序自上而下
没有匹配的流量,默认在ACL都是deny
自身产生的流量,无法使用ACL过滤
IP协议[3层]:tcp\udp\OSPF\EIGRP\ICMP [ping/traceroute]……
(二) ACL弊端
标准ACL、扩展ACL:删掉其中一个条目,整个ACL会丢失;
补进去的ACL都放在最后;
解决方法——使用Named-ACL
remark 注释 10 deny 15 …… 20 permit ip access-list extended netbox permit tcp host 12.12.12.1 host 34.34.34.4 eq telnet permit eigrp any any deny tcp any any eq telnet permit ip any any
(三) ACL案例分析
1、标准ACL案例
标准ACL案例一
标准ACL案例二:
标准ACL案例三:
2、扩展ACL案例
扩展ACL 案例一:
扩展ACL 案例二:
3、命名ACL案例
命名ACL 案例一:命名标准型
命名ACL 案例二:命名扩展型
ACL实验练习
实验要求
1、R1拒绝所有ping包
2、VTY远程登陆:telnet【TCP 23】,先设置密码
R4拒绝R1远程登陆
3、对于R3上通行的TCP流量,只允许R2远程登陆R4的流量通行;
其它所有TCP流量全部拒绝deny
TELNET远程登陆设置:
line vty 0 4 [ 0-4五条线路 ]
password netbox [设置密码]
login [调用密码]
R1>enable
R1#
enable密码设置:
#enable password netbox 明文
#enable secret cisco 暗文
show user 显示被登陆了哪些线路
实验具体操作
1、R1拒绝所有ping包
R1(config)#access-list 101 deny icmp any host 12.12.12.1 R1(config)#int f0/0 R1(config-if)#ip access-group 101 in
问题:发现与R1相关联的EIGRP邻居被断开,原因:ACL策略的最后一条默认拒绝所有流量的通行所以要在末尾补充允许线路的通行。
这条ACL策略配置时记得要写上哦
R1(config)#access-list 101 permit ip any any
2、VTY远程登陆:telnet【TCP 23】,先设置密码
R4拒绝R1远程登陆
在R4上设置远程登录配置
R4(config)#line vty 0 4 R4(config-line)#password 123456 R4(config-line)#login R4(config-line)#exit
这个是设置进入特权模式的密码
R4(config)#enable secret 654321
配置ACL 指令 R4拒绝R1远程登陆
R4(config)#access-list 102 deny tcp 12.12.12.1 0.0.0.255 34.34.34.4 0.0.0.255 eq 23
上面这句命令还可以这么写:
R4(config)#access-list 102 deny tcp host 12.12.12.1 host 34.34.34.4 eq 23
使用host表示具体匹配该路由器的设备,所以可以不需要写反掩码。
R4(config)#access-list 102 permit ip any any R4(config)#int f0/0 R4(config-if)#ip access-group 102 in R4(config-if)#do sh access-list Extended IP access list 102 10 deny tcp 12.12.12.0 0.0.0.255 34.34.34.0 0.0.0.255 eq telnet (129 matches) 20 permit ip any any (54 matches)
3、对于R3上通行的TCP流量,只允许R2远程登陆R4的流量通行;
其它所有TCP流量全部拒绝deny
对R3
R3(config)#access-list 133 permit tcp host 23.23.23.2 host 34.34.34.4 eq 23 R3(config)#access-list 133 deny tcp any any R3(config)#access-list 133 permit ip any any R3(config)#int f1/0 R3(config-if)#ip access-group 133 out
在R2上验证
在R1上验证
注意:从R3依然可以远程登录R4 可以验证ACL无法阻断自身设备的流量的结论。
4、R4不允许R3远程登录
(标准ACL应用于VTY中,似乎扩展ACL无法应用)】
R4(config)#access-list 4 deny 34.34.34.3 R4(config)#line vty 0 4 R4(config-line)#access-class 4 in