# 前言
通信四元素,源IP地址,目的IP地址,和源端口,目的端口、第五元素是协议。
ACL(访问控制列表)
1. ACL概述
读取数据包中的IP头部,TCP/DUP 头部中的源IP地址,目的IP地址,和源端口,目的端口根据设置好的ACL决定数据的丢弃还是允许通过。
2. 工作原理
-
acl 在接口上定义N条规则过滤数据包,要么放行,要么丢弃
-
匹配规则:从上往下依次匹配,匹配即停止,不会继续匹配下一条。
当数据包从接口经过时,由于接口启用了acl,此时路由器会对报文进行检查,然后做出相应的丢弃或允许通过
3. ACL类型:
- 基本ACL(2000-29999)只匹配源IP
- 高级ACL:(3000-3999)可恨据源IP地址,目的IP地址,和源端口,目的端口 匹配
- 二次ACL:(4000-4999)可根据源MAC 目的MAC 二层协议
4. ACL匹配原则
一个接口的一个方向只能调用一个ACL,一个ACL可配置多条规则,匹配时是从上往下依次匹配、符合拒绝规则的数据会被直接丢弃,就不会继续匹配下一条了。符合允许规则的数据会直接通过、也不会继续匹配下一条了,如果是不符合允许规则的继续匹配下一条直到符合了允许条件或拒绝条件,匹配了最后一条也没有符合的规则(允许或拒绝)的话,会被隐含的拒绝也就是丢弃掉。(华为设备隐含放通所有)
5.配置实验
我们来完成一下这个实验吧
1.仅允许pc1访问192.168.2.0/24网络
[Huawei]acl number 2000 (创建ACL 2000)
[Huawei-acl-basic-2000]rule permit source 192.168.1.1 0 (添加一条规则:允许192.168.1.1这台
主机通过 0 表示主机)
[Huawei-acl-basic-2000]dis th(查看状态)
[V200R003C00]
#
acl number 2000
rule 5 permit source 192.168.1.1 0 (这里多了一个设定好的规则 rule 5 是他的规则序号,序号越
小执行优先级越高)
#
return
[Huawei-acl-basic-2000]rule deny source any (添加一个拒绝规则,any 表示所有 ,所有地址都
不允许通过)
[Huawei-acl-basic-2000]dis th (再次查看状态)
[V200R003C00]
#
acl number 2000
rule 5 permit source 192.168.1.1 0
rule 10 deny (这里又多了一条规则 ,规则号是10)
#
return
[Huawei]int g0/0/2 (进入接口)
[Huawei-GigabitEthernet0/0/2]ip add 192.168.2.254 24 (给接口添加IP地址)
[Huawei-GigabitEthernet0/0/2]traffic-filter outbound acl 2000 (给端口 调用 acl 2000 的配置,outbound
表示将这个端口设置为出口模式即从路由器出来的数据要经过 acl 规则 进行匹配)
然后我们进入PC1和PC2 看一下能不能ping通PC3
PC1可以ping通
PC2ping不通PC3所以我们实验成功了
2.禁止192.168.1.0/24网络ping Web服务器
[Huawei]acl number 3000 (创建一个高级acl)
[Huawei-acl-adv-3000]rule deny icmp source 192.168.1.0 0.0.0.255 destination 192
.168.3.1 0 (添加一条不允许192.168.1.0/24网段到192.168.3.1主机中含有icmp协议的数据)
[Huawei-acl-adv-3000]display this (查看一下)
[V200R003C00]
#
acl number 3000
rule 5 deny icmp source 192.168.1.0 0.0.0.255 destination 192.168.3.1 0 (设置成功了)
#
return
[Huawei-acl-adv-3000]q (q退出当前模式)
[Huawei]int g0/0/1 (进入接口)
[Huawei-GigabitEthernet0/0/1]traffic-filter outbound acl 3000 (给此接口调用acl 3000 并设置为出口模式)
[Huawei-GigabitEthernet0/0/1]dis th (查看一下)
[V200R003C00]
#
interface GigabitEthernet0/0/1
ip address 192.168.3.254 255.255.255.0
traffic-filter outbound acl 3000 (添加成功了)
#
return
然后我们来ping一下试试
3.仅允许Client1访问Web服务器的WWW服务
[Huawei]acl 3000
[Huawei-acl-adv-3000]rule permit tcp source 192.168.1.3 0 destination 192.168.3.1 0 destination-port eq www(添加一条允许源IP地址为192.168.1.3的主机,目标地址为192.168.3.1的主机之间传输的tcp协议中的 www 报文通过的规则)
[Huawei-acl-adv-3000]rule deny tcp source any destination 192.168.3.1 0 destination-port eq www (添加一条拒绝所有以目标地址为192.168.3.1主机的设备发送的含有TCP协议中的 www 报文,不允许其通过的规则)
[Huawei-acl-adv-3000]dis th(查看一下)
[V200R003C00]
#
acl number 3000
rule 10 permit tcp source 192.168.1.3 0 destination 192.168.3.1 0 destination-p
ort eq www
rule 15 deny tcp destination 192.168.3.1 0 destination-port eq www
#
return
return
设置完了让我们来看一下吧
我们为了验证需要再添加一台客户端设置好IP地址
然后我们来试一下吧
实验到这里就结束啦,下次见咯。