学习目标:使用华三acl控制数据流

1、认识华三h3c的两种ACL:basic acl 、 advanced acl在不同接口类型、不同调用方向及后续运维方式中表现是否一致?
2、区分acl中的source ip或destination ip在接口下调用时华三CLI命令行中:inbound/outbound所指的方向。

3、常见的路由器交换机acl功能设计是否一致?

4、如果接口下同时挂载inbound/outbound策略acl时华三网络设备如何控制数据流量?

5、

本实例分别模拟物理接口和Vlan接口:

        1、acl配置在物理接口

                (acl控制的两个端点访问)接口配置acl时调用:(basic acl 、 advanced acl表现一致且与我们日常所理解的接口的in/out方向相同)

                配置inbound方向(无论从A主动访问B,还是主动从B到A)设备指代的方向都一样:以配置了acl的接口为例,流量进入接口流入设备(流入交换机内部)的方向;

outbound方向(无论从A主动访问B,还是主动从B到A)以配置了acl的接口为例,流量流出设备(从交换机流出)去往端点的方向;

        如下图所示,当配置outbound方向的acl时,无论从188.8.190.64主动访问188.8.3.2,还是主动从188.8.3.2访问188.8.190.64,ACL控制的方向是相同,都是:从华三设备接口流出去往188.8.190.64端点的方向--outbound方向,反之 inbound同理。

华三交换机vlan应用acl策略 华三交换机acl配置_linux

        2、acl配置在interface vlan接口

与我们日常所理解的接口的in/out方向相反,但是与物理接口指代的in/out方向相同。):

                 inbound方向(无论从A主动访问B,还是主动从B到A)设备指代的方向都一样:inbound指流量在交换机内部流入网关(该vlan下面的主机发出去往interface vlan的网关)并通过网关且流出设备(流出网关)去往另外一端的方向,与物理接口所指代的方向相同;

outbound方向(无论从A主动访问B,还是主动从B到A)设备指代方向都一样:outbound指配置acl的接口(interface vlan)从外面进入网关内部(进入interface vlan接口并查找该interface vlan下面的主机转发)去往网关内部主机的方向,与物理接口所指代的方向相同

out方向。所以这里很容易引发混淆,在配置acl时我们尽量把物理接口和vlan接口都看作是交换机内部接口,从配置acl的接口进入交换机看作inbound,从配置acl接口的流出看作outbound,不考虑数据流从vlan的进入和离开。

        综上:

        针对物理接口下:参考本次实验拓扑 

                1、如果已知源地址和目的地址,可以通过控制acl的接口下的方向inbound/outbound

来控制数据流。举个例子:如果我们需要放行或拒绝已知端点1为188.8.190.64,端点2为:188.8.3.2的ssh服务,acl我们可以写成:可以看出2个方式都能实现数据流量的访问控制,只需要注意控制源端口还是目的端口(推荐控制目的端口)

server3(188.8.190.64)指代clent,内网ssh服务(188.8.3.2)指代server服务器

advanced ACL:
rule 0 permit ip source 188.8.190.64 0 destination 188.8.3.2 0 destination-port eq ssh
interface GigabitEthernet1/0/5
packet-filter 2005 outbound #ssh服务器的位置是固定的
如果想通过outbound方向控制数据流需要在物理接口上控制clent--->server
拓扑中 server3-->内网ssh服务的方向。

rule 0 permit ip source 188.8.3.2 0 destination 188.8.190.64 0 source-port eq ssh
interface GigabitEthernet1/0/5
packet-filter 2005 inbound  #ssh服务器的位置是固定的
如果想通过inbound方向控制数据流需要在物理接口上控制server--->client
拓扑中 内网ssh服务--->server3 的方向。

使用常规basic ACL:
rule 0 permit source 188.8.190.64 0 
interface GigabitEthernet1/0/5
packet-filter 2005 outbound 

rule 0 permit source 188.8.3.2 0
interface GigabitEthernet1/0/5
packet-filter 2005 inbound

                

        针对interface vlan接口下:参考本次实验拓扑         

可以看出2个方式都能实现数据流量的访问控制,只需要注意控制源端口还是目的端口(推荐控制目的端口)

拓扑图中:server3(188.8.190.64)指代client,内网ssh服务(188.8.3.2)指代server

interface vlan 5
packet-filter 2005 outbound   #已知接口下已经存在acl并配置outbound方向

通过配置的acl outbound可知acl控制的数据流方向为:client--->server
rule 0 permit ip source 188.8.190.64 0 destination 188.8.3.2 0 destination-port eq ssh

interface vlan 5
packet-filter 2005 inbound #已知接口下已经存在acl并配置inbound方向

通过配置的acl inbound可知方向为:server--->client
rule 0 permit ip source 188.8.3.2 0 destination 188.8.190.64 0 source-port eq ssh

inbound/outbound策略acl

outbound方向的ACL;
                 相同方向排序靠上的生效,排序靠下的不生效

                匹配和命中顺序与basic acl,advanced acl类型无关与挂载方向inbound/outbound数量无关

同方向(inbound/outbound)排序靠上的生效,排序靠下的不生效,与basic acl 、 advanced acl类型无关,且与挂载方向inbound/outbound数量无关。

interface Vlan-interface5 #此配置中acl 2005与acl 2101生效,其余无效。
 packet-filter 2005 inbound   
 packet-filter 2001 inbound
 packet-filter 2101 outbound  #acl2101优先匹配生效;
 packet-filter 2102 outbound
 packet-filter 3001 outbound
#
acl number 2101
 rule 0 permit logging counting  #添加outbound第一条策略允许其余拒绝。
 rule 100 deny logging counting

acl number 2102
 rule 100 deny logging counting

acl number 2001
 rule 0 permit logging counting
 rule 100 deny logging counting

acl number 2005
 rule 100 deny logging counting

acl number 3003
 rule 100 deny ip logging 

acl number 3001
rule 0 permit ip any logging count
 rule 100 deny ip logging

%Jun  6 09:17:50:491 2024 xialian_SW01_main FILTER/6/FILTER_IPV4_EXECUTION:
RcvIfName(1023)=Vlan-interface5;Direction(1070)=outbound;AclType(1067)=ACL;
Acl(1068)=2101;Protocol(1001)=TCP;SrcIPAddr(1003)=188.72.128.2;SrcPort(1004)=50115;
DstIPAddr(1007)=188.0.3.2;DstPort(1008)=22;MatchAclCount(1069)=8;Event(1048)=Permit;
%Jun  6 09:17:50:491 2024 xialian_SW01_main FILTER/6/FILTER_IPV4_EXECUTION:
RcvIfName(1023)=Vlan-interface5;Direction(1070)=inbound;AclType(1067)=ACL;
Acl(1068)=2005;Protocol(1001)=TCP;SrcIPAddr(1003)=188.0.3.2;SrcPort(1004)=22;
DstIPAddr(1007)=188.72.128.2;DstPort(1008)=50115;MatchAclCount(1069)=21;Event(1048)=Deny;

#日志显示outbound 2101优先被匹配,inbound 2005命中,其余策略无效。

学习内容:实验过程及结果

本次实验的拓扑如下:

华三交换机vlan应用acl策略 华三交换机acl配置_linux_02

1、如上图所示在交换机SW1上配置basic acl控制R1或客户server 3(188.8.190.64)访问内网ssh服务(188.8.3.2)的接口地址或loop back地址。以便验证华三系列交换机如何配置basic acl并调用在接口下。

2、如上图所示在交换机SW1上配置basic acl控制R1或客户server 3(188.8.190.64)访问内网ssh服务(188.8.3.2)的接口地址或loop back地址。以便验证华三系列交换机如何配置advance acl并调用在接口下。


实验过程:

基本配置:

内网ssh服务:
#
interface GigabitEthernet0/0
 ip address 188.8.3.2 255.255.255.0
#
 ip route-static 188.8.190.64 32 188.8.3.1  #指向客户server3的静态路由
 ip route-static 188.40.190.64 32 188.8.3.1  #指向客户server1的静态路由

SW1:

interface GigabitEthernet1/0/5
 ip address 188.8.3.1 255.255.255.0
 packet-filter 2005 outbound
#
acl basic 2005
 rule 100 deny logging counting
#

R1:
 nat static inbound 2.2.2.2 188.8.190.64  #客户server3的nat地址
 nat static inbound 8.8.8.8 188.40.190.64  #客户server1的nat地址

1、当acl配置在物理接口上时:

outbound,此时拒绝所有流量。当从ssh内网发起流量(反之亦然,从客户server 3发起流量现象一致)设备log提示:可以从log日志看出无论从哪个方向发起流量,华三交换机的物理接口接口配置outbound拒绝的数据流是:

client--->server

service3(188.8.190.64)服务器为源,内网ssh服务器(188.8.3.2)为目的;

从ssh内网188.8.3.2访问188.8.190.64:

<SW1>%Dec 15 22:17:38:838 2021 SW1 FILTER/6/FILTER_EXECUTION_ICMP: RcvIfName(1023)=GigabitEthernet1/0/5;Direction(1070)=outbound;AclType(1067)=ACL;Acl(1068)=2005;Protocol(1001)=ICMP;SrcIPAddr(1003)=188.8.190.64;DstIPAddr(1007)=188.8.3.2;IcmpType(1062)=ECHOREPLY(0);IcmpCode(1063)=0;MatchAclCount(1069)=1;Event(1048)=Deny;

反之,从客户server3访问188.8.3.2:

%Dec 15 22:17:54:168 2021 SW1 FILTER/6/FILTER_EXECUTION_ICMP: RcvIfName(1023)=GigabitEthernet1/0/5;Direction(1070)=outbound;AclType(1067)=ACL;Acl(1068)=2005;Protocol(1001)=ICMP;SrcIPAddr(1003)=188.8.190.64;DstIPAddr(1007)=188.8.3.2;IcmpType(1062)=ECHO(8);IcmpCode(1063)=0;MatchAclCount(1069)=1;Event(1048)=Deny;

intbound,此时拒绝所有流量。当从ssh内网发起流量(反之亦然,从客户server 3发起流量现象一致)设备log提示:以从log日志看出无论从哪个方向发起流量,华三交换机的物理接口接口配置inbound拒绝的数据流是:

server--->client

内网ssh服务器(188.8.3.2)为源,service3(188.8.190.64)服务器为目的;

从内网ssh访问客户server3
从客户server3访问内网ssh,两次的acl log日志相同:

[SW1]%Dec 15 22:23:41:587 2021 SW1 FILTER/6/FILTER_IPV4_EXECUTION: RcvIfName(1023)=GigabitEthernet1/0/5;Direction(1070)=inbound;AclType(1067)=ACL;Acl(1068)=2005;Protocol(1001)=TCP;SrcIPAddr(1003)=188.8.3.2;SrcPort(1004)=22;DstIPAddr(1007)=188.8.190.64;DstPort(1008)=29184;MatchAclCount(1069)=1;Event(1048)=Deny;

从客户server3访问内网ssh,两次的acl log日志相同:
%Dec 15 22:24:03:103 2021 SW1 FILTER/6/FILTER_IPV4_EXECUTION: RcvIfName(1023)=GigabitEthernet1/0/5;Direction(1070)=inbound;AclType(1067)=ACL;Acl(1068)=2005;Protocol(1001)=TCP;SrcIPAddr(1003)=188.8.3.2;SrcPort(1004)=17792;DstIPAddr(1007)=188.8.190.64;DstPort(1008)=22;MatchAclCount(1069)=1;Event(1048)=Deny;

综上,接口配置acl时调用(basic acl 、 advanced acl与我们日常所理解的in/out方向相同)

                inbound方向(无论从A主动访问B,还是主动从B到A)设备指代的方向都一样:以配置了acl的接口为例,流量进入接口流入设备(流入交换机内部)的方向;

outbound方向(无论从A主动访问B,还是主动从B到A)以配置了acl的接口为例,流量流出设备(从交换机流出)去往端点的方向;

华三交换机vlan应用acl策略 华三交换机acl配置_linux

2、当acl配置在interface vlan接口时:

基础配置同上,将物理接口修改为interface vlan 

SW1:
interface Vlan-interface5
 ip address 188.8.3.1 255.255.255.0
 packet-filter 2005 outbound
#
interface GigabitEthernet1/0/5
 port link-mode bridge
 port access vlan 5
 combo enable fiber
 stp edged-port
#
acl basic 2005
 rule 100 deny logging counting

    分别从ssh内网服务,以及客户server3发起ping:

从内网ssh服务发起流量:
[SW1]%Apr 22 15:30:50:467 2022 SW1 FILTER/6/FILTER_EXECUTION_ICMP: RcvIfName(1023)=Vlan-interface5;Direction(1070)=outbound;AclType(1067)=ACL;Acl(1068)=2005;Protocol(1001)=ICMP;SrcIPAddr(1003)=188.8.190.64;DstIPAddr(1007)=188.8.3.2;IcmpType(1062)=ECHOREPLY(0);IcmpCode(1063)=0;MatchAclCount(1069)=1;Event(1048)=Deny;
从客户server3发起:
[SW1]%Apr 22 15:30:58:598 2022 SW1 FILTER/6/FILTER_EXECUTION_ICMP: RcvIfName(1023)=Vlan-interface5;Direction(1070)=outbound;AclType(1067)=ACL;Acl(1068)=2005;Protocol(1001)=ICMP;SrcIPAddr(1003)=188.8.190.64;DstIPAddr(1007)=188.8.3.2;IcmpType(1062)=ECHO(8);IcmpCode(1063)=0;MatchAclCount(1069)=1;Event(1048)=Deny;

可以从log日志看出在interface vlan接口下,无论从哪个方向发起流量,华三交换机的interface vlan接口接口配置outbound拒绝的数据流是:

client--->server

service3(188.8.190.64)服务器为源,内网ssh服务器(188.8.3.2)为目的;

结论:

在华三设备上部署acl限制流量,在物理接口和interface vlan 接口下源地址和目的地址的inbound,outbound方向相同,与acl类型(basic or advanced)无关,与两端主动发起的方向无关。一旦配置在接口下配置了acl并挂载了inbound/outbound就控制了数据流的方向:

                inbound方向(无论从A主动访问B,还是主动从B到A)设备控制数据流的方向都一样:以配置了acl的接口为例,流量进入接口流入设备(流入交换机内部)的方向;

outbound方向(无论从A主动访问B,还是主动从B到A)以配置了acl的接口为例,流量流出设备(从交换机流出)去往端点的方向;

华三交换机vlan应用acl策略 华三交换机acl配置_linux_04

如果同一接口下配置了多行inbound/outbound策略acl,则相同方向inbound或outbound只有最靠上的第一行生效,其余配置无效,且最先生效的是outbound方向的第一行策略的acl。