组网图形
ACL简介
访问控制列表ACL(Access Control List)是由一条或多条规则组成的集合。所谓规则,是指描述报文匹配条件的判断语句,这些条件可以是报文的源地址、目的地址、端口号等。
ACL本质上是一种报文过滤器,规则是过滤器的滤芯。设备基于这些规则进行报文匹配,可以过滤出特定的报文,并根据应用ACL的业务模块的处理策略来允许或阻止该报文通过。
基于ACL规则定义方式,可以将ACL分为基本ACL、高级ACL、二层ACL等种类。基本ACL根据源IP地址、分片信息和生效时间段等信息来定义规则,对IPv4报文进行过滤。如果只需要根据源IP地址对报文进行过滤,可以配置基本ACL。
本例,就是将基本ACL应用在流策略模块,使设备可以对内网主机访问外网的报文进行过滤,达到限制内网特定主机上网的目的。
配置注意事项
本举例适用于S系列交换机所有产品的所有版本。
以下涉及的命令行及回显信息以V200R007C00版本的S7712交换机为例。
组网需求
如图1所示,某公司通过Switch实现各部门之间的互连。现要求Switch能够禁止研发部和市场部的部分主机访问外网,防止公司机密泄露。
配置思路
采用如下的思路在Switch上进行配置:
- 配置基本ACL和基于ACL的流分类,使设备可以对研发部与市场部的指定主机的报文进行过滤。
- 配置流行为,拒绝匹配上ACL的报文通过。
- 配置并应用流策略,使ACL和流行为生效。
操作步骤
- 配置接口所属的VLAN以及接口的IP地址
# 创建VLAN10和VLAN20。
<HUAWEI> system-view [HUAWEI] sysname Switch [Switch] vlan batch 10 20
# 配置Switch的接口GE1/0/1、GE1/0/2为trunk类型接口,并分别加入VLAN10和VLAN20;配置Switch的接口GE2/0/1为trunk类型接口,加入VLAN10和VLAN20。
[Switch] interface gigabitethernet 1/0/1 [Switch-GigabitEthernet1/0/1] port link-type trunk [Switch-GigabitEthernet1/0/1] port trunk allow-pass vlan 10 [Switch-GigabitEthernet1/0/1] quit [Switch] interface gigabitethernet 1/0/2 [Switch-GigabitEthernet1/0/2] port link-type trunk [Switch-GigabitEthernet1/0/2] port trunk allow-pass vlan 20 [Switch-GigabitEthernet1/0/2] quit [Switch] interface gigabitethernet 2/0/1 [Switch-GigabitEthernet2/0/1] port link-type trunk [Switch-GigabitEthernet2/0/1] port trunk allow-pass vlan 10 20 [Switch-GigabitEthernet2/0/1] quit
# 创建VLANIF10和VLANIF20,并配置各VLANIF接口的IP地址。
[Switch] interface vlanif 10 [Switch-Vlanif10] ip address 10.1.1.1 24 [Switch-Vlanif10] quit [Switch] interface vlanif 20 [Switch-Vlanif20] ip address 10.1.2.1 24 [Switch-Vlanif20] quit
- 配置ACL
# 创建基本ACL 2001并配置ACL规则,拒绝源IP地址为10.1.1.11和10.1.2.12的主机的报文通过。
[Switch] acl 2001 [Switch-acl-basic-2001] rule deny source 10.1.1.11 0 //禁止IP地址为10.1.1.11的主机访问外网 [Switch-acl-basic-2001] rule deny source 10.1.2.12 0 //禁止IP地址为10.1.2.12的主机访问外网 [Switch-acl-basic-2001] quit
- 配置基于基本ACL的流分类
# 配置流分类tc1,对匹配ACL 2001的报文进行分类。
[Switch] traffic behavior tb1 //创建流行为 [Switch-behavior-tb1] deny //配置流行为动作为拒绝报文通过 [Switch-behavior-tb1] quit
- 配置流行为
# 配置流行为tb1,动作为拒绝报文通过。
[Switch] traffic behavior tb1 //创建流行为 [Switch-behavior-tb1] deny //配置流行为动作为拒绝报文通过 [Switch-behavior-tb1] quit
- 配置流策略
# 定义流策略,将流分类与流行为关联。
[Switch] traffic policy tp1 //创建流策略 [Switch-trafficpolicy-tp1] classifier tc1 behavior tb1 //将流分类tc1与流行为tb1关联 [Switch-trafficpolicy-tp1] quit
- 在接口下应用流策略
# 由于内网主机访问外网的流量均从接口GE2/0/1出口流向Internet,所以可以在接口GE2/0/1的出方向应用流策略。
[Switch] interface gigabitethernet 2/0/1 [Switch-GigabitEthernet2/0/1] traffic-policy tp1 outbound //流策略应用在接口出方向 [Switch-GigabitEthernet2/0/1] quit
- 验证配置结果
# 查看ACL规则的配置信息。
[Switch] display acl 2001 Basic ACL 2001, 2 rules Acl's step is 5 rule 5 deny source 10.1.1.11 0 (match-counter 0) rule 10 deny source 10.1.2.12 0 (match-counter 0)
# 查看流分类的配置信息。
[Switch] display traffic classifier user-defined User Defined Classifier Information: Classifier: tc1 Precedence: 5 Operator: OR Rule(s) : if-match acl 2001 Total classifier number is 1
# 查看流策略的配置信息。
[Switch] display traffic policy user-defined tp1 User Defined Traffic Policy Information: Policy: tp1 Classifier: tc1 Operator: OR Behavior: tb1 Deny
# IP地址为10.1.1.11和10.1.2.12的主机无法访问外网,其他主机均可以访问外网。
配置文件
Switch的配置文件
#
sysname Switch
#
vlan batch 10 20
#
acl number 2001
rule 5 deny source 10.1.1.11 0
rule 10 deny source 10.1.2.12 0
#
traffic classifier tc1 operator or precedence 5
if-match acl 2001
#
traffic behavior tb1
deny
#
traffic policy tp1 match-order config
classifier tc1 behavior tb1
#
interface Vlanif10
ip address 10.1.1.1 255.255.255.0
#
interface Vlanif20
ip address 10.1.2.1 255.255.255.0
#
interface GigabitEthernet1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
interface GigabitEthernet1/0/2
port link-type trunk
port trunk allow-pass vlan 20
#
interface GigabitEthernet2/0/1
port link-type trunk
port trunk allow-pass vlan 10 20
traffic-policy tp1 outbound
#
return