一、ACL基础知识
1.Access Control List
2.一种包过滤技术
3.ACL是基于IP包头的IP地址、四层TCP/UDP头部的端口号、5层数据
4.ACL在路由器上配置,也可以在防火墙上配置(一般称为策略)
主要分为2大类:
- 标准ACL
- 扩展ACL
5.标准ACL:
表号范围:1-99
功能:只能基于源IP对包进行过滤
比如:禁止10网段访问50网段,如果写在in方向,那么acl会禁止所有源IP为10的ACL包通过,导致其他到20,30的包也无法通过,而写在out方向则会避免这一特点
命令:
conf t
access-list 表号 [动作]permit/deny [条件] 源IP或源网段 反子网掩码
# 反子网掩码就是将正子网掩码0和1倒置 255.0.0.0变成0.255.255.255
# 反子网掩码是用来匹配的,与0对应的需要严格匹配与1对应的忽略
例如
access-list 1 deny 10.0.0.0 0.255.255.255
解释:该条目用来拒绝所有源ip为10开头的
access-list 1 deny 10.1.1.1 0.0.0.0
解释:该条目用来拒绝所有源ip为10.1.1.1的主机
ip为固定1个人的时候可以简写:
access-list 1 deny host 10.1.1.1
access-list 1 deny 0.0.0.0 255.255.255.255
解释:该条目用来拒绝所有人
简写:access-list 1 deny any
# 查看acl表
show access-list [表id]
# 将ACL应用到接口
int f0/x
ip access-group 表号 in/out
exit
# 完整的案例
conf t
acc 1 deny host 10.1.1.1
acc 1 deny 20.1.1.0 0.0.0.255
acc 1 permit any
6.拓展ACL
- 表号:100-199
- 特点:可以基于源IP,目标IP,端口号,协议等对包进行过滤
- 命令
acc 100 permit/deny 协议 源IP或源网段 反子网掩码 目标IP或源网段 反子网掩码 [eq 端口号]
案例:
# 10.1.1.1这个人禁止访问20.1.1.1的整个网段,除了这个网段的80可以访问
acc 100 permit tcp host 10.1.1.1 host 20.1.1.3 eq 80
# 如哦前面加上icmp,表示可以ping通,但是不能访问所有服务
acc 100 permit icmp host 10.1.1.1 20.1.1.0 0.0.0.255 echo-reply
# 10.1完全不能ping通20网段
# ping使用的ICMP协议,与ip协议并行,因此不能ping通
acc 100 deny ip host 10.1.1.1 20.1.1.0 0.0.0.255
acc 100 permit ip any any
# 协议: tcp/udp/icmp/ip
如果eq后面跟端口号了,那么前面必须加协议名称
如果没有端口号,那么前面协议随便写
7、命名ACL
可以对标准ACL或拓展ACL进行自定义命名
优点:自定义命名更容易辨认,也易于记忆
7、ACL原理
-
ACL表必须应用到接口的进(in)或出(out)方向才生效
-
一个接口的一个方向只能应用一张表
-
进或出方向取决于流量控制总方向
-
ACL表是严格自上而下检查每一条,所以要主要书写顺序
-
每一条是由条件和动作组成,当某流量完全满足条件没有满足某条件,则继续检查下一条
-
标准ACL尽量写在靠近目标的地方
-
wencoll小原理:
1)做流量控制,首先要先判断ACL写的位置(哪个路由器,哪个接口的哪个方向)
2)再考虑怎么写ACL
3)如何写?
首先要判断最终要允许所有还是拒绝所有
然后写的时候要注意将严格控制写在前面 -
一般情况下,标准或扩展ACL一旦编写好,无法修改某一条,也无法删除某一条,也无法修改顺序,也无法往中间插入新的条目,只能一直在最后添加新的条目
-
如果向修改或插入或删除,只能删除整张表,重新写!
conf t
no access-list 表号
二、ACL实验演示
1.标准ACL实验图示
2.步骤
1)全网互通
a. 路由配IP,no shut 开启路由器通路
b. ip route配置静态IP路由
2)编写ACL表格
实验要求:
a.要求10网段禁止访问整个50网段
b.要求40.1.1.1PC禁止访问50网段,其他访问均不受影响
c.要求10.1.1.1禁止访问40网段,其他不受影响
R2配置
en
conf t
# 查看相关ACL表格
do show ip access list
#
acc 2 deny 10.1.1.0 0.0.0.255
acc 2 deny host 40.1.1.1
acc 2 permit any
int g0/2
ip access-group 2 out
结果
配置r3
结果:
10网段主机显示
2.拓展ACL实验演示