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或ACL6。您还必须在启用日志记录后重新应用它们。应用扩展acl或acl6的过程将重新应用所有扩展acl或acl6。例如,如果您应用了扩展ACL规则1到10,然后创建并应用了规则11,则会重新应用前10条规则。

如果一个会话与DENY ACL相关,则在应用该ACL时,该会话将被终止。

缺省情况下,扩展acl和acl6是启用的。当应用它们时,Citrix ADC开始比较传入的数据包。但是,如果禁用了它们,则直到重新启用它们才会使用它们,即使重新应用了它们。

对扩展acl和扩展acl6的优先级进行重新编号。优先级编号决定了扩展acl或acl6在报文中匹配的顺序。ACL的优先级越低,优先级越高。它在优先级高的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地址或目的IP地址。通过指定协议匹配入方向报文的协议。
  • (可选)修改扩展ACL或ACL6.您可以修改前面创建的扩展acl或acl6。或者,如果您想暂时停用其中一个,您可以禁用它,然后重新启用它。
  • 应用扩展acl / acl6.创建、修改、禁用、重新启用、删除扩展ACL / ACL6后,必须应用扩展ACL / ACL6进行激活。
  • (可选)重新编号扩展acl或acl6的优先级.如果配置的acl的优先级不是10的倍数,并且希望恢复到10的倍数,请使用重编号过程。

CLI程序

使用CLI命令创建扩展ACL。

在命令提示符处,输入:

  • 添加ns acl [- .srcIP[] ] [- .srcPort[] ] [- .destIP[] < despval >] [- .destPort[] ] [- .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 >)

例子:

> add ns acl restrict DENY -srcport 45-1024 -destIP 192.168.1.1 -protocol TCP Done 

使用CLI命令创建扩展ACL6。

在命令提示符处,输入:

  • 添加ns acl6 [- .srcIPv6[] ] [- .srcPort[] ] [- .destIPv6[] ] [- .destPort[] ] [- .TTL< positive_integer >] [-srcMac< mac_addr >] [(-协议 [-established]) | -protocolNumber< positive_integer >] [-vlan< positive_integer >] [-接口< interface_name >] [-icmpType [- icmpcode ]] [-] [-优先级< positive_integer >] [-状态(enabled | disabled)]
  • 显示ns acl6(< aclName >)

例子:

> add ns acl6 rule6 DENY -srcport 45-1024 - destiv6 2001::45 -protocol TCP Done 

使用CLI修改扩展ACL

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

使用CLI修改扩展的ACL6

要修改扩展的ACL6,输入设置ns acl6命令、扩展ACL6的名称和要修改的参数及其新值。

通过命令行禁用或启用扩展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程序

通过图形化方式配置扩展ACL

导航到系统>网络>acl并且,在扩展acl页签,添加新的扩展ACL或编辑已有的扩展ACL。如果需要启用或禁用已存在的扩展ACL,请选中该扩展ACL,然后选择启用禁用行动列表。

使用GUI方式配置扩展的acl6

导航到系统>网络>acl并且,在扩展ACL6s选项卡,添加新的扩展ACL6或编辑已有的扩展ACL6。若要启用或禁用已存在的扩展ACL6,请选中该扩展ACL6,然后选择启用禁用行动列表。

使用GUI应用扩展acl

导航到系统>网络>acl并且,在扩展acl选项卡,在行动列表中,点击应用

通过使用GUI应用扩展的acl6

导航到系统>网络>acl并且,在扩展ACL6s选项卡,在行动列表中,点击应用

使用GUI重新编号扩展acl的优先级

导航到系统>网络>acl并且,在扩展acl选项卡,在行动列表中,点击重编号优先级

使用GUI重新编号扩展acl6的优先级

导航到系统>网络>acl并且,在扩展ACL6s选项卡,在行动列表中,点击重编号优先级

样例配置

通过命令行接口配置扩展ACL规则示例如下表所示:acl示例配置

记录扩展acl

您可以配置Citrix ADC来记录与扩展acl匹配的包的详细信息。

注意:不能为扩展acl6启用日志记录。

除了ACL名之外,日志的详细信息还包括与报文相关的信息,如源IP地址和目的IP地址。信息要么存储在syslog文件中,要么存储在nslog文件中,这取决于启用的全局日志类型(syslog或nslog)。

必须在全局级别和ACL级别都启用日志记录。全局设置优先。有关全局启用日志记录的更多信息,请参见“”。

为了优化日志记录,当来自同一流的多个包匹配一个ACL时,只记录第一个包的详细信息,并且对属于同一流的每个包增加计数器。流定义为源IP地址、目的IP地址、源端口、目的端口和协议参数相同的报文的集合。为了避免日志消息泛滥,Citrix ADC执行内部速率限制,以便属于同一流的包不会重复记录日志。在任何给定时间内可以记录的不同流的总数限制为10,000个。

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

CLI程序

使用CLI配置扩展ACL日志。

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

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

例子:

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

GUI程序

使用GUI配置扩展ACL日志。

  1. 进入“系统>网络> acl”和扩展acl页签,打开扩展ACL。
  2. 设置以下参数:
    • 日志状态-开启或关闭与扩展ACL规则相关的事件日志记录。日志信息存储在已配置的syslog或auditlog服务器上。
    • 日志速率限制-每秒生成的最大日志消息数。设置该参数后,必须启用“日志状态”参数。

扩展ACL6日志记录

您可以配置Citrix ADC设备,以记录匹配扩展ACL6规则的包的详细信息。日志的详细信息除了ACL6名称外,还包括源IP地址、目的IP地址等与报文相关的信息。信息存储在syslog或nslog文件中,这取决于您在Citrix ADC设备中配置的日志记录类型(syslog或nslog)。

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

  • 源IP
  • 目的地IP
  • 源端口
  • 目的港
  • 协议(TCP或UDP)

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

CLI程序

使用CLI命令,配置ACl6扩展规则的日志记录。

  • 要在添加扩展ACL6规则的同时配置日志记录,请在命令提示符中输入:
    • 添加acl6 [- .logState启用|禁用)) ((rateLimit< positive_integer >)
    • 显示acl6(< acl6Name >)
    • 应用acls6
  • 要为现有的扩展ACL6规则配置日志记录,在命令提示符处输入:
    • 设置acl6< acl6Name > [-logState启用|禁用)) ((rateLimit< positive_integer >)
    • 显示acl6(< acl6Name >)
    • 应用acls6

GUI程序

使用GUI配置扩展ACL6日志。

  1. 导航到系统>网络>acl然后,单击扩展ACL6s选项卡。
  2. 在添加或修改已存在的扩展ACL6规则时,请设置以下参数。
    • 日志状态-开启或关闭与扩展ACL6s规则相关的事件日志记录功能。日志信息存储在已配置的syslog或auditlog服务器上。
    • 日志速率限制-每秒生成的最大日志消息数。设置该参数后,必须启用日志状态参数。

例子:

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

查看扩展ACL和扩展acl6的统计信息

可以查看扩展acl和acl6的统计信息。

扩展acl和acl6的相关统计信息及其说明如下表所示。

统计 指定
允许ACL命中 匹配acl处理模式为ALLOW的报文。Citrix ADC处理这些数据包。
NAT ACL命中 命中NAT ACL的报文,产生NAT会话。
禁止ACL命中 报文被丢弃,因为匹配了处理模式为DENY的acl。
网桥ACL命中 匹配网桥ACL的报文,在透明模式下绕过业务处理。
ACL支安打 匹配ACL的报文。
ACL错过 报文没有匹配ACL。

CLI程序

使用CLI查询所有扩展acl的统计信息。

在命令提示符处,输入:

  • Stat ns acl

使用CLI命令查询所有扩展acl6的统计信息。

在命令提示符处,输入:

  • Stat ns acl6

GUI程序

使用GUI查询扩展ACL的统计信息。

进入“系统>网络> acl”扩展acl页签,选中扩展ACL,单击统计数据

使用GUI查询扩展ACL6的统计信息。

进入“系统>网络> acl”扩展ACL6s页签,选中扩展ACL,单击统计数据

有状态的acl

有状态ACL规则在请求匹配规则时创建一个会话,并允许产生的响应,即使这些响应与Citrix ADC设备中的deny ACL规则相匹配。有状态ACL减轻了创建额外ACL规则/转发会话规则以允许这些特定响应的工作量。

有状态acl最适合在Citrix ADC设备的边缘防火墙部署中使用,该设备具有以下要求:

  • Citrix ADC设备必须允许来自内部客户机的请求和来自Internet的相关响应。
  • 设备必须丢弃来自Internet的与任何客户端连接无关的包。

在开始之前

配置有状态ACL规则前需要注意以下几点:

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

配置IPv4 ACL有状态规则

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

使用CLI命令启用ACL规则的状态参数。

  • 要在添加ACL规则时启用有状态参数,请在命令提示符中输入:
    • add acl ALLOW -stateful (启用|禁用
    • 应用acl
    • 显示acl
  • 要启用现有ACL规则的有状态参数,在命令提示符处输入:
    • 设置acl -有状态启用|禁用
    • 应用acl
    • 显示acl

使用CLI命令启用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规则时启用有状态参数,在命令提示符中输入:
    • add acl6 ALLOW -有状态启用|DISABLD
    • 应用acls6
    • Show acl6
  • 要启用已有ACL6规则的有状态参数,在命令提示符中输入:
    • 设置acl6 -有状态启用|禁用
    • 应用acls6
    • Show acl6

使用CLI命令启用ACL6规则的状态参数。

  1. 导航到系统>网络>acl并且,在扩展ACL6s选项卡。
  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和扩展acl6