ACL配置示例
基本ACL、高级ACL、二层ACL和用户自定义ACL的配置方法。
一、基本ACL配置示例
如上图拓扑,Switch作为FTP服务器(172.16.104.110/24),已知Switch与各个子网之间路由可达。现在要通过基本ACL过滤用户访问FTP服务器时报文中源IP地址,限制用户访问交换机上FTP服务器的权限,具体要求如下:
(1)子网1(172.16.105.0/24)的所有用户在任意时间都可以访问FTP服务器。
(2)子网2(172.16.107.0/24)的所有用户只能在某一时间范围内访问FTP服务器。
(3)其他用户不可以访问FTP服务器。
在华为S系列交换机的许多登录(如Telnet、STelnet、HTTP、HTTPS、FTP和FTPS等)、访问中都可以通过ACL进行用户权限限制。
1、基本配置思路分析
(1)在Switch上创建基本ACL,并通过三条基本ACL规则中分别对3个子网用户发送的报文中的源IP地址进行过滤(其实就是一种访问授权);然后为允许子网2中的用户访问FTP服务器配置一个基本ACL生效时间段。
(2)在Switch上启用FTP功能。
(3)在Switch的FTP服务器上调用上面创建的基本ACL,对网络中不同用户的FTP服务器访问进行控制。
2、具体配置步骤
(1)配置用于允许子网2用户访问FTP服务器的ACL生效时间段。假设为从2017年1月1日开始到2017年12月31日,每个双休日的下午2点到下午6点生效。
<Huawei>system-view
[Huawei]syaname Switch
[Switch]time-range ftp-access from 0:02017/1/1 to 23:59 2017/12/31
[Switch]time-range ftp-access 14:00 to18:00 off-day
(2)配置基本ACL。
[Switch]acl number 2001
[Switch-acl-basic-2001]rule permit source 172.16.105.0 0.0.0.255
[Switch-acl-basic-2001]rule permit source 172.16.107.0 0.0.0.255 time-range ftp-access
[Switch-acl-basic-2001]rule deny source any
[Switch-acl-basic-2001]quit
(3)启动FTP服务器功能
[Switch]ftp server enable
(4)在FTP服务器的访问中调用前面的基本ACL。
[Switch]ftp acl 2001
具体实验:
如上图拓扑结构,VLAN2、3、4,在LSW2上设置相应VLAN,其VLANIF设置为各自网段中最后一位为1的地址,VLAN100为两台交换机的连接用VLAN,LSW2上VLANIF为192.168.1.2/24,LSW1上VLANIFWie192.168.1.1/24。
设置好后,各网段可以相互PING通,
上面的配置关于int g0/0/2,原来是没有这一步设置的,拓扑图中也没有PC4,去掉PC4和int g/0/2的设置后,ospf路由生成中没有172.16.104.0网段的路由。
增加以上配置后;
此时,各CLient端能够ftp上172.16.104.110
设置ACL,对FTP启用ACL过滤
通过Client2、3登录时,连接失败
对ACL进行修改:
这时172.16.107.111就可以登录上。
但是,这时候PING FTP服务器时,是能PING通的。
这说明,ACL应用在FTP时,只针对FTP应用进行过滤,而PING包是能够到达服务器的。
此功能的实现还可以在LSW1的GE0/0/1端口实现流量过滤来实现:
此时,Client2上PING服务器也是不通的。
二、高级ACL配置示例
如上图拓扑,Switch为S5700系列系统,是一个高级ACL应用。要求禁止研发部门和市场部门在上班时间(8:00至17:30)访问工资查询服务器(IP地址为10.164.9.9),而总裁办公室不受限制,可以随时访问。
1、基本配置思路分析
要求控制指定IP地址的用户访问指定目的IP地址的主机,所以必须配置高级ACL。可以采取两种配置方法:一是通过基于ACL的简化流策略,在连接工资查询服务器的交换机GE2/0/1端口或者两部门各自所连接的GE1/0/2和GE1/0/3端口入方向上应用所配置的高级ACL;二是通过QoS流策略。
当采用基于ACL的简化流策略配置方法时,基本配置思路如下:
(1)配置ACL生效时间段
(2)配置所需的两条高级ACL(包括ACL规则)
(3)在交换机GE1/0/2和GE1/0/3端口入方向上分别应用所配置的对应高级ACL。
如果采用QoS流策略配置方法,则基本的配置思路如下:
(1)配置ACL生效时间段。
(2)配置所需的两条高级ACL(包括ACL规则)
(3)配置根据上述高级ACL进行的流分类。
(4)配置对上述流分类采取拒绝的流行为。
(5)配置并在研发部门和市场部门连接的交换机端口上应用QoS流策略。
QoS策略的配置包括定义流分类、定义流行为、创建QoS流策略和应用QoS流策略这四项主要任务。
2、具体配置步骤
(1)基于ACL的简化流策略的配置方法
①配置ACL生效时间段
[Huawei]time-range satime 8:00 to 17:30working-day
②配置两条ACL及其规则。
[Huawei]acl 3002
[Huawei-acl-adv-3002]rule deny ip source10.164.2.0 0.0.0.255 destination 10.164.9.9 0.0.0.0 time-range satime
[Huawei-acl-adv-3002]quit
[Huawei]acl 3003
[Huawei-acl-adv-3003]rule deny ip source10.164.3.0 0.0.0.255 destination 10.164.9.9 0.0.0.0 time-range satime
[Huawei-acl-adv-3003]quit
③在端口上应用ACL
如果采用第一种方法,需分别在交换机GE1/0/2和GE1/0/3端口入方向上应用所配置的高级ACL。可选择使用traffic-filter或者traffic-secure命令对三层报文进行过滤。
[Huawei]interface GigabitEthernet1/0/2
[Huawei-GigabitEthernet1/0/2]traffic-filterinbound acl 3002
[Huawei-GigabitEthernet1/0/2]quit
[Huawei]interface GigabitEthernet1/0/3
[Huawei-GigabitEthernet1/0/3]traffic-filterinbound acl 3003
[Huawei-GigabitEthernet1/0/3]quit
(2)基于QoS流策略的配置方法
首先按前面的第①②步配置好ACL生效时间段和两条高级ACL,然后还需要按照以下步骤配置好流分类、流行为和流策略,最后在两部门连接的交换机端口入方向上应用对应的流策略。
①定义基于ACL的流分类
#---配置流分类c_market,对匹配ACL3002的报文进行分类
[Huawei]traffic classifier c_market
[Huawei-classifier-c_market]if-match acl 3002
[Huawei-classifier-c_market]quit
#---配置流分类c_rd,对匹配ACL3003的报文进行分类
[Huawei]traffic classifier c_rd
[Huawei-classifier-c_rd]if-match acl 3003
[Huawei-classifier-c_rd]quit
②定义流行为
#--定义流行为b_market,动作为拒绝报文通过
[Huawei]traffic behavior b_market
[Huawei-behavior-b_market]deny
[Huawei-behavior-b_market]quit
#--定义流行为b_rd,动作为拒绝报文通过
[Huawei]traffic behavior b_rd
[Huawei-behavior-b_rd]deny
[Huawei-behavior-b_rd]quit
③创建流策略,对以上流分类和流行为进行关联
#---配置流策略p_market,将流分类c_market与流行为b_market关联
[Huawei]traffic policy p_market
[Huawei-trafficpolicy-p_market]classifier c_market behavior b_market
[Huawei-trafficpolicy-p_market]quit
#---配置流策略p_rd,将流分类c_rd与流行为b_rd关联
[Huawei]traffic policy p_rd
[Huawei-trafficpolicy-p_rd]classifier c_ rd behavior b_ rd
[Huawei-trafficpolicy-p_ rd]quit
④在对应端口上应用流策略
#---将流策略p_market应用到GE1/0/2接口
[Huawei]interface GigabitEthernet1/0/2
[Huawei-GigabitEthernet1/0/2]traffic-policy p_market inbound
[Huawei-GigabitEthernet1/0/2]quit
#---将流策略p_rd应用到GE1/0/3接口
[Huawei]interface GigabitEthernet1/0/3
[Huawei-GigabitEthernet1/0/3]traffic-policy p_rd inbound
[Huawei-GigabitEthernet1/0/3]quit
具体实验:如下拓扑
Switch交换机上建立vlan2、3、4、10,分别连接LSW2、LSW3、LSW4和Server1,交换机之间连接链路两端trunk口,允许对应vlan通过,这时PC1、PC2、PC3、Server1之间相互联通,因为Switch上自动启用了路由功能,各vlan之间三层是直接相连,所以相互之间联通。
至此,进行基于ACL的简化流策略的配置的基础环境配置成功,下一步进行基于ACL的简化流策略配置。
下面进行acl简化流策略配置
经过上述配置后,PC1、PC2在设置的时间段内无法访问Server1,可以访问其他设备。
增加一台PC,如下图
添加到vlan10,PC1、PC2可以PING通PC4,说明过滤只针对Server1一个地址。
三、二层ACL配置示例
模拟测试拓扑如上,PC1、PC2、PC3的IP地址分别为192.168.0.1 、192.168.0.2、192.168.0.3,初始状态时相互之间联通,在LSW2的GE0/0/1接口上配置基于ACL的简化策略配置二层ACL,实现过滤功能。
PC1的MAC为54-89-98-83-78-51,PC3的MAC为54-89-98-E9-62-A8,
配置的二层ACL为拒绝原MAC为54-89-98-83-78-51的报文到达目的MAC为54-89-98-E9-62-A8的设备,即理论上配置后,PC1应该无法联通PC3,但是实际测试,如上配置后,PC1依然能够PING通PC3,不知道什么原因?
经过排查,我的配置出现了错误,PC3的MAC地址给写错了,最后两位是A8,我写成了AB,修改后,配置生效,PC1无法PING通PC3
四、用户自定义ACL配置示例
如上拓扑,Switch的GE1/0/1接口连接用户,GE2/0/1接口连接上层路由器。要求在接口GE1/0/1下绑定用户自定义ACL,从二层报文头偏移14个字节开始匹配,拒绝匹配成功的报文通过,匹配的字符串内容为0x0180C200(共4个字节)
此示例类同上一个例子,只是acl的内容不同,使用自定义的acl,配置如下
1、基于ACL的简化策略的配置步骤
(1)配置符合要求的用户自定义ACL。
[Huawei]acl 5000
[Huawei-acl-user-5000]rule deny l2-head 0x0180C200 0xffffffff 14
[Huawei-acl-user-5000]quit
(2)在Switch的GE1/0/1端口上应用上面创建的用户自定义ACL。
[Huawei]interface gigabitethernet1/0/1
[Huawei-GigabitEthernet1/0/1]traffic-secureinbound acl 5000
[Huawei-GigabitEthernet1/0/1]quit
主要区别就是这里的acl配置可以检查二层报文中的具体位置的具体内容,以此内容来作为过滤的条件,应该是某些应用在处理包的时候,在二层包中的固定位置增加相应标识以区分不同包。