35-ACL典型配置举例
本章节下载: 35-ACL典型配置举例 (365.75 KB)
目 录
本章介绍了ACL(Access Control List,访问控制列表)的配置和应用方法。
本文中介绍的ACL配置过程均以配置顺序为例,关于ACL匹配顺序的介绍,请参见本产品ACL和QoS配置指导。。
ACL的应用包含以下两个步骤:
(1) 创建ACL,并制定匹配规则
(2) 应用ACL
其中ACL的应用可以通过包过滤功能(packet-filter)和QoS策略两种方式进行。两种方式的区别在于:
· 包过滤功能仅用于在接口上对报文进行识别和过滤,配置简单。
· QoS策略方式可以应用到接口、VLAN、全局等位置,并且在进行报文过滤的同时,还可以通过配置其它流行为动作对报文进行更灵活的处理。
本文主要介绍ACL用于报文过滤时的配置方法,因此将仅以使用包过滤功能为例。
表1 配置适用的产品与软件版本关系
产品 |
软件版本 |
S5830V2&S5820V2系列以太网交换机 |
Release 2208P01,Release 2210 |
Host A和其它主机通过端口Ten-GigabitEthernet1/0/1接入交换机,Host A的IP地址为10.1.1.1。要求通过配置ACL,实现在每天8:30~18:00的时间段内,Ten-GigabitEthernet1/0/1端口上只允许Host A发送的报文通过,拒绝来自其它主机的报文通过。
通过配置时间段并在ACL规则中进行引用,可以使规则在指定的时间范围生效。
在配置允许通过的报文匹配规则后,还需要配置拒绝所有报文通过的规则,实现对不符合特征的报文进行过滤。
# 创建周期时间段working_time,时间范围为每天的8:30~18:00。
<Switch> system-view
[Switch] time-range working_time 8:30 to 18:00 daily
# 创建IPv4基本ACL 2000,配置两条规则,分别为允许源IP地址为10.1.1.1的报文通过。
[Switch] acl number 2000
[Switch-acl-basic-2000] rule permit source 10.1.1.1 0 time-range working_time
[Switch-acl-basic-2000] quit
# 配置包过滤功能,应用IPv4基本ACL 2000对端口Ten-GigabitEthernet1/0/1收到的IPv4报文进行过滤。
[Switch] interface ten-gigabitethernet 1/0/1
[Switch-Ten-GigabitEthernet1/0/1] packet-filter 2000 inbound
# 执行display packet-filter命令查看包过滤功能的应用状态。
[Switch] display packet-filter interface ten-gigabitethernet 1/0/1
Interface: Ten-GigabitEthernet1/0/1
In-bound Policy:
ACL 2000
上述信息显示Ten-GigabitEthernet1/0/1端口上已经正确应用了包过滤功能。
# 在每天8:30~18:00的时间段内,在HostA上以1.2.2 图1中右侧任意一台服务器为目的进行ping操作,返回正常应答信息;在除HostA以外的主机上执行此操作返回请求超时信息。
# 在其它时间段内,在所有主机上执行此操作均能返回正常应答信息。
#
time-range working_time 08:30 to 18:00 daily
#
acl number 2000
rule 0 permit source 10.1.1.1 0 time-range working_time
#
interface Ten-GigabitEthernet1/0/1
packet-filter 2000 inbound
#
表2 配置适用的产品与软件版本关系
产品 |
软件版本 |
S5830V2&S5820V2系列以太网交换机 |
Release 2208P01,Release 2210 |
图2 拒绝指定的主机访问网络
Host A和其它主机通过端口Ten-GigabitEthernet 1/0/1接入交换机,Host A的IP地址为10.1.1.1。要求通过配置ACL,实现在每天8:30~18:00的时间段内,Ten-GigabitEthernet1/0/1端口上拒绝Host A发送的报文通过,允许来自其它主机的报文通过。
通过配置时间段并在ACL规则中进行引用,可以使规则在指定的时间范围生效。
对于未匹配ACL规则的报文,包过滤功能采取允许通过的动作。
# 创建周期时间段working_time,时间范围为每天的8:30~18:00。
<Switch> system-view
[Switch] time-range working_time 8:30 to 18:00 daily
# 创建IPv4基本ACL 2000,配置拒绝源IP地址为10.1.1.1的报文通过的规则。
[Switch] acl number 2000
[Switch-acl-basic-2000] rule deny source 10.1.1.1 0 time-range working_time
[Switch-acl-basic-2000] quit
# 配置包过滤功能,应用IPv4基本ACL 2000对端口Ten-GigabitEthernet1/0/1收到的IPv4报文进行过滤。
[Switch] interface ten-gigabitethernet 1/0/1
[Switch-Ten-GigabitEthernet1/0/1] packet-filter 2000 inbound
# 执行display packet-filter命令查看包过滤功能的应用状态。
[Switch] display packet-filter interface ten-gigabitethernet 1/0/1
Interface: Ten-GigabitEthernet1/0/1
In-bound Policy:
ACL 2000
上述信息显示Ten-GigabitEthernet1/0/1端口上已经正确应用了包过滤功能。
# 在每天8:30~18:00的时间段内,在除HostA的其它主机上以1.2.2 图1中右侧任意一台服务器为目的进行ping操作,返回正常应答信息;在HostA上执行此操作返回请求超时信息。
# 在其它时间段内,在所有主机上执行此操作均能返回正常应答信息。
#
time-range working_time 08:00 to 18:00 daily
#
acl number 2000
rule 0 deny source 10.1.1.1 0 time-range working_time
#
interface Ten-GigabitEthernet1/0/1
packet-filter 2000 inbound
#
表3 配置适用的产品与软件版本关系
产品 |
软件版本 |
S5830V2&S5820V2系列以太网交换机 |
Release 2208P01,Release 2210 |
图3 允许指定范围内的主机互相访问
交换机的Ten-GigabitEthernet1/0/1端口下连接了两个网段的主机,要求通过配置ACL,仅允许10.1.2.0/24网段访问100.1.1.0/24网段的报文通过,而拒绝其它报文通过。
· 在ACL规则中,设备通过通配符掩码(如0.0.0.255)来确定要匹配的IP地址范围。例如要匹配源地址为1.1.0.0/16网段,规则中应输入source 1.1.0.0 0.0.255.255。
· 在配置时要特别注意ACL规则的配置顺序,如果先配置了拒绝所有IP报文通过的规则,则指定网段之间的IP报文也将被过滤,无法实现组网需求。
# 创建IPv4高级ACL 3000,配置两条规则,分别为允许源地址为10.1.2.0/24网段,目的地址为100.1.1.0/24网段的IP报文通过,以及拒绝其它IP报文通过。
<Switch> system-view
[Switch] acl number 3000
[Switch-acl-adv-3000] rule permit ip source 10.1.2.0 0.0.0.255 destination 100.1.1.0 0.0.0.255
[Switch-acl-adv-3000] rule deny ip
[Switch-acl-adv-3000] quit
# 配置包过滤功能,应用IPv4高级ACL 3000对端口Ten-GigabitEthernet1/0/1收到的IP报文进行过滤。
[Switch] interface ten-gigabitethernet 1/0/1
[Switch-Ten-GigabitEthernet1/0/1] packet-filter 3000 inbound
# 执行display packet-filter命令查看包过滤功能的应用状态。
[Switch] display packet-filter interface ten-gigabitethernet 1/0/1
Interface: Ten-GigabitEthernet1/0/1
In-bound Policy:
ACL 3000
上述信息显示Ten-GigabitEthernet1/0/1端口上已经正确应用了包过滤功能。
# 在10.1.2.0/24网段的主机上以100.1.1.0/24网段内的服务器为目的进行ping操作,返回正常应答信息;在其它网段的主机上执行此操作返回请求超时信息。
#
acl number 3000
rule 0 permit ip source 10.1.2.0 0.0.0.255 destination 100.1.1.0 0.0.0.255
rule 5 deny ip
#
interface Ten-GigabitEthernet1/0/1
packet-filter 3000 inbound
#
表4 配置适用的产品与软件版本关系
产品 |
软件版本 |
S5830V2&S5820V2系列以太网交换机 |
Release 2208P01,Release 2210 |
图4 过滤Telnet报文
要求通过配置ACL,拒绝Ten-GigabitEthernet1/0/1端口上接收到的所有Telnet报文通过,允许其它类型的IP报文通过。
通过在高级ACL中指定目的协议端口号,可以匹配Telnet报文。
对于未匹配ACL规则的报文,包过滤功能采取允许通过的动作。
# 创建IPv4高级ACL 3000,配置拒绝TCP目的端口号23的报文通过的规则。
<Switch> system-view
[Switch] acl number 3000
[Switch-acl-adv-3000] rule 0 deny tcp destination-port eq telnet
[Switch-acl-adv-3000] quit
# 配置包过滤功能,应用IPv4高级ACL 3000对端口Ten-GigabitEthernet1/0/1收到的IP报文进行过滤。
[Switch] interface ten-gigabitethernet 1/0/1
[Switch-Ten-GigabitEthernet1/0/1] packet-filter 3000 inbound
# 执行display packet-filter命令查看包过滤功能的应用状态。
[Switch] display packet-filter interface ten-gigabitethernet 1/0/1
Interface: Ten-GigabitEthernet1/0/1
In-bound Policy:
ACL 3000
上述信息显示Ten-GigabitEthernet1/0/1端口上已经正确应用了包过滤功能。
# 在主机上以100.1.1.0/24网段内的服务器为目的进行ping操作,返回正常应答信息;在使用同样的目的地址执行Telnet操作时(目的服务器支持Telnet登录),返回连接失败消息。
#
acl number 3000
rule 0 deny tcp destination-port eq telnet
#
interface Ten-GigabitEthernet1/0/1
packet-filter 3000 inbound
#
表5 配置适用的产品与软件版本关系
产品 |
软件版本 |
S5830V2&S5820V2系列以太网交换机 |
Release 2208P01,Release 2210 |
图5 仅允许由指定网络发起TCP连接
要求通过配置ACL,实现:
· 在10.1.1.0/24网段的主机与服务器之间进行通信时,仅允许由主机向服务器发起和建立TCP连接,不允许由服务器向主机发起TCP连接。
· 在10.1.2.0/24网段的主机与服务器之间进行通信时,不对TCP连接发起方进行限制。
在高级ACL的规则中,提供了established参数,用于匹配TCP报文头中ACK和RST置位的报文,即在已建立的TCP连接上传输的报文。
由于TCP连接发起方一般使用大于1023的TCP端口号,因此,由服务器向目的网段主机发送的端口号大于1023、且ACK和RST位置位的报文,应视作已经存在的TCP连接,应该允许通过。其余的由服务器向目的网段发送的TCP报文都应拒绝通过。
对于未匹配ACL规则的报文,包过滤功能采取允许通过的动作。
# 创建IPv4高级ACL 3000,配置下面三条规则:
· 配置允许源地址为100.1.1.0/24、目的地址为10.1.1.0/24网段、TCP端口号大于1023、且ACK和RST位置位的报文通过的规则。
· 配置拒绝源地址为100.1.1.0/24、目的地址为10.1.1.0/24网段的TCP报文通过的规则。
· 配置允许其它IP报文通过的规则。
<Switch> system-view
[Switch] acl number 3000
[Switch-acl-adv-3000] rule permit tcp established source 100.1.1.0 0.0.0.255 destination 10.1.1.0 0.0.0.255 destination-port gt 1023
[Switch-acl-adv-3000] rule deny tcp source 100.1.1.0 0.0.0.255 destination 10.1.1.0 0.0.0.255
[Switch-acl-adv-3000] quit
# 配置包过滤功能,应用IPv4高级ACL 3000对端口Ten-GigabitEthernet1/0/2收到的IP报文进行过滤。
[Switch] interface ten-gigabitethernet 1/0/2
[Switch-Ten-GigabitEthernet1/0/2] packet-filter 3000 inbound
# 执行display packet-filter命令查看包过滤功能的应用状态。
[Switch] display packet-filter interface ten-gigabitethernet 1/0/2
Interface: Ten-GigabitEthernet1/0/2
In-bound Policy:
ACL 3000
上述信息显示Ten-GigabitEthernet1/0/2端口上已经正确应用了包过滤功能。
# 在10.1.1.0/24网段的主机上向100.1.1.0/24网段内的服务器发起TCP连接(例如访问网络共享文件夹),可以成功访问;而在服务器上访问10.1.1.0/24网段主机的共享则返回失败信息;10.1.2.0/24网段和服务器之间可以互相访问网络共享文件夹。
#
acl number 3000
rule 0 permit tcp source 100.1.1.0 0.0.0.255 destination 10.1.1.0 0.0.0.255 destination-port gt 1023 established
rule 5 deny tcp source 100.1.1.0 0.0.0.255 destination 10.1.1.0 0.0.0.255
#
interface Ten-GigabitEthernet1/0/2
packet-filter 3000 inbound
#
表6 配置适用的产品与软件版本关系
产品 |
软件版本 |
S5830V2&S5820V2系列以太网交换机 |
Release 2208P01,Release 2210 |
图6 拒绝FTP流量
要求通过配置ACL,在交换机上拒绝由主机向服务器发起的FTP流量通过。
要过滤FTP报文,需要同时拒绝FTP数据报文(TCP端口号20)和控制报文(TCP端口号21)通过。
对于未匹配ACL规则的报文,包过滤功能采取允许通过的动作。
# 创建IPv4高级ACL 3000,配置拒绝TCP目的端口号范围为20~21的报文通过的规则。
<Switch> system-view
[Switch] acl number 3000
[Switch-acl-adv-3000] rule deny tcp destination-port range 20 21
[Switch-acl-adv-3000] quit
# 配置包过滤功能,应用IPv4高级ACL 3000对端口Ten-GigabitEthernet1/0/1收到的IP报文进行过滤。
[Switch] interface ten-gigabitethernet 1/0/1
[Switch-Ten-GigabitEthernet1/0/1] packet-filter 3000 inbound
# 执行display packet-filter命令查看包过滤功能的应用状态。
[Switch] display packet-filter interface ten-gigabitethernet 1/0/1
Interface: Ten-GigabitEthernet1/0/1
In-bound Policy:
ACL 3000
上述信息显示Ten-GigabitEthernet1/0/1端口上已经正确应用了包过滤功能。
# 当服务器可以提供FTP服务时,在主机上向服务器发起FTP连接请求,返回请求失败信息。
#
acl number 3000
rule 0 deny tcp destination-port range ftp-data ftp
#
interface Ten-GigabitEthernet1/0/1
packet-filter 3000 inbound
#
FTP有两种工作方式:
· 主动方式(PORT),数据连接由FTP服务器发起,当FTP客户端处于防火墙后时不适用;
· 被动方式(PASV),数据连接由FTP客户端程序发起,当FTP服务器限制客户端连接其高位端口(一般情况下大于1024)时不适用。
表7 配置适用的产品与软件版本关系
产品 |
软件版本 |
S5830V2&S5820V2系列以太网交换机 |
Release 2208P01,Release 2210 |
图7 允许主动方式的FTP流量通过
要求通过配置ACL,在主机从FTP服务器获取数据时,仅允许主动方式的FTP流量通过,不允许其它IP流量通过。
当FTP采取主动方式工作时,FTP服务器的TCP端口20用于提供数据服务,TCP端口21用于协议控制报文交互,并且数据传输的TCP连接由服务器主动发起,协议控制的TCP连接由客户端主动发起。
因此,在Ten-GigabitEthernet1/0/1端口的入方向,应允许主机访问服务器TCP端口20和21的数据通过,其中访问TCP端口20的报文需要在已建立的TCP连接上传输;在Ten-GigabitEthernet1/0/2端口的入方向,应允许服务器向主机发送的源端口为TCP端口20和21的数据通过,其中源端口为TCP端口20的报文需要在已建立的TCP连接上传输。
# 创建IPv4高级ACL 3000,配置以下三条规则:
· 配置允许源地址为任意地址、目的地址为FTP服务器、TCP目的端口号为21的报文通过的规则。
· 配置允许源地址为任意地址、目的地址为FTP服务器、TCP目的端口号为20、且在已建立的TCP连接上传输的报文通过的规则。
· 配置拒绝其它IP报文通过的规则。
<Switch> system-view
[Switch] acl number 3000
[Switch-acl-adv-3000] rule permit tcp source any destination 100.1.1.1 0 destination-port eq 21
[Switch-acl-adv-3000] rule permit tcp established source any destination 100.1.1.1 0 destination-port eq 20
[Switch-acl-adv-3000] rule deny ip
[Switch-acl-adv-3000] quit
# 配置包过滤功能,应用IPv4高级ACL 3000对端口Ten-GigabitEthernet1/0/1收到的IP报文进行过滤。
[Switch] interface ten-gigabitethernet 1/0/1
[Switch-Ten-GigabitEthernet1/0/1] packet-filter 3000 inbound
[Switch-Ten-GigabitEthernet1/0/1] quit
# 创建IPv4高级ACL 3001,配置以下三条规则:
· 配置允许源地址为FTP服务器、目的地址为任意地址、TCP源端口号为20、且在已建立的TCP连接上传输的报文通过的规则。
· 配置允许源地址为FTP服务器、目的地址为任意地址、TCP源端口号为21的报文通过的规则。
· 配置拒绝其它IP报文通过的规则。
<Switch> system-view
[Switch] acl number 3001
[Switch-acl-adv-3001] rule permit tcp established source 100.1.1.1 0 destination any source-port eq 20
[Switch-acl-adv-3001] rule permit tcp source 100.1.1.1 0 destination any source-port eq 21
[Switch-acl-adv-3001] rule deny ip
[Switch-acl-adv-3001] quit
# 配置包过滤功能,应用IPv4高级ACL 3001对端口Ten-GigabitEthernet1/0/2收到的IP报文进行过滤。
[Switch] interface ten-gigabitethernet 1/0/2
[Switch-Ten-GigabitEthernet1/0/2] packet-filter 3001 inbound
# 执行display packet-filter interface命令查看包过滤功能的应用状态。
[Switch] display packet-filter interface
Interface: Ten-GigabitEthernet1/0/1
In-bound Policy:
ACL 3000
Interface: Ten-GigabitEthernet1/0/2
In-bound Policy:
ACL 3001
上述信息显示Ten-GigabitEthernet1/0/1和Ten-GigabitEthernet1/0/2端口上已经正确应用了包过滤功能。
# 当服务器使用主动方式提供FTP服务时,主机可以通过FTP从服务器上获取数据;修改服务器的FTP服务方式为被动方式,则主机无法通过FTP获取数据。
#
acl number 3000
rule 0 permit tcp destination 100.1.1.1 0 destination-port eq ftp
rule 5 permit tcp destination 100.1.1.1 0 destination-port eq ftp-data established
rule 10 deny ip
acl number 3001
rule 0 permit tcp source 100.1.1.1 0 source-port eq ftp-data established
rule 5 permit tcp source 100.1.1.1 0 source-port eq ftp
rule 10 deny ip
#
interface Ten-GigabitEthernet1/0/1
packet-filter 3000 inbound
#
interface Ten-GigabitEthernet1/0/2
packet-filter 3001 inbound
FTP有两种工作方式:
· 主动方式(PORT),数据连接由FTP服务器发起,当FTP客户端处于防火墙后时不适用;
· 被动方式(PASV),数据连接由FTP客户端程序发起,当FTP服务器限制客户端连接其高位端口(一般情况下大于1024)时不适用。
表8 配置适用的产品与软件版本关系
产品 |
软件版本 |
S5830V2&S5820V2系列以太网交换机 |
Release 2208P01,Release 2210 |
图8 允许被动方式的FTP流量通过
要求通过配置ACL,在主机从FTP服务器获取数据时,仅允许被动方式的FTP流量通过,不允许其它IP流量通过。
当FTP采取被动方式工作时,FTP服务器使用TCP端口21用于协议控制报文交互,使用大于1024的随机TCP端口用于数据传输,并且数据传输和协议控制的TCP连接均由客户端主动发起。
因此,在Ten-GigabitEthernet1/0/1端口的入方向,应允许主机访问服务器TCP端口21和大于1024的任意TCP端口的数据通过;在Ten-GigabitEthernet1/0/2端口的入方向,应允许服务器向主机发送的源端口为TCP端口21和大于1024的任意TCP端口的数据通过,并且这些数据需要在已建立的TCP连接上传输。
因此,根据组网需求,ACL的配置思路为:
(1) 创建第一个IPv4高级ACL,配置规则:允许源地址为任意地址、目的地址为FTP服务器、TCP目的端口号为21的报文通过。
(2) 配置规则:允许源地址为任意地址、目的地址为FTP服务器、TCP目的端口号大于1024的报文通过。
(3) 配置拒绝其它IP报文通过的规则。
(4) 将ACL应用到Ten-GigabitEthernet1/0/1端口的入方向。
(5) 创建第二个IPv4高级ACL,配置规则:允许源地址为FTP服务器、目的地址为任意地址、TCP源端口号为21、且在已建立的TCP连接上传输的报文通过。
(6) 配置规则:允许源地址为FTP服务器、目的地址为任意地址、TCP源端口号大于1024、且在已建立的TCP连接上传输的报文通过。
(7) 配置拒绝其它IP报文通过的规则。
(8) 将ACL应用到Ten-GigabitEthernet1/0/2端口的入方向。
# 创建IPv4高级ACL 3000,配置以下三条规则:
· 配置允许源地址为任意地址、目的地址为FTP服务器、TCP目的端口号为21的报文通过的规则。
· 配置允许源地址为任意地址、目的地址为FTP服务器、TCP目的端口号大于1024的报文通过的规则。
· 配置拒绝其它IP报文通过的规则。
<Switch> system-view
[Switch] acl number 3000
[Switch-acl-adv-3000] rule permit tcp source any destination 100.1.1.1 0 destination-port eq 21
[Switch-acl-adv-3000] rule permit tcp source any destination 100.1.1.1 0 destination-port gt 1024
[Switch-acl-adv-3000] rule deny ip
[Switch-acl-adv-3000] quit
# 配置包过滤功能,应用IPv4高级ACL 3000对端口Ten-GigabitEthernet1/0/1收到的IP报文进行过滤。
[Switch] interface ten-gigabitethernet 1/0/1
[Switch-Ten-GigabitEthernet1/0/1] packet-filter 3000 inbound
[Switch-Ten-GigabitEthernet1/0/1] quit
# 创建IPv4高级ACL 3001,配置以下三条规则:
· 配置允许源地址为FTP服务器、目的地址为任意地址、TCP源端口号为21、且在已建立的TCP连接上传输的报文通过的规则。
· 配置允许源地址为FTP服务器、目的地址为任意地址、TCP源端口号大于1024、且在已建立的TCP连接上传输的报文通过的规则。
· 配置拒绝其它IP报文通过的规则。
<Switch> system-view
[Switch] acl number 3001
[Switch-acl-adv-3001] rule permit tcp established source 100.1.1.1 0 destination any source-port eq 21
[Switch-acl-adv-3001] rule permit tcp established source 100.1.1.1 0 destination any source-port gt 1024
[Switch-acl-adv-3001] rule deny ip
[Switch-acl-adv-3001] quit
# 配置包过滤功能,应用IPv4高级ACL 3001对端口Ten-GigabitEthernet1/0/2收到的IP报文进行过滤。
[Switch] interface ten-gigabitethernet 1/0/2
[Switch-Ten-GigabitEthernet1/0/2] packet-filter 3001 inbound
# 执行display packet-filter interface命令查看包过滤功能的应用状态。
[Switch] display packet-filter interface
Interface: Ten-GigabitEthernet1/0/1
In-bound Policy:
ACL 3000
Interface: Ten-GigabitEthernet1/0/2
In-bound Policy:
ACL 3001
上述信息显示Ten-GigabitEthernet1/0/1和Ten-GigabitEthernet1/0/2端口上已经正确应用了包过滤功能。
# 当服务器使用被动方式提供FTP服务时,主机可以通过FTP从服务器上获取数据;修改服务器的FTP服务方式为主动方式,则主机无法通过FTP获取数据。
#
acl number 3000
rule 0 permit tcp destination 100.1.1.1 0 destination-port eq ftp
rule 5 permit tcp destination 100.1.1.1 0 destination-port gt 1024
rule 10 deny ip
acl number 3001
rule 0 permit tcp source 100.1.1.1 0 source-port eq ftp established
rule 5 permit tcp source 100.1.1.1 0 source-port gt 1024 established
rule 10 deny ip
#
interface Ten-GigabitEthernet1/0/1
packet-filter 3000 inbound
#
interface Ten-GigabitEthernet1/0/2
packet-filter 3001 inbound
表9 配置适用的产品与软件版本关系
产品 |
软件版本 |
S5830V2&S5820V2系列以太网交换机 |
Release 2208P01,Release 2210 |
图9 允许指定方向的ICMP请求
要求通过配置ACL,使交换机过滤掉服务器对主机的ICMP请求报文,即仅允许主机对服务器进行ping操作。
通过在高级ACL中指定ICMP协议报文的类型,可以匹配ICMP请求报文。
# 创建IPv4高级ACL 3000,配置拒绝所有ICMP请求报文通过的规则。
<Switch> system-view
[Switch] acl number 3000
[Switch-acl-adv-3000] rule deny icmp icmp-type echo
[Switch-acl-adv-3000] quit
# 配置包过滤功能,应用IPv4高级ACL 3000对端口Ten-GigabitEthernet1/0/2收到的IP报文进行过滤。
[Switch] interface ten-gigabitethernet 1/0/2
[Switch-Ten-GigabitEthernet1/0/2] packet-filter 3000 inbound
[Switch-Ten-GigabitEthernet1/0/2] quit
# 执行display packet-filter命令查看包过滤功能的应用状态。
[Switch] display packet-filter interface ten-gigabitethernet 1/0/2
Interface: Ten-GigabitEthernet1/0/2
In-bound Policy:
ACL 3000
上述信息显示Ten-GigabitEthernet1/0/2端口上已经正确应用了包过滤功能。
# 在主机上以服务器为目的进行ping操作,返回应答信息;在服务器上以主机为目的进行ping操作,返回连接超时信息。
#
acl number 3000
rule 0 deny icmp icmp-type echo
#
interface Ten-GigabitEthernet1/0/1
packet-filter 3000 inbound
表10 配置适用的产品与软件版本关系
产品 |
软件版本 |
S5830V2&S5820V2系列以太网交换机 |
Release 2208P01,Release 2210 |
图10 允许HTTP/Email/DNS流量通过
要求通过配置ACL,使交换机上允许服务器向主机提供Email、HTTP和DNS服务,禁止其它业务流量通过。
# 创建IPv4高级ACL 3000,配置以下五条规则:
· 配置允许TCP目的端口号为25的报文(SMTP)通过的规则。
· 配置允许TCP目的端口号为110的报文(POP3)通过的规则。
· 配置允许TCP目的端口号为80的报文(HTTP)通过的规则。
· 配置允许TCP目的端口号为53的报文(DNS)通过的规则。
· 配置拒绝其它IP报文通过的规则。
<Switch> system-view
[Switch] acl number 3000
[Switch-acl-adv-3000] rule permit tcp destination-port eq 25
[Switch-acl-adv-3000] rule permit tcp destination-port eq 110
[Switch-acl-adv-3000] rule permit tcp destination-port eq 80
[Switch-acl-adv-3000] rule permit tcp destination-port eq 53
[Switch-acl-adv-3000] rule deny ip
[Switch-acl-adv-3000] quit
# 配置包过滤功能,应用IPv4高级ACL 3000对端口Ten-GigabitEthernet1/0/1收到的IP报文进行过滤。
[Switch] interface ten-gigabitethernet 1/0/1
[Switch-Ten-GigabitEthernet1/0/1] packet-filter 3000 inbound
[Switch-Ten-GigabitEthernet1/0/1] quit
# 执行display packet-filter命令查看包过滤功能的应用状态。
[Switch] display packet-filter interface ten-gigabitethernet 1/0/1
Interface: Ten-GigabitEthernet1/0/1
In-bound Policy:
ACL 3000
上述信息显示Ten-GigabitEthernet1/0/1端口上已经正确应用了包过滤功能。
# 在主机上以任一服务器为目的执行ping操作,返回连接超时信息,但主机可以分别从HTTP/Email/DNS服务器上获取相应的服务。
#
acl number 3000
rule 0 permit tcp destination-port eq smtp
rule 5 permit tcp destination-port eq pop3
rule 10 permit tcp destination-port eq www
rule 15 permit tcp destination-port eq domain
rule 20 deny ip
#
interface Ten-GigabitEthernet1/0/1
packet-filter 3000 inbound
二层ACL根据报文的源MAC地址、目的MAC地址、802.1p优先级、二层协议类型等二层信息制定匹配规则,对报文进行相应的分析处理。
二层ACL的序号取值范围为4000~4999。
表11 配置适用的产品与软件版本关系
产品 |
软件版本 |
S5830V2&S5820V2系列以太网交换机 |
Release 2208P01,Release 2210 |
图11 通过MAC地址过滤指定的流量
研发部和管理部中均部署了网络视频设备,这些视频设备的MAC地址为000f-e2xx-xxxx,现要求限制这些设备仅有每天的8:30到18:00才能够向外网发送数据。
在受限设备的IP地址不定时,可以通过MAC地址来进行匹配;而对于具有相同MAC地址前缀的多台设备,也可以通过MAC地址掩码的方式来进行同时匹配。
# 定两个周期时间段time1和time2,时间范围分别为每天的0:00~8:30和18:00~24:00。
<Switch> system-view
[Switch] time-range time1 0:00 to 8:30 daily
[Switch] time-range time2 18:00 to 24:00 daily
# 创建二层ACL 4000,并定义两条规则,分别为在time1和time2时间段内拒绝源MAC地址前缀为000f-e2的所有报文通过。
[Switch] acl number 4000
[Switch-acl-ethernetframe-4000] rule deny source-mac 000f-e200-0000 ffff-ff00-0000 time-range time1
[Switch-acl-ethernetframe-4000] rule deny source-mac 000f-e200-0000 ffff-ff00-0000 time-range time2
[Switch-acl-ethernetframe-4000] quit
# 在端口Ten-GigabitEthernet1/0/1和Ten-GigabitEthernet1/0/2的入方向配置包过滤功能,引用ACL 4000对报文进行过滤。
[Switch] interface ten-gigabitethernet 1/0/1
[Switch-Ten-GigabitEthernet1/0/1] packet-filter 4000 inbound
[Switch-Ten-GigabitEthernet1/0/1] quit
[Switch] interface ten-gigabitethernet 1/0/2
[Switch-Ten-GigabitEthernet1/0/2] packet-filter 4000 inbound
# 执行display packet-filter命令查看包过滤功能的应用状态。
[Switch] display packet-filter interface ten-gigabitethernet 1/0/1
Interface: Ten-GigabitEthernet1/0/1
In-bound Policy:
ACL 4000
上述信息显示Ten-GigabitEthernet1/0/1端口上已经正确应用了包过滤功能。
# 在每天的8:30到18:00时间段内,视频设备可以正常与外网中的设备进行通信;在其它时间段内,视频设备无法与外网中的设备进行通信。
#
time-range time1 00:00 to 08:30 daily
time-range time2 18:00 to 24:00 daily
#
acl number 4000
rule 0 deny source-mac 000f-e200-0000 ffff-ff00-0000 time-range time1
rule 5 deny source-mac 000f-e200-0000 ffff-ff00-0000 time-range time2
#
interface Ten-GigabitEthernet1/0/1
packet-filter 4000 inbound
表12 配置适用的产品与软件版本关系
产品 |
软件版本 |
S5830V2&S5820V2系列以太网交换机 |
Release 2208P01,Release 2210 |
某公司的网络组网如图12所示,现要求:
· Switch在工作时间(8:30~18:00)可以接受管理网管工作站(Host A)的Telnet访问,在其余时间则不接受任何Telnet登录请求。
· Switch作为TFTP客户端,只能从11.1.1.100的服务器上获取文件,以保证设备上不会保存未授权的非法文件。
· Switch作为FTP服务器端,只能接受网管工作站的登录请求。
在本例中,要实现Telnet/FTP/TFTP功能的访问限制,可以为各功能分别创建ACL,并在每个ACL中配置两条规则,分别为允许特定源IP地址的数据和拒绝所有数据,然后使用各个功能中相应的命令将ACL进行引用即可。
在设备管理功能中应用IPv4基本ACL时,如果报文没有与ACL中的规则匹配,交换机对此类报文采取的动作为deny,即拒绝报文通过。因此,无需配置拒绝报文的规则。
(1) 对Telnet登录请求的限制
# 定义周期时间段telnet,时间范围为每个工作日的8:30~18:00。
<Switch> system-view
[Switch] time-range telnet 8:30 to 18:00 working-day
# 定义IPv4基本ACL 2000,配置两条规则,分别为允许源IP地址为10.1.3.1的报文在工作时间通过以及拒绝源IP地址为任意地址的报文通过。
[Switch] acl number 2000
[Switch-acl-basic-2000] rule permit source 10.1.3.1 0 time-range telnet
[Switch-acl-basic-2000] quit
#应用ACL 2000,对登录到本设备的Telnet请求进行限制。
[Switch] telnet server acl 2000
(2) 对TFTP服务器的访问限制
# 定义IPv4基本ACL 2001,配置两条规则,分别为允许源IP地址为11.1.1.100的报文通过以及拒绝源IP地址为任意地址的报文通过。
[Switch] acl number 2001
[Switch-acl-basic-2001] rule permit source 11.1.1.100 0
[Switch-acl-basic-2001] quit
# 配置设备只使用ACL来限制可访问的TFTP服务器设备。
[Switch] tftp-server acl 2001
(3) 对FTP登录请求的限制
# 定义IPv4基本ACL 2002,配置两条规则,分别为允许源IP地址为10.1.3.1的报文通过以及拒绝源IP地址为任意地址的报文通过。
[Switch] acl number 2002
[Switch-acl-basic-2002] rule permit source 10.1.3.1 0
[Switch-acl-basic-2002] quit
# 开启设备的FTP服务器功能。
[Switch] ftp server enable
# 配置设备使用ACL 2002来限制FTP登录请求。
[Switch] ftp server acl 2002
# 按1.13.2 中的内容进行验证,如能实现,则表示ACL配置成功。
#
ftp server enable
ftp server acl 2002
#
telnet server acl 2000
#
time-range telnet 08:30 to 18:00 working-day
#
acl number 2000
rule 0 permit source 10.1.3.1 0 time-range telnet
acl number 2001
rule 0 permit source 11.1.1.100 0
acl number 2002
rule 0 permit source 10.1.3.1 0
#
tftp-server acl 2001
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!