Citrix ADC

扩展的acl和扩展的acl6

扩展acl和扩展acl6提供了简单acl不可用的参数和操作。您可以根据源IP地址,源端口,操作和协议等参数筛选数据。您可以指定允许数据包、拒绝数据包或桥接数据包的任务。

扩展ACL和ACL6可以在创建之后进行修改,您可以重新编号它们的优先级以指定评估它们的顺序。

注意:如果同时配置简单acl和扩展acl,则简单acl优先于扩展acl。

可以对扩展acl和acl6执行以下操作:修改,应用,禁用,启用,删除和重新编号(优先级)。您可以显示扩展acl和acl6来验证它们的配置,还可以显示它们的统计信息。

您可以将Citrix ADC配置为记录与扩展ACL匹配的数据包的详细信息。

应用扩展acl和扩展acl6:与简单ACL和ACL6不同,在Citrix ADC上创建的扩展ACL和ACL6在应用之前不起作用。此外,如果您对扩展ACL或ACL6进行任何更改,例如禁用ACL,更改优先级或删除ACL,则必须重新应用扩展ACL或ACL。启用日志记录后,必须重新应用它们。应用扩展acl或acl6的过程将重新应用所有它们。例如,如果您应用了扩展 ACL 规则 1 到 10,然后创建并应用规则 11,则重新应用前 10 个规则。

如果会话具有与其相关的拒绝acl,则在应用acl时,该会话将终止。

默认情况下,扩展acl和acl6处于启用状态。应用这些数据包后,Citrix ADC 开始将传入的数据包与它们进行比较。但是,如果禁用它们,在重新启用它们之前才会使用它们,即使它们被重新应用也是如此。

重新编号扩展acl和扩展acl6的优先级:优先级编号决定扩展acl或acl6与数据包匹配的顺序。优先级较低的ACL具有较高的优先级。它在优先级较高(优先级较低)的ACL之前进行评估,而与数据包匹配的第一个ACL决定了应用于数据包的操作。

当您创建扩展ACL或ACL6时,Citrix ADC会自动为其分配一个优先级编号,该优先级号是10的倍数,除非您另有指定。例如,如果两个扩展ACL的优先级分别为20和30,并且您希望第三个ACL在这些数字之间有一个值,则可以为其分配值25。如果以后要保留acl的评估顺序,但将其编号恢复为10的倍数,则可以使用重新编号过程。

配置扩展acl和扩展acl6

在Citrix ADC上配置扩展ACL或ACL6包括以下任务。

  • 创建扩展acl或acl6。创建扩展acl或acl6以允许,拒绝或桥接数据包。您可以指定IP地址或IP地址范围,以与数据包的源或目标IP地址匹配。您可以指定与传入数据包协议匹配的协议的协议。
  • (可选)修改扩展acl或acl6。您可以修改之前创建的扩展acl或acl6。或者,如果你想暂时停止使用它,你可以禁用它,然后再重新启用它。
  • 应用扩展acl或acl6。创建,修改,禁用或重新启用或删除扩展ACL或ACL6后,必须应用扩展ACL或ACL6来激活它们。
  • (可选)重新编号扩展acl或acl6的优先级。如果您配置了ACL的优先级不是10的倍数,并希望将编号恢复为10的倍数,请使用重新编号过程。

CLI过程

要使用cli创建扩展acl,请执行以下操作

在命令提示符下,键入:

  • 添加ns acl< aclname > < aclaction > [-srcIP(<操作符>)< srcIPVal >] [-srcPort(<操作符>)< srcPortVal >] [-destIP(<操作符>)< destIPVal >] [-destPort(<操作符>)< destPortVal >] [-TTL< positive_integer >] [-srcMac< mac_addr >] [(-协议 [-established]) | -protocolNumber< positive_integer >] [-vlan< positive_integer >] [-接口< interface_name >] [-icmpType< positive_integer > [-icmpCode< positive_integer >]] [-优先级< positive_integer >] [-状态(enabled | disabled)] [- .logstate(enabled | disabled) [- .ratelimit< positive_integer >]]

  • 显示ns acl(< aclName >)

要使用cli创建扩展acl6,请执行以下操作

在命令提示符下,键入:

  • 添加ns acl6< acl6name > < acl6action > [-srcIPv6(<操作符>)< srcIPv6Val >] [-srcPort(<操作符>)< srcPortVal >] [-destIPv6(<操作符>)< destIPv6Val >] [-destPort(<操作符>)< destPortVal >] [-TTL< positive_integer >] [-srcMac< mac_addr >] [(-协议 [-established]) | -protocolNumber< positive_integer >] [-vlan< positive_integer >] [-接口< interface_name >] [-icmpType< positive_integer > [-icmpCode< positive_integer >]] [-优先级< positive_integer >] [-状态(enabled | disabled)]

  • 显示ns acl6(< aclName >)

要使用cli修改扩展acl,请执行以下操作

要修改扩展acl,请键入设置ns ACL命令,扩展acl的名称,要更改的参数及其新值。

要使用cli修改扩展的acl6,请执行以下操作

要修改扩展acl6,请键入设置ns acl6命令,扩展acl6的名称以及要更改的参数及其新值。

要使用cli禁用或启用扩展acl,请执行以下操作

在命令提示符下,键入以下命令之一:

  • 禁用ns acl< aclname >
  • 使ns acl< aclname >

要使用cli禁用或启用扩展acl6,请执行以下操作

在命令提示符下,键入以下命令之一:

  • 禁用ns acl6< aclname >
  • 使ns acl6< aclname >

要使用cli应用扩展acl,请执行以下操作

在命令提示符下,键入:

  • 应用ns acl

要使用cli应用扩展acl6,请执行以下操作

在命令提示符下,键入:

  • 应用ns acls6

要使用cli重新编号扩展acl的优先级,请执行以下操作

在命令提示符下,键入:

  • 重编号ns acl

要使用cli重新编号扩展acl6的优先级,请执行以下操作

在命令提示符下,键入:

  • 重编号ns acls6

GUI程序

要使用GUI配置扩展acl,请执行以下操作

  • 导航到”系统“>”网络“>”ACL",然后在"扩展ACL选项卡上添加新的扩展acl或编辑现有扩展acl。要启用或禁用现有扩展acl,请选择它,然后从"操作“列表中选择”用"或"禁用”。

要使用GUI配置扩展acl6,请执行以下操作

  • 导航到”系统“>”网络“>”ACL",然后在"扩展ACL6选项卡上添加新的扩展acl6或编辑现有的扩展acl6。要启用或禁用现有的扩展acl6,请选择它,然后从操作列表中选择用或禁用

要使用GUI应用扩展acl,请执行以下操作

  • 导航到”系统“>”网络“>”ACL",然后在"扩展ACL“选项卡的”操作“列表中单击”应用”。

要使用GUI应用扩展acl6,请执行以下操作

  • 导航到系统>网络>ACL,然后在扩展ACL6选项卡的操作列表中单击应用

要使用GUI重新编号扩展acl的优先级,请执行以下操作:

  • 导航到”系统“>”网络“>”ACL",然后在"扩展ACL“选项卡的”操作“列表中,单击”重新编号优先级”。

要使用GUI重新编号扩展acl6的优先级,请执行以下操作:

  • 导航到系统>网络>ACL,然后在扩展ACL6选项卡的操作列表中,单击重新编号优先级

示例配置

下表显示了通过命令行界面配置扩展acl规则的示例:Acl示例配置

记录扩展acl

您可以将Citrix ADC配置为记录与扩展ACL匹配的数据包的详细信息。

除了acl名称之外,记录的详细信息还包括特定于数据包的信息,例如源和目标IP地址。信息存储在syslog文件或nslog文件中,具体取决于启用的全局日志记录 (syslog或nslog) 的类型。

必须同时在全局级别和acl级别启用日志记录。全局设置优先。

为了优化日志记录,当来自同一流的多个数据包与一个ACL匹配时,只记录第一个数据包的详细信息,对于属于同一流的每个数据包,计数器都会增加。流程被定义为一组对源IP地址,目标IP地址,源端口,目标端口和协议参数具有相同值的数据包。为避免日志消息泛滥,Citrix ADC执行内部速率限制,以便不会重复记录属于同一流的数据包。在任何给定时间可以记录的不同流量的总数限制为10000个。

注意:启用日志记录后,必须应用acl。

CLI过程

要使用cli配置扩展acl日志记录

在命令提示符下,键入以下命令以配置日志记录并验证配置:

  • 设置ns acl< aclName > [-logState(enabled | disabled)] [- .rateLimit< positive_integer >)
  • 应用acl
  • 显示ns acl(< aclName >)

GUI程序

要使用GUI配置扩展acl日志记录

  1. 导航到系统>网络> acl,然后在扩展ACL选项卡上打开扩展acl。
  2. 设置以下参数:
    • 日志状态-启用或禁用与扩展acl规则相关的事件的日志记录。日志消息存储在配置的syslog或auditlog服务器中。
    • 日志速率限制-每秒要生成的最大日志消息数。如果设置此参数,则必须启用日志状态参数。

示例配置

> set ns acl restrict -logstate ENABLED -ratelimit 120 Warning: acl modified, apply ACLs to activate change > apply ns ACLs Done 

记录扩展的acl6

您可以将Citrix ADC设备配置为记录与扩展ACL6规则匹配的数据包的详细信息。除了acl6名称之外,记录的详细信息还包括特定于数据包的信息,例如源和目标IP地址。信息存储在系统日志或nslog文件中,具体取决于您在Citrix ADC设备中配置的日志记录(syslog或nslog) 类型。

为了优化日志记录,当来自同一流的多个数据包与acl6匹配时,只记录第一个数据包的详细信息。对于属于同一流的其他每个数据包,计数器都会增加。流程被定义为一组对以下参数具有相同值的数据包:

  • 源IP
  • 目标IP
  • 源端口
  • 目的端口
  • 协议(tcp或udp)

如果传入的数据包不是来自同一个流,则会创建一个新的流。在任何给定时间可以记录的不同流量的总数限制为10000个。

CLI过程

要使用CLI为扩展ACl6规则配置日志记录,请执行以下操作

  • 要在添加扩展acl6规则时配置日志记录,请在命令提示符下键入:

    • 添加acl6< acl6Name > < acl6action > [-logState(enabled | disabled)] [- .rateLimit< positive_integer >)
    • 应用acls6
    • 显示acl6(< acl6Name >)
  • 要为现有扩展acl6规则配置日志记录,请在命令提示符下键入:

    • 设置acl6< acl6Name > [-logState(enabled | disabled)] [- .rateLimit< positive_integer >)
    • 显示acl6(< acl6Name >)
    • 应用acls6

GUI程序

要使用GUI配置扩展acl6日志记录,请执行以下操作

  1. 导航到系统>网络>ACL,然后单击扩展ACL6选项卡。
  2. 在添加或修改现有扩展acl6规则时设置以下参数。
    • 日志状态—启用或禁用与扩展acl6规则相关的事件的日志记录。日志消息存储在配置的syslog或auditlog服务器中。
    • 日志速率限制-每秒要生成的最大日志消息数。如果设置此参数,则必须启用日志状态参数。

示例配置

> set acl6 acl6 -logstate ENABLED -ratelimit 120 Done > apply acls6 Done 

显示扩展acl和扩展acl6统计信息

您可以显示扩展acl和acl6的统计信息。

下表列出了与扩展acl和acl6关联的统计信息及其说明。

统计 说明
允许acl匹配 与处理模式设置为"允许"的acl匹配的数据包。Citrix ADC处理这些数据包。
NAT acl匹配 匹配NAT acl的数据包,导致NAT会话。
拒绝acl匹配 丢弃的数据包,因为它们与处理模式设置为"拒绝"的acl匹配。
桥接acl匹配 匹配网桥acl的数据包,该数据包在透明模式下会绕过服务处理。
ACL匹配 匹配acl的数据包。
ACL错过 不匹配任何acl的数据包。
ACL计数 用户配置的acl规则总数。
有效的acl计数 内部配置的有效acl总数。对于具有一系列IP地址的扩展ACL, Citrix ADC设备会在内部为每个IP地址创建一个扩展ACL。例如,对于具有1000个IPv4地址(范围或数据集)的扩展ACL, Citrix ADC在内部创建1000个扩展ACL。

CLI过程

要使用cli显示所有扩展acl的统计信息,请执行以下操作:

在命令提示符下,键入:

  • stat ns acl

要使用cli显示所有扩展acl6的统计信息,请执行以下操作:

在命令提示符下,键入:

  • stat ns acl6

GUI程序

要使用GUI显示扩展acl的统计信息,请执行以下操作:

  • 导航到系统>网络> acl,在扩展ACL选项卡上,选择扩展acl,然后单击统计信息

要使用GUI显示扩展acl6的统计信息,请执行以下操作:

  • 导航到系统>网络> acl,在扩展ACL6选项卡上,选择扩展acl,然后单击统计信息

状态ACL

有状态ACL规则会在请求与规则匹配时创建会话,并允许生成的响应,即使这些响应与Citrix ADC设备中的拒绝ACL规则匹配也允许生成的响应。有状态acl可以减轻创建更多acl规则/转发会话规则以允许这些特定响应的工作。

有状态ACL最好用于具有以下要求的Citrix ADC设备的边缘防火墙部署:

  • Citrix ADC设备必须允许来自内部客户端发起的请求以及来自互联网的相关响应。
  • 设备必须从互联网中丢弃与任何客户端连接无关的数据包。

开始之前的准备工作

在配置有状态acl规则之前,请注意以下几点:

  • Citrix ADC设备支持有状态ACL规则和有状态ACL6规则。
  • 在高可用性设置中,有状态acl规则的会话不会同步到辅助节点。
  • 如果ACL规则绑定到任何Citrix ADC NAT配置,则无法将ACL规则配置为有状态。Citrix ADC NAT配置的一些示例包括:
    • RNAT
    • 大规模NAT(大型NAT44, DS-Lite,大型NAT64)
    • NAT64
    • 转发会话
  • 如果为此acl规则设置了TTL和已建立的参数,则无法将acl规则配置为有状态。
  • 无论以下acl操作如何,为有状态acl规则创建的会话将继续存在,直到超时为止:
    • 删除ACL
    • 禁用ACL
    • 清除ACL
  • 以下协议不支持有状态acl:
    • 活动FTP
    • TFTP

配置有状态的IPv4 ACL规则

配置有状态acl规则包括启用acl规则的有状态参数。

要使用cli启用acl规则的状态参数,请执行以下操作:

  • 要在添加acl规则时启用有状态参数,请在命令提示符下键入:

    • 添加acl< lname >允许-有状态(启用|禁用)
    • 应用acl
    • 显示acl<名称>
  • 要启用现有acl规则的有状态参数,请在命令提示符下键入:

    • 设置acl<名称> - - -有状态(启用|禁用)
    • 应用acl
    • 显示acl<名称>

要使用GUI启用acl规则的状态参数,请执行以下操作:

  1. 导航到”系统“>”网络“>”ACL",然后在"扩展ACL选项卡上。

  2. 在添加或修改现有acl规则时启用态参数。

示例配置

> add acl acl -1 allow -srciP 1.1.1.1 -stateful Yes Done > apply acl Done > show acl 1)名称:acl -1动作:allow Hits: 0 srcIP = 1.1.1.1 destIP srcMac: Protocol: Vlan: Interface: Active Status: ENABLED Applied Status: NOTAPPLIED Priority: 10 NAT: NO TTL: Log Status: DISABLED Forward Session: NO Stateful: Yes 

配置有状态的acl6规则

配置有状态acl6规则包括启用acl6规则的有状态参数。

要使用cli启用acl6规则的状态参数,请执行以下操作:

  • 要在添加acl6规则时启用有状态参数,请在命令提示符下键入:

    • 添加acl6 ALLOW -stateful (ENABLED | disabled)
    • 应用acls6
    • 显示acl6<名称>
  • 要启用现有acl6规则的有状态参数,请在命令提示符下键入:

    • 设置acl6<名称> - - -有状态(enabled | disabled)
    • 应用acls6
    • 显示acl6<名称>

要使用GUI启用acl6规则的状态参数,请执行以下操作:

  1. 导航到系统>网络>ACL,然后在扩展ACL6选项卡上。
  2. 添加或修改现有acl6规则时启用态参数。

示例配置

> add acl6 acl6 -1 allow -srcipv6 1000::1 -stateful Yes > apply acls6 Done > show acl6 1)名称:acl6 -1动作:allow Hits: 0 srcIPv6 = 1000::1 destIPv6 srcMac: Protocol: Vlan: Interface: Active状态:ENABLED应用状态:NOTAPPLIED优先级:10 NAT: NO TTL: Forward Session: NO Stateful: Yes 

基于数据集的扩展acl

企业中需要许多acl。当需要频繁更改时,配置和管理许多acl既困难又麻烦。

Citrix ADC设备支持扩展ACL中的数据集。数据集是Citrix ADC设备的现有功能。数据集是一组索引模式的类型:数字(整数),IPv4地址或IPv6地址。

扩展acl中的数据集支持对于创建需要通用acl参数的多个acl规则非常有用。

在创建acl规则时,您可以指定包含这些常用参数的数据集,而不是指定公共参数。

对数据集所做的任何更改都将自动反映在使用此数据集的acl规则中。包含数据集的acl更易于配置和管理。它们也比传统acl更小且易于阅读。

目前,Citrix ADC设备仅支持扩展ACL的以下类型的数据集:

  • IPv4地址(用于为ACL规则指定源IP地址或目标IP地址或同时指定两者)
  • 编号(用于指定ACL规则的源端口或目标端口或两者都指定)

开始之前的准备工作

在配置基于数据集的扩展acl规则之前,请注意以下几点:

  • 确保您熟悉Citrix ADC设备的数据集功能。有关数据集的详细信息,请参阅模式集和数据集

  • Citrix ADC设备仅支持IPv4扩展ACL的数据集.使用实例

  • Citrix ADC设备仅支持扩展ACL的以下类型的数据集:

    • IPv4地址
    • 数量
  • Citrix ADC设备支持所有Citrix ADC设置的基于数据集的扩展ACL:独立,高可用性和群集。
  • 对于包含范围的数据集的扩展ACL, Citrix ADC设备在内部为数据集值的每个组合创建扩展ACL。

    • 示例 1:对于绑定到数据集的1000个IPv4地址的基于IPv4数据集的扩展ACL,并且数据集设置为源IP参数,Citrix ADC设备在内部创建1000个扩展ACL。

    • 示例 2:设置了以下参数的基于数据集的扩展acl:

      • 源IP设置为包含5个IP地址的数据集。
      • 目标IP设置为包含5个IP地址的数据集。
      • 源端口设置 为包含 5 个端口的数据集。
      • 目标端口 设置为包含 5 个端口的数据集。

      Citrix ADC设备在内部创建625个扩展ACL。这些内部acl中的每一个都包含上述四个参数值的唯一组合。

    • Citrix ADC设备最多支持10K个扩展ACL。对于具有绑定到数据集的IP地址范围的基于IPv4数据集的扩展ACL,一旦扩展ACL的总数达到最大限制,Citrix ADC设备将停止创建内部ACL。

    • 以下计数器作为扩展acl统计信息的一部分:

      • ACL计数。用户配置的acl规则总数。
      • 有效的acl计数。Citrix ADC 设备在内部配置的有效 ACL 规则总数。

      有关详细信息,请参阅显示扩展acl和扩展的acl6统计信息

  • Citrix ADC设备不支持设置操作将数据集与扩展acl的参数关联/解除关联。您只能在添加操作期间将acl参数设置为数据集。

配置基于数据集的扩展acl

配置基于数据集的扩展acl规则包括以下任务:

  • 添加数据集.数据集是一组索引模式的类型:数字(整数),IPv4地址或IPv6地址。在此任务中,您将创建一种类型的数据集,例如IPv4类型的数据集。

  • 将值绑定到数据集。为数据集指定值或值范围。指定的值的类型必须与数据集类型相同。例如,您可以为IPv4类型的数据集指定IPv4地址或IPv4地址范围。

  • 向数据集添加扩展acl并将acl参数设置为数据集。添加扩展acl并为数据集设置所需的acl参数。此设置将导致参数设置为数据集中指定的值。

  • 应用扩展acl。应用acl激活任何新的或修改的扩展acl。

要使用cli添加策略数据集,请执行以下操作:

在命令提示符下,键入:

  • 添加策略数据集<名称> <类型>
  • 显示政策数据集

要使用cli将模式绑定到数据集,请执行以下操作:

在命令提示符下,键入:

  • 结合政策数据集 [-endRange ]
  • 显示政策数据集

要使用cli添加扩展acl并将acl参数设置为数据集,请执行以下操作:

在命令提示符下,键入:

  • 添加ns acl< aclname > < aclaction > [-srcIP(<操作符>)< srcIPVal >] [-srcPort(<操作符>)< srcPortVal >] [-destIP(<操作符>)< destIPVal >] [-destPort(<操作符>)< destPortVal >)……
  • 显示ACL

要使用cli应用扩展acl,请执行以下操作:

在命令提示符下,键入:

  • 应用acl

示例配置

在以下基于数据集的扩展ACL的示例配置中,创建了IPv4数据集DATASET-IP-ACL-1和端口DATASET-PORT-ACL-2数据集。

两个IPv4地址:192.0.2.30和192.0.2.60,以及两个IPv4地址范围:(198.51.100.15-45)和(203.0.113.60-90)绑定到DATASET-IP-ACL-1。然后将dataset-ip-acl-1指定给扩展acl的srcIPdestIP参数ACL-1

两个端口号:2001 和 2004,以及两个端口范围:(5001-5040) 和 (8001-8040) 绑定到DATASET-PORT-ACL-2。然后将dataset-port-acl-2指定给扩展acl的srcPortdestPort参数ACL-1

添加策略集DATASET-IP-ACL-1 IPV4绑定数据集DATASET-IP-ACL-1 192.0.2.30绑定数据集DATASET-IP-ACL-1 192.0.2.60绑定数据集DATASET-IP-ACL-1 198.51.100.15 -endrange 198.51.100.45绑定数据集DATASET-IP-ACL-1 203.0.113.60 -endrange 203.0.113.90绑定数据集DATASET-PORT-ACL-2 2001绑定数据集DATASET-PORT-ACL-2 2004绑定数据集DATASET-PORT-ACL-2 5001 -endrange 5040绑定数据集DATASET-PORT-ACL-2 8001 -endrange 8040 ns添加acl ACL-1允许-srcIP DATASET-IP-ACL-1 -destIP-srcPort data - port - acl -2 -destPort data - port - acl -2 
扩展的acl和扩展的acl6