1 Access Control List技术背景
企业网络中的设备进行通信时,需要保障数据传输的安全可靠和网络的性能稳定。访问控制列表ACL (Access Control List)可以定义一系列不同的规则,设备根据这些规则对数据包进行分类,并针对不同类型的报文进行不同的处理,从而可以实现对网络访问行为的控制、限制网络流量、提高网络性能、防止网络攻击等等。
2 概念
ACL(Access Control List),是一张管理员手动添加的用于数据包访问控制的列表,路由器通过逐项读取列表中的条目来判断当前数据包是放行还是丢弃。是一个路由器数据处理数据包的行为规范手册。
3.1ACL的分类【华为】:
3.2ACL的分类【思科】:
4 匹配和不匹配
针对某个网段的数据流量进行操作,匹配上了就执行,没有匹配上,就不执行控制列表内的内容
ACL的对数据执行的动作 :允许/拒绝—》 针对与流量
5 ACL的规则
6 ACL匹配原则
就近原则:在配置ACL的时候,一定要选择最近的路由器或者三层设备接口进行截取
按序匹配:匹配立即停止,命中立即生效
黑白名单:黑名单:只有名单上的不能过
白名单:只有名单上的能过
隐式拒绝 :一个ACL启用,子啊不做任何配置的情况下,默认是不允许任何数据通过的,
在现网中配置ACL,一定记得加permit any any
在思科以及类思科里,是有隐式拒绝,而在华为类设备是没有隐式拒绝的
7 ACL如何实现
1.确定部署位置
部署在流量的必经之路上
靠近源部署
集中化部署 —> 尽量少 而精细的部署ACL规则
路由器无法控制来源于自身的数据包
2.匹配对应的流量
考虑对流量的 允许 / 拒绝
考虑 匹配到的网段/主机的IP地址
0,表示 ACL在检查数据流量的时候, 0对应的位 要 检查
1,对应的位则不关心
3.决定调用的方向 ----》ACL的掉用 一定在接口上调用的
in/ out 针对与 流量 进入 出 路由器的 行为
观察流量 流经 接口的方式
inbound 方向上调用,先调用ACL,在进行路由转发(对于未匹配上的流量,或者 拒绝的流量,则不进行路由转发)
outbound 方向上调用,先路由转发,在调用ACL (如果路由器根据路由表 找到数据的逃出接口,则在逃出接口上进行ACL的匹配)
8 ACL的配置
1 判断数据流量的走向和接口的方向 (判断数据流量下,接口的方向 inbound outbound)
具体是in还是out没有固定的接口,一切都是一数据流向来定
2 ACL部署的具体位置
根据就近原则来进行部署
3 配置ACL确实基本的还是高级的
peimit deny ,切记加primit any any(不加的话默认都拒绝了)
如果不具体声明rule的编号,那么就按照默认的步长(ID之间的间隔)按照顺序排序
设定步长的目的,是为了后期更方便进行
4 在接口上调用ACL,并且声明方向(不调用就不生效)
ACL基础实验
主机A:192.168.1.1 24
主机B:192.168.2.1 24
# SW1
## 基本配置
sy
sys SW1
## 二层
### vlan
vlan batch 10 11 20
### access
int g0/0/1
port link-type access
port default vlan 10
int g0/0/2
port link-type access
port default vlan 20
display vlan
int e0/0/1
port link-type access
port default vlan 11
## 三层
### vlanif
int vlanif10
ip address 192.168.1.254 24
int vlanif20
ip address 192.168.2.254 24
int vlanif11
ip address 11.1.1.2 24
dis ip int br
### 路由
ip route-static 0.0.0.0 0.0.0.0 vlanif11 11.1.1.1
# AR1
## 基本配置
sy
sys R1
## ip
int g0/0/0
ip address 11.1.1.1 24
int g0/0/1
ip address 12.1.1.1 24
## 路由
ip route-static 0.0.0.0 0.0.0.0 g0/0/1 12.1.1.2
ip route-static 192.168.1.0 24 g0/0/0 11.1.1.2
ip route-static 192.168.2.0 24 g0/0/0 11.1.1.2
display ip routing-table
## 配置ACL
acl 2000
rule deny source 192.168.1.0 0.0.0.255
rule deny source 192.168.2.0 0.0.0.255
int g0/0/1
traffic-filter outbound acl 2000
display acl 2000
# AR2
## 基本配置
sy
sys R2
## ip
int g0/0/0/
ip address 12.1.1.2 24
int LoopBack 0
ip address 2.2.2.2 24
## 路由
ip route-static 0.0.0.0 0.0.0.0 g0/0/0 12.1.1.1
# pc1
ip:192.168.1.1
gw:192.168.1.254
# pc2
ip:192.168.2.1
gw:192.168.2.254
# 测试
stp1 :pc1--->ping 192.168.1.254-----ping 192.168.2.254
stp2 :pc1--->ping 2.2.2.2
stp3 :在R1上配置完成acl之后,再来测试
用pc1ping 2.2.2.2 ,就会出现request timeout!意味着发出去了包,但是没有收回
在R1上被拦截了
stp4 :undo rule 10
stp5 :display acl 2000---->就剩一条
stp6 :在ping 2.2.2.2 ;就可以通了