扩展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日志。
- 进入“系统>网络> acl”和扩展acl页签,打开扩展ACL。
- 设置以下参数:
- 日志状态-开启或关闭与扩展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规则配置日志记录,在命令提示符处输入:
- 设置acl6< acl6Name > [-logState(启用|禁用)) ((rateLimit< positive_integer >)
- 显示acl6(< acl6Name >)
- 应用acls6
GUI程序
使用GUI配置扩展ACL6日志。
- 导航到系统>网络>acl然后,单击扩展ACL6s选项卡。
- 在添加或修改已存在的扩展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
- add acl
- 要启用现有ACL规则的有状态参数,在命令提示符处输入:
- 设置acl
-有状态(启用|禁用) - 应用acl
- 显示acl
- 设置acl
使用CLI命令启用ACL规则的状态参数。
- 导航到系统>网络>acl并且,在扩展acl选项卡。
- 启用有状态参数,添加或修改已有的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
- add acl6
- 要启用已有ACL6规则的有状态参数,在命令提示符中输入:
- 设置acl6
-有状态(启用|禁用) - 应用acls6
- Show acl6
- 设置acl6
使用CLI命令启用ACL6规则的状态参数。
- 导航到系统>网络>acl并且,在扩展ACL6s选项卡。
- 启用有状态参数,添加或修改已有的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