ACL
作用:1访问控制列表(ACL)读取第三层,第四层包头协议,根据预先定义好的规则对包进行过滤。要么放行要么丢弃。2结合其他协议,用来匹配范围。根据通信五元素来实现具体的匹配
补充(通信四元素:源IP地址,目的IP地址,源端口,目的端口。
通信五元素:源IP地址,目的IP地址,源端口,目的端口,协议。)
工作原理:
1 访问控制列表在接口应用的方向
补充(出:已经过路由器的处理,正离开路由器接口的数据包。入:已到达路由器接口的数据包,将被路由器处理。出口和入口的判断看数据的传输方向)
2 事先在一个接口定义好相关的规则,然后根据相关的规则去处理经过这个接口的数据包,最终结果要么放行要么丢弃。匹配规则,从第一个往下依次匹配,匹配到了即停止匹配,
华为acl分类
基本acl(2000-2999)只能匹配源IP地址
高级acl(3000-3999)可以匹配源ip,目标IP,源端口,目标端口等三层和四层的字段和协议)
二层acl (4000-4999)根据数据包的源MAC地址,目的MAC地址,802.1q优先级,二层协议类型等二层信息制定规则)
应用原则
基本acl:尽量用在近目的点
高级acl:尽量用在靠近源的地方(可以保护带宽和其他资源)
应用/匹配规则
1 一个接口的同一个方向,只能调用一个ac1
2 一个ac1里面可以有多个rule 规则,按照规则ID从小到大排序,从上往下依次执行
3 数据包一旦被某rule匹配,就不再继续向下匹配
4 用来做数据包访问控制时,所有rule都不匹配时,默认隐含放过所有(这个是华为设备,其他设备不一样,默认隐含可以自定义)
配置简单acl
配置为仅禁止pc1访问pc3
[Huawei ] acl number 2000 创建acl2000
[Huawei-ac-asic-2000] rule 5 deny source 192.168.1.1 0 拒绝源地址为192.168.1.1的流量,0代表仅此一台,5是这条规侧的序号(可不加,不加默认为递增五,如5.10.15这样
[Huawei]interface GigabitEthernet 0/0/1
[Huawei-GiqabitEthernet0/0/ip address 192.168.2.254 24
[Huawei-GigabitEthernet0/0/1]traffic-filter outbound acl 2000接口出方向调用acl 2000,outbound代表出方向,inbound代表进入方
[Huawei-GigabitEthernet0/0/1]undo sh
创建如下实验环境
首先配置路由器AR1的端口号
配置pc的配置以pc1为例
配置acl命令
ping一下pc
这里禁止pc1通过其他默认放行,所以只有pc1无法ping通,其他均可
pc1
pc2
配置仅允许192.168.1.0网段访问pc3
[Huawei] acl number 2001进入 acl 2001 列表
[Huawei-acl-basic-2001] rule permit source 192.168.1.0 0.0.0.255 permit代表允许,source代表来源,掩码部分为反掩码(拓展反掩码 正常掩码以24为例11111111.11111111.11111111.00000000
反掩码即为w
00000000.00000000.00000000.11111111
即与正常掩码0与1的数字互换即为反掩码)
[Huawei-acl-basic-2001] rule deny source any 拒绝所有访问,any代表所有 0.0.0.0 255.255.255.255
或者 rule deny
[Huawei] interface GiqabitEthernet 0/0/1 进入出口接口
[Huawei-GigabitEthernet0/0/1] ip address 192.168.2.254 24
[Huawei-GigabitEthernet0/0/1] traffic-filter outbound acl 2001
重启下AR1还原下配置,或者也可以进入设置acl的端口undo traffic-filter outbound 解除端口的acl应用,同时undo acl 2000删除整条acl(进入到acl2000内输入undo rule5 代表删除一条acl语句)
这里操作下来应该只有属于192.168.1.0网段的pc1,pc2和Client1可以访问pc3而属于192.168.3.0网段的server1不可以访问pc3
pc1
server1
拒绝192.168.1.0网段ping server1
这里ping属于协议要用高级acl编号3000到3999
[Huawei] acl nmuber 3000 拒绝tcp为高级控制,所以3000起
[Huawei-acl-adv-3000] rule deny icmp source 192.168.1.0 0.0.0.255 destination 192.168.3.1 0 -----拒绝Ping
[Huawei] int g0/0/0
[Huawei-GigabitEthernet0/0/0] traffic-filter inbound acl 3000 ----- 在接口入方向应用
pc2属于192.168.1.0网段所以无法ping通
pc3属于192.168.2.0网段所以可以ping通
1[Huawei-acl-adv-3000] rule permit tcp source 192.168.1.3 0 destination 192.168.3.1 0 destination-port eq 80 -----destination代表目的地地址,destination-port代表目的端口号,80可用www代替,命令指允许从192.168.1.3主机向192.168.3.1主机发送端口号为80的tcp协议即http协议
2[Huawei-acl-adv-3000] rule deny tcp source any destination 192.168.3.1 0 destination-port eq 80
-------拒绝所有主机向192.168.3.1主机发送端口号为80的tcp协议
这两条命令达成了除了192.168.1.3主机可以向192.168.3.1主机发送http协议,其他主机都不行即设置白名单(允许个例拒绝所有)-----拓展黑名单(拒绝个例允许所有)
建立如下实验环境
配置AR1
检测下
下面对比下client1和2,因为只禁止了http协议所以都可以ping通server1
下面对比http协议client1可以连到2却不行
拓展
[Huawei-acl-ady-3000]rule deny tcp source 192.168.10.0 0.0.0.255 destination 12.0.0.2 destination-port eq 21------- 拒绝源地址192.168.10.0网段访问ETP服务器12.0.0.2
[Huawei-acl-adv-3000ldis this -----查看当前ACL配置是否配置成
[Huawei] int g0/0/0
[Huawei-GigabitEthernet0/0/0] traffic-filter inbound acl 3000---- 在接口入方向应用