FlexConfig 策略概述
FlexConfig 策略是 FlexConfig 对象的有序列表的容器。每个对象都包含一系列 Apache Velocity 脚本语言命令(即 ASA 配置命令)和您定义的变量。每个 FlexConfig 对象的内容实质上是一个程序,它生成一系列 ASA 命令,然后将其部署到指定的设备。然后,此命令序列会在 威胁防御设备上配置相关功能。
威胁防御使用 ASA 配置命令实现一些功能,但不是所有功能。没有唯一的一组 威胁防御配置命令。相反,FlexConfig 的要点是允许您配置尚未通过 管理中心策略和设置直接支持的功能。
小心 |
思科强烈建议仅具有较强 ASA 背景且自承风险的高级用户使用 FlexConfig 策略。您可以配置不受禁止的任何命令。通过 FlexConfig 启用功能可能会导致配置的其他功能出现意想不到的结果。 您可以联系思科技术支持中心获取有关您已配置的 FlexConfig 策略的支持。思科技术支持中心不代表任何客户设计或编写自定义配置。思科不保证正确的操作或与其他 Firepower 系统功能的互通性。FlexConfig 功能可能随时被摒弃。为获得充分保证的功能支持,您必须等待 管理中心 支持。当有疑问时,请勿使用 FlexConfig 策略。 |
FlexConfig 策略的建议用法
FlexConfig 有两大主要推荐用途:
-
您正在从 ASA 转换为 威胁防御,并且存在您正在使用(且需要继续使用)的 管理中心 不直接支持的兼容功能。在这种情况下,请在 ASA 上使用 show running-config 命令来查看功能配置,并创建 FlexConfig 对象以实施此功能。尝试使用对象的部署设置(一次/每次和追加/预置)以获得正确的设置。通过比较两个设备上的 show running-config 输入予以验证。
-
您正在使用 威胁防御,但有一个设置或功能需要配置,例如思科技术援助中心告诉您特定的设置应解决您遇到的特定问题。对于复杂功能,请使用实验室设备测试 FlexConfig,并验证您是否将得到预期行为。
系统包含一组预定义的 FlexConfig 对象,它们代表已测试的配置。如果所需的功能没有由这些对象表示,请首先确定是否可以在标准策略中配置等效功能。例如,访问控制策略包括 ASA 使用单独功能实现的入侵检测和预防、HTTP 和其他类型的协议检查、URL 过滤、应用过滤和访问控制。由于许多功能并未使用 CLI 命令予以配置,因此,您不会看到各策略均显示在 show running-config 输出内。
注 |
在任何时候,请记住 ASA 和 威胁防御之间不存在一对一重叠关系。请勿尝试在 威胁防御设备上完全重新创建 ASA 配置。您必须仔细测试使用 FlexConfig 配置的各项功能。 |
FlexConfig 对象中的 CLI 命令
威胁防御 使用 ASA 配置命令配置某些功能。虽然并非所有 ASA 功能都与 威胁防御兼容,但有一些功能可以在 威胁防御 上使用,但不能在 管理中心 策略中进行配置。可以使用 FlexConfig 对象指定配置这些功能所需的 CLI。
如果您决定使用 FlexConfig 手动配置功能,则应根据正确的语法了解和执行这些命令。FlexConfig 策略不验证 CLI 命令语法。有关正确语法和配置 CLI 命令的更多信息,请使用以下 ASA 文档作为参考:
-
ASA CLI 配置指南介绍了如何配置功能。指南位于: https://www.cisco.com/c/en/us/support/security/adaptive-security-appliance-asa-software/products-installation-and-configuration-guides-list.html
-
ASA 命令参考提供按命令名称排序的附加信息。参考位于: https://www.cisco.com/c/en/us/support/security/adaptive-security-appliance-asa-software/products-command-reference-list.html
以下主题介绍了有关配置命令的更多信息。
确定 ASA 软件版本和当前 CLI 配置
由于系统使用 ASA 软件命令配置某些功能,因此需要确定在 威胁防御设备上运行的软件中使用的当前 ASA 版本。此版本号指示用于指导配置功能的 ASA CLI 配置指南。此外,您还应检查当前基于 CLI 的配置,并将其与要实施的 ASA 配置进行比较。
注意,任何 ASA 配置都与 威胁防御 配置有着显著的差异。许多 威胁防御 策略都是在 CLI 之外配置的,因此查看这些命令看不到配置。请勿尝试在 ASA 和 威胁防御 配置之间创建一对一的对应关系。
要查看此信息,请与设备的管理界面建立 SSH 连接,并发出以下命令:
-
show version system 并查找思科自适应安全装置软件版本号。(如果您通过 Cisco Secure Firewall Management Center CLI 工具发出命令,请忽略 system 关键字。)
-
show running-config 查看当前的 CLI 配置。
-
show running-config all 包括当前 CLI 配置中的所有默认命令。
也可以使用以下过程在 管理中心中发出这些命令。
过程
步骤 1 |
选择 。 |
步骤 2 |
点击 FlexConfig 策略适用的设备的名称。 您可能需要点击“状态”表中计数列中的打开/关闭箭头来查看任何设备。 |
步骤 3 |
选择高级故障排除。 |
步骤 4 |
选择威胁防御 CLI。 |
步骤 5 |
选择 show 作为命令,然后键入版本或其他命令之一作为参数。 |
步骤 6 |
点击执行 (Execute) 对于版本,请搜索思科自适应安全设备软件版本号的输出。 您可以选择输出并按 Ctrl+C 组合键,然后将其粘贴到文本文件中以供日后分析之用。 |
禁止的 CLI 命令
FlexConfig 的用途是配置在 ASA 设备上可用但无法使用 管理中心在 威胁防御设备上配置的功能。
因此,您无法配置在 管理中心中具有等同功能的 ASA 功能。下表列出的是一些禁止的命令区。
此外,一些 clear 命令已被禁止,因为它们与多项托管策略重叠,并且可以删除托管策略的部分配置。
FlexConfig 对象编辑器可防止将被禁止的命令纳入对象中。
禁止的 CLI 命令 |
说明 |
---|---|
AAA |
阻止配置。 |
AAA-Server |
阻止配置。 |
Access-list |
阻止高级 ACL、扩展 ACL 和标准 ACL。允许 Ethertype ACL。 可以使用在模板内的对象管理器中定义的标准和扩展 ACL 对象作为变量。 |
ARP Inspection |
阻止配置。 |
As-path Object |
阻止配置。 |
Banner |
阻止配置。 |
BGP |
阻止配置。 |
Clock |
阻止配置。 |
Community-list Object |
阻止配置。 |
Copy |
阻止配置。 |
Delete |
阻止配置。 |
DHCP |
阻止配置。 |
Enable Password |
阻止配置。 |
Erase |
阻止配置。 |
Fragment Setting |
被阻止,fragment reassembly 除外。 |
Fsck |
阻止配置。 |
HTTP |
阻止配置。 |
ICMP |
阻止配置。 |
Interface |
仅阻止 nameif、mode、shutdown、ip address 和 mac-address 命令。 |
Multicast Routing |
阻止配置。 |
NAT |
阻止配置。 |
Network Object/Object-group |
将阻止在 FlexConfig 对象中创建网络对象,但可使用在模板内的对象管理器中定义的网络对象和组作为变量。 |
NTP |
阻止配置。 |
OSPF/OSPFv3 |
阻止配置。 |
pager |
阻止配置。 |
Password Encryption |
阻止配置。 |
Policy-list Object |
阻止配置。 |
Prefix-list Object |
阻止配置。 |
重新加载 |
不能安排重新加载。系统不使用 reload 命令重启系统,它使用的是 reboot 命令。 |
RIP |
阻止配置。 |
Route-Map Object |
将阻止 FlexConfig 对象中创建路由映射对象,但可使用在模板内的对象管理器中定义的路由映射对象作为变量。 |
Service Object/Object-group |
将阻止 FlexConfig 对象中创建服务对象,但可使用在模板内的对象管理器中定义的端口对象作为变量。 |
SNMP |
阻止配置。 |
SSH |
阻止配置。 |
Static Route |
阻止配置。 |
Syslog |
阻止配置。 |
Time Synchronization |
阻止配置。 |
Timeout |
阻止配置。 |
VPN |
阻止配置。 |
模板脚本
您可以使用脚本语言来控制 FlexConfig 对象内的处理。脚本语言指令是 Apache Velocity 1.3.1 模板引擎中支持的命令子集,它是一种支持循环、if/else 语句和变量的基于 Java 的脚本语言。
要了解如何使用该脚本语言,请参阅 http://velocity.apache.org/engine/devel/developer-guide.html 的 Velocity 开发人员指南。
FlexConfig 变量
在命令或处理指令的一部分依赖于运行时信息而不是静态信息的情况下,可以在 FlexConfig 对象中使用变量。在部署过程中,变量将替换为基于变量类型从设备的其他配置所获得的字符串:
-
策略对象变量被替换为从 管理中心中定义的对象获取的字符串。
-
系统变量被替换为从设备本身或为其配置的策略中获取的信息。
-
处理脚本命令时,处理变量随策略对象或系统变量的内容一起加载。例如,在循环中将策略对象或系统变量中的一个值通过迭代方式加载到处理变量中,然后使用处理变量组成命令字符串或执行其他操作。这些处理变量在 FlexConfig 对象中的变量列表中不显示。此外,也不要使用 FlexConfig 对象编辑器中的插入菜单添加这些变量。
-
密钥变量被替换为 FlexConfig 对象中为该变量定义的单个字符串。
以 $ 字符开头的变量,除以 @ 字符开头的密钥变量变量之外。例如,在下面的命令中 $ifname 是一个策略对象变量,而 @keyname 是一个密钥。
interface $ifname
key @keyname
注 |
第一次插入策略对象或系统变量时,必须通过 FlexConfig 对象编辑器中的插入菜单执行操作。此操作可将变量添加到 FlexConfig 对象编辑器底部的变量列表中。但您必须在随后的使用中键入变量字符串,即使在使用系统变量时也是如此。如果添加的处理变量没有对象或系统变量赋值,请不要使用插入菜单。如果要添加密钥,请始终使用插入菜单。密钥变量在变量列表中不显示。 |
变量是否被解析为单个字符串、字符串列表或值表取决于分配给变量的策略对象或系统变量的类型。(密钥始终解析为单个字符串)。您必须了解返回的内容,以便正确处理变量。
以下主题解释各种类型的变量以及如何处理这些变量。
如何处理变量
在运行时,变量可以解析为单个字符串、相同类型的字符串列表、不同类型的字符串列表或命名值表。此外,解析为多个值的变量的长度可以是确定的,也可以是不定的。您必须了解要返回的内容才能正确处理这些值。
以下是可能出现的主要情况:
单值变量
如果变量始终解析为单个字符串,则在 FlexConfig 脚本中直接使用该变量而不进行修改。
例如,预定义的文本变量 tcpMssBytes 始终解析为单个值(必须为数字)。然后,Sysopt_basic FlexConfig 使用 if/then/else 结构根据另一个单值文本变量 tcpMssMinimum 的值设置最大段大小:
#if($tcpMssMinimum == "true")
sysopt connection tcpmss minimum $tcpMssBytes
#else
sysopt connection tcpmss $tcpMssBytes
#end
在此示例中,您将使用 FlexConfig 对象编辑器中的插入菜单添加 $tcpMssBytes 的第一个用例,但您可以直接在 #else 行中键入变量。
密钥变量是一种特殊类型的单值变量。对于密钥,始终使用插入菜单添加变量,即使是用于第二次和后续的使用。这些变量在 FlexConfig 对象中的变量列表中不显示。
注 |
网络对象的策略对象变量也等同于单个 IP 地址规范,即主机地址、网络地址或地址范围。但在这种情况下,您必须清楚需要什么类型的地址,因为 ASA 命令需要特定的地址类型。例如,如果命令需要主机地址,使用指向包含网络地址的对象的网络对象变量将导致部署过程中出错。 |
多值变量,所有值都具有相同类型
多个策略对象和系统变量解析为同一类型的多个值。例如,指向网络对象组的对象变量解析为组中 IP 地址的列表。同样,系统变量 $SYS_FW_INTERFACE_NAME_LIST 解析为接口名称的列表。
还可以为同一类型的多个值创建文本对象。例如,预定义的文本对象 enableInspectProtocolList 可以包含多个协议名称。
解析为同一类型项目列表的多值变量通常具有不定长度。例如,您无法预先知道命名了设备上的多少个接口,因为用户可以随时配置或取消配置接口。
因此,您通常使用循环来处理同一类型的多值变量。例如,预定义的 FlexConfig Default_Inspection_Protocol_Enable 使用 #foreach 循环来遍历 enableInspectProtocolList 对象并处理每个值。
policy-map global_policy
class inspection_default
#foreach ( $protocol in $enableInspectProtocolList)
inspect $protocol
#end
在此示例中,该脚本依次将每个值分配给 $protocol 变量,然后在 ASA inspect 命令中使用该变量为该协议启用检测引擎。在这种情况下,您只需键入 $protocol 作为变量名称。您不使用插入菜单来添加它,因为您没有将对象或系统值分配给该变量。但是,必须使用插入菜单添加 $enableInspectProtocolList。
系统在 #foreach 和 #end 之间循环遍历代码,直到 $enableInspectProtocolList 中没有剩余的值。
多个值变量,值具有不同的类型
可以创建多个值文本对象,但每个值都有不同的用途。例如,预定义的 netflow_Destination 文本对象应具有 3 个值,分别表示接口名称、目标 IP 地址和 UDP 端口号。
以这种方式定义的对象应具有确定的值数。否则,它们将很难处理。
使用 get 方法处理这些对象。在对象名称的末尾键入 .get(n) ,并将 n 替换为对象中的索引。从 0 开始计数,即使文本对象从 1 开始列出其值亦是如此。
例如,Netflow_Add_Destination 对象使用以下行将 netflow_Destination 中的 3 个值添加到 ASA flow-export 命令。
flow-export destination $netflow_Destination.get(0) $netflow_Destination.get(1)
$netflow_Destination.get(2)
在此示例中,您将使用 FlexConfig 对象编辑器中的插入菜单添加 $netflow_Destination 的第一次使用,然后添加 get(0)。但您可以直接为 $netflow_Destination.get(1) 和 $netflow_Destination.get(2) 规范键入该变量。
解析到值表的多个值变量
有些系统变量会返回一个值表。这些变量包括其名称中的 MAP,例如 $SYS_FTD_ROUTED_INTF_MAP_LIST。路由接口映射返回的数据如下所示(为了清楚起见,添加了换行):
[{intf_hardwarare_id=GigabitEthernet0/0, intf_ipv6_eui64_addresses=[],
intf_ipv6_prefix_addresses=[], intf_subnet_mask_v4=255.255.255.0,
intf_ip_addr_v4=10.100.10.1, intf_ipv6_link_local_address=,
intf_logical_name=outside},
{intf_hardwarare_id=GigabitEthernet0/1, intf_ipv6_eui64_addresses=[],
intf_ipv6_prefix_addresses=[], intf_subnet_mask_v4=255.255.255.0,
intf_ip_addr_v4=10.100.11.1, intf_ipv6_link_local_address=,
intf_logical_name=inside},
{intf_hardwarare_id=GigabitEthernet0/2, intf_ipv6_eui64_addresses=[],
intf_ipv6_prefix_addresses=[], intf_subnet_mask_v4=, intf_ip_addr_v4=,
intf_ipv6_link_local_address=, intf_logical_name=},
{intf_hardwarare_id=Management0/0, intf_ipv6_eui64_addresses=[],
intf_ipv6_prefix_addresses=[], intf_subnet_mask_v4=, intf_ip_addr_v4=,
intf_ipv6_link_local_address=, intf_logical_name=diagnostic}]
在上面的示例中,将为 4 个接口返回信息。每个 接口都包括一个指定值表。例如,intf_hardwarare_id 是 接口硬件名称属性的名称,并将返回诸如 GigabitEthernet0/0 的字符串。
这种类型的变量通常长度不确定,因此您需要 使用环路来处理值。但您还需要将属性 名称添加到变量名称中,以指示要检索哪个值。
例如,IS-IS 配置需要在接口配置模式下将 ASA isis 命令添加到某一具有逻辑名称的接口。但您可以使用该接口的 硬件名称进入该模式。因此,您需要确定哪些接口具有 逻辑名称,然后仅配置使用其硬件名称的那些接口。预定义了 ISIS_Interface_Configuration 的 FlexConfig 使用 嵌套在环路中的 if/then 结构来进行此操作。在下面的代码中,可以看到 #foreach 脚本命令会将每个接口映射加载到 $intf 变量中, 然后 #if 语句将切断映射 ($intf.intf_logical_name) 中的 intf_logical_name 值,并且如果该值位于 isisIntfList 预定义文本变量中定义的列表中,则请使用 intf_hardwarare_id 值 ($intf.intf_hardwarare_id) 输入接口命令。您需要编辑 isisIntfList 变量以添加要在其上配置 IS-IS 的接口的 名称。
#foreach ($intf in $SYS_FTD_ROUTED_INTF_MAP_LIST)
#if ($isIsIntfList.contains($intf.intf_logical_name))
interface $intf.intf_hardwarare_id
isis
#if ($isIsAddressFamily.contains("ipv6"))
ipv6 router isis
#end
#end
#end
如何查看将为设备返回什么变量
评估将会返回什么变量的一种简单方式是创建一个简单的 FlexConfig 对象,该对象除了处理带有注释的变量列表以外,不进行任何其他操作。随后可将该对象分配给某一 FlexConfig 策略,再将该策略分配给某一设备,保存该策略,然后预览该设备的配置。该预览将显示解析出来的值。可以选择预览文本,按 Ctrl+C 键,然后将输出粘贴到文本文件中用于分析。
注 |
但不要将此 FlexConfig 部署到设备,因为它不会包含任何有效的配制命令。您将收到部署错误。在获得预览后,请从 FlexConfig 策略中删除该 FlexConfig 对象,然后保存该策略。 |
例如,可以构建以下 FlexConfig 对象:
Following is a network object group variable for the
IPv4-Private-All-RFC1918 object:
$IPv4_Private_addresses
Following is the system variable SYS_FW_MANAGEMENT_IP:
$SYS_FW_MANAGEMENT_IP
Following is the system variable SYS_FW_ENABLED_INSPECT_PROTOCOL_LIST:
$SYS_FW_ENABLED_INSPECT_PROTOCOL_LIST
Following is the system variable SYS_FTD_ROUTED_INTF_MAP_LIST:
$SYS_FTD_ROUTED_INTF_MAP_LIST
Following is the system variable SYS_FW_INTERFACE_NAME_LIST:
$SYS_FW_INTERFACE_NAME_LIST
此对象的 预览可能如下所示(为了清楚起见,添加了换行):
###Flex-config Prepended CLI ###
###CLI generated from managed features ###
###Flex-config Appended CLI ###
Following is an network object group variable for the
IPv4-Private-All-RFC1918 object:
[10.0.0.0, 172.16.0.0, 192.168.0.0]
Following is the system variable SYS_FW_MANAGEMENT_IP:
192.168.0.171
Following is the system variable SYS_FW_ENABLED_INSPECT_PROTOCOL_LIST:
[dns, ftp, h323 h225, h323 ras, rsh, rtsp, sqlnet, skinny, sunrpc,
xdmcp, sip, netbios, tftp, icmp, icmp error, ip-options]
Following is the system variable SYS_FTD_ROUTED_INTF_MAP_LIST:
[{intf_hardwarare_id=GigabitEthernet0/0, intf_ipv6_eui64_addresses=[],
intf_ipv6_prefix_addresses=[], intf_subnet_mask_v4=255.255.255.0,
intf_ip_addr_v4=10.100.10.1, intf_ipv6_link_local_address=,
intf_logical_name=outside},
{intf_hardwarare_id=GigabitEthernet0/1, intf_ipv6_eui64_addresses=[],
intf_ipv6_prefix_addresses=[], intf_subnet_mask_v4=255.255.255.0,
intf_ip_addr_v4=10.100.11.1, intf_ipv6_link_local_address=,
intf_logical_name=inside},
{intf_hardwarare_id=GigabitEthernet0/2, intf_ipv6_eui64_addresses=[],
intf_ipv6_prefix_addresses=[], intf_subnet_mask_v4=, intf_ip_addr_v4=,
intf_ipv6_link_local_address=, intf_logical_name=},
{intf_hardwarare_id=Management0/0, intf_ipv6_eui64_addresses=[],
intf_ipv6_prefix_addresses=[], intf_subnet_mask_v4=, intf_ip_addr_v4=,
intf_ipv6_link_local_address=, intf_logical_name=diagnostic}]
Following is the system variable SYS_FW_INTERFACE_NAME_LIST:
[outside, inside, diagnostic]
FlexConfig 策略对象变量
策略对象变量与在对象管理器中配置的特定策略对象关联。在 FlexConfig 对象中插入策略对象变量时,将为该变量提供一个名称,并选择与其关联的对象。
尽管可以为变量提供与关联对象完全相同的名称,但变量本身与关联对象不同。必须使用 FlexConfig 对象编辑器中的
菜单首次将该变量添加到 FlexConfig 中的脚本,以建立与该对象的关联。仅键入前面带有 $ 符号的对象的名称不会创建策略对象变量。您可以创建变量以指向以下类型的对象。确保为每个变量创建正确的对象类型。要创建对象,请转到
页面。-
文本对象 - 适用于文本字符串,可以包括 IP 地址、数字和其他自由格式文本,如接口或区域名称。从目录中选择 ,然后点击添加文本对象。可以将这些对象配置为包含单个值或多个值。这些对象具有高度的灵活性,专用于 FlexConfig 对象。有关详细信息,请参阅配置 FlexConfig 文本对象。
-
网络 - 适用于 IP 地址。可以使用网络对象或组。从目录中选择网络,然后选择 或添加组。如果使用组对象,该变量将返回组中每个 IP 地址规范的列表。地址可以是主机、网络或地址范围,具体取决于对象内容。请参阅网络。
-
安全区域 - 适用于安全区域或接口组中的接口。从目录中选择接口,然后选择 或接口组。安全区域变量将为正配置的设备返回该区域或组内的接口列表。请参阅接口。
-
标准的 ACL 对象 - 适用于标准访问控制列表。标准 ACL 变量返回标准 ACL 对象的名称。从目录中选择 ,然后点击添加标准访问列表对象。请参阅访问列表。
-
扩展 ACL 对象 - 适用于扩展访问控制列表。扩展 ACL 变量将返回扩展 ACL 对象的名称。从目录中选择 ,然后点击添加扩展访问列表对象。请参阅访问列表。
-
路由映射 - 适用于路由映射对象。路由映射变量将返回路由映射对象的名称。从目录中选择路由映射,然后点击添加路由映射。请参阅路由映射。
FlexConfig 系统变量
系统变量会被替换为从设备本身或为其配置的策略中获取的信息。
必须使用 FlexConfig 对象编辑器中的
菜单,第一次就开始将变量添加到 FlexConfig 中的脚本以建立与系统变量的关联。只键入系统变量的名称并前跟 $ 符号不会在 FlexConfig 对象的上下文中创建系统变量。下表介绍了可用的系统变量。在使用变量之前,检查通常为变量返回的内容;请参阅如何查看将为设备返回什么变量。
名称 |
说明 |
---|---|
SYS_FW_OS_MODE |
设备的操作系统模式。可能的值包括 ROUTED 或 TRANSPARENT。 |
SYS_FW_OS_MULTIPLICITY |
设备在单情景模式还是多情景模式下运行。可能的值包括 SINGLE、MULTI 或 NOT_APPLICABLE。 |
SYS_FW_MANAGEMENT_IP |
设备的管理 IP 地址 |
SYS_FW_HOST_NAME |
设备主机名 |
SYS_FTD_INTF_POLICY_MAP |
以接口名称作为键并将策略映射为值的映射。如果设备上没有定义基于接口的服务策略,则此变量将不返回任何值。 |
SYS_FW_ENABLED_INSPECT_PROTOCOL_LIST |
启用了检查的协议的列表。 |
SYS_FTD_ROUTED_INTF_MAP_LIST |
设备上路由接口映射的列表。每个映射都包含一组与路由接口配置相关的命名值。 |
SYS_FTD_SWITCHED_INTF_MAP_LIST |
设备上交换接口映射的列表。每个映射都包含一组与交换接口配置相关的命名值。 |
SYS_FTD_INLINE_INTF_MAP_LIST |
设备上内联接口映射的列表。每个映射都包含一组与内联集接口配置相关的命名值。 |
SYS_FTD_PASSIVE_INTF_MAP_LIST |
设备上被动接口映射的列表。每个映射都包含一组与被动接口配置相关的命名值。 |
SYS_FTD_INTF_BVI_MAP_LIST |
设备上网桥虚拟接口映射的列表。每个映射都包含一组与 BVI 配置相关的命名值。 |
SYS_FW_INTERFACE_HARDWARE_ID_LIST |
设备上接口硬件名称(如 GigabitEthernet0/0)的列表。 |
SYS_FW_INTERFACE_NAME_LIST |
设备上接口逻辑名称(如内部)的列表。 |
SYS_FW_INLINE_INTERFACE_NAME_LIST |
配置为被动或 ERSPAN 被动的接口的逻辑名称列表。 |
SYS_FW_NON_INLINE_INTERFACE_NAME_LIST |
不属于内联集的接口(如所有路由接口)的逻辑名称列表。 |
预定义的 FlexConfig 对象
预定义的 FlexConfig 对象为选定功能提供经过测试的配置。如果需要配置这些功能,请使用这些对象,否则无法使用管理中心配置这些功能。
下表列出了可用的对象。记下关联的文本对象。您必须编辑这些文本对象,才能自定义预定义 FlexConfig 对象的行为。文本对象使您可以使用网络和设备所需的 IP 地址和其他属性来自定义配置。
如果需要修改预定义 FlexConfig 对象,请复制该对象,对副本进行更改,然后使用新名称进行保存。不能直接编辑预定义 FlexConfig 对象。
尽管您可以使用 FlexConfig 配置其他基于 ASA 的功能,但这些功能的配置尚未经过测试。如果某个 ASA 功能与您可以在 管理中心策略中配置的内容重叠,请勿尝试通过 FlexConfig 对该功能进行配置。
例如,Snort 检查包括 HTTP 协议,因此不可启用 ASA 式 HTTP 检查。(实际上,您无法将 http 添加到 enableInspectProtocolList 对象。在这种情况下,您将被阻止以免错误配置您的设备。)相反,应根据需要配置访问控制策略以执行应用或 URL 过滤,以实施 HTTP 检查要求。
FlexConfig 对象名称 |
Description |
关联的文本对象 |
---|---|---|
Default_Inspection_Protocol_Disable |
在 global_policy 默认策略映射中禁用协议。 |
disableInspectProtocolList |
Default_Inspection_Protocol_Enable |
在 global_policy 默认策略映射中启用协议。 |
enableInspectProtocolList |
DHCPv6_Prefix_Delegation_Configure |
为 IPv6 前缀委派配置一个外部接口(前缀委派客户端)和一个内部接口(委派前缀的接收者)。要使用此模板,请对其进行复制并修改变量。 |
pdoutside、pdinside 还使用系统变量 SYS_FTD_ROUTED_INTF_MAP_LIST |
DHCPv6_Prefix_Delegation_UnConfigure |
删除 DHCPv6 前缀委派配置。 |
pdoutside、pdinside 还使用系统变量 SYS_FTD_ROUTED_INTF_MAP_LIST |
Inspect_IPv6_Configure |
在 global_policy 策略映射中配置 IPv6 检查,从而根据 IPv6 报头内容记录和丢弃流量。 |
IPv6RoutingHeaderDropLogList、IPv6RoutingHeaderLogList、IPv6RoutingHeaderDropList。 |
Inspect_IPv6_UnConfigure |
清除并禁用 IPv6 检查。 |
— |
ISIS_Configure |
为 IS-IS 路由配置全局参数。 |
isIsNet、isIsAddressFamily、isISType |
ISIS_Interface_Configuration |
接口级别 IS-IS 配置。 |
isIsAddressFamily、IsIsIntfList 还使用系统变量 SYS_FTD_ROUTED_INTF_MAP_LIST |
ISIS_Unconfigure |
清除设备上的 IS-IS 路由器配置。 |
— |
ISIS_Unconfigure_All |
从设备中清除 IS-IS 路由器配置,包括来自设备接口的路由器分配。 |
— |
Netflow_Add_Destination |
创建和配置 Netflow 导出目标。 |
Netflow_Destinations、netflow_Event_Types |
Netflow_Clear_Parameters |
恢复 Netflow 导出全局默认设置。 |
— |
Netflow_Delete_Destination |
删除 Netflow 导出目标。 |
Netflow_Destinations、netflow_Event_Types |
Netflow_Set_Parameters |
为 Netflow 导出设置全局参数。 |
netflow_Parameters |
NGFW_TCP_NORMALIZATION |
修改默认 TCP 规范化配置。 |
— |
Policy_Based_Routing |
要使用此示例配置,请复制它,修改接口名称,然后使用 r-map-object 文本对象标识对象管理器中的路由映射对象。 |
— |
Policy_Based_Routing_Clear |
从设备中清除策略型路由配置。 |
— |
Sysopt_AAA_radius |
忽略 RADIUS 记帐响应中的身份验证密钥。 |
— |
Sysopt_AAA_radius_negate |
使 Sysopt_AAA_radius 配置失效。 |
— |
Sysopt_basic |
配置 sysopt 等待时间、TCP 数据包的最大报文段长度以及详细流量统计信息。 |
tcpMssMinimum、tcpMssBytes |
Sysopt_basic_negate |
清除 sysopt_basic 详细流量统计信息、等待时间和 TCP 最大报文段长度。 |
— |
Sysopt_clear_all |
从设备中清除所有 sysopt 配置。 |
— |
Sysopt_noproxyarp |
配置 noproxy-arp CLI。 |
使用系统变量 SYS_FW_NON_INLINE_INTF_NAME_LIST |
Sysopt_noproxyarp_negate |
清除 Sysopt_noproxyarp 配置。 |
使用系统变量 SYS_FW_NON_INLINE_INTF_NAME_LIST |
Sysopt_Preserve_Vpn_Flow |
配置 syopt 保留 VPN 流。 |
— |
Sysopt_Preserve_Vpn_Flow_negate |
清除 Sysopt_Preserve_Vpn_Flow 配置。 |
— |
Sysopt_Reclassify_Vpn |
配置 sysopt 重新分类 VPN。 |
— |
Sysopt_Reclassify_Vpn_Negate |
否定 sysopt 重新分类 VPN。 |
— |
Threat_Detection_Clear |
清除威胁检测 TCP 拦截配置。 |
— |
Threat_Detection_Configure |
配置 TCP 拦截所拦截攻击的威胁检测统计信息。 |
threat_detection_statistics |
Wccp_Configure |
此模板提供了一个配置 WCCP 的示例。 |
isServiceIdentifier、serviceIdentifier、wccpPassword |
Wccp_Configure_Clear |
清除 WCCP 配置。 |
— |
弃用的 FlexConfig 对象
下表列出了用于配置您现在可以在 GUI 中本地配置的功能的对象。尽早停止使用这些对象。
弃用的版本 |
FlexConfig 对象 |
Description |
现在配置在 |
---|---|---|---|
6.3 |
Default_DNS_Configure |
配置默认 DNS 组,该组定义在数据接口上解析完全限定域名时可以使用的 DNS 服务器。 关联的文本对象:defaultDNSNameServerList、defaultDNSParameters |
平台设置。 |
6.3 |
DNS_Configure |
在非默认 DNS 服务器组中配置 DNS 服务器。复制对象以更改组的名称。 |
对象管理器中的 DNS 服务器组。 |
6.3 |
DNS_UnConfigure |
删除由 Default_DNS_Configure 和 DNS_Configure 执行的 DNS 服务器配置。如果您更改了 DNS_Configure,则复制该对象以更改 DNS 服务器组名称。 |
对象管理器中的 DNS 服务器组。 |
7.2 |
Eigrp_Configure |
配置 EIGRP 路由 next-hop、auto-summary、router-id、eigrp-stub。 关联的文本对象:eigrpAS、eigrpNetworks、eigrpDisableAutoSummary、eigrpRouterId、eigrpStubReceiveOnly、eigrpStubRedistributed、eigrpStubConnected、eigrpStubStatic、eigrpStubSummary |
有关所有 EIGRP 对象,请参阅EIGRP。 系统允许您部署升级后,但也会警告您重新执行 EIGRP 配置。为了帮助您完成此过程,我们提供了一个命令行迁移工具。 |
7.2 |
Eigrp_Interface_Configure |
配置 EIGRP 接口身份验证模式、身份验证密钥、呼叫间隔、保持时间、水平分割。 关联的文本对象:eigrpIntfList、eigrpAS、eigrpAuthKey、eigrpAuthKeyId、eigrpHelloInterval、eigrpHoldTime、eigrpDisableSplitHorizon 还使用系统变量 SYS_FTD_ROUTED_INTF_MAP_LIST |
|
7.2 |
Eigrp_Unconfigure |
从设备中清除自治系统的 EIGRP 配置。 |
|
7.2 |
Eigrp_Unconfigure_all |
清除所有 EIGRP 配置。 |
|
6.3 |
TCP_Embryonic_Conn_Limit |
配置初始连接限制以防止 SYN 泛洪拒绝服务 (DoS) 攻击。 关联的文本对象:tcp_conn_misc、tcp_conn_limit |
服务政策。 |
6.3 |
TCP_Embryonic_Conn_Timeout |
配置初始连接超时以防止 SYN 洪流拒绝服务 (DoS) 攻击。 关联的文本对象:tcp_conn_misc、tcp_conn_timeout |
服务政策。 |
7.2 |
VxLAN_Clear_Nve |
从设备中删除使用 VxLAN_Configure_Port_And_Nve 时配置的 NVE 1。 |
有关所有 VxLAN 对象,请参阅配置 VXLAN 接口。 如果在以前的版本中使用 FlexConfig 配置了 VXLAN 接口,它们将继续工作。实际上,在这种情况下,FlexConfig 优先 - 如果您在 Web 接口中重做 VXLAN 配置,请删除 FlexConfig 设置。 |
7.2 |
VxLAN_Clear_Nve_Only |
在部署时,清除在接口上配置的 NVE。 |
|
7.2 |
VxLAN_Configure_Port_And_Nve |
配置 VLAN 端口和 NVE 1。 关联的文本对象:vxlan_Port_And_Nve |
|
7.2 |
VxLAN_Make_Nve_Only |
仅为 NVE 设置接口。 关联的文本对象:vxlan_Nve_Only 还使用系统变量 SYS_FTD_ROUTED_MAP_LIST 和 SYS_FTD_SWITCHED_INTF_MAP_LIST |
|
7.2 |
VxLAN_Make_Vni |
创建 VNI 接口。部署此项后,您必须先注销设备,然后再重新注册设备,才能正确发现 VNI 接口。 关联的文本对象:vxlan_Vni |
预定义的文本对象
有多种预定义的文本对象。这些对象与预定义的 FlexConfig 对象中使用的变量关联。在大多数情况下,如果您使用关联的 FlexConfig 对象,则必须编辑这些对象才能添加值,否则将在部署过程中出错。尽管其中一些对象包含默认值,但其他一些则为空。
有关编辑文本对象的信息,请参阅配置 FlexConfig 文本对象。
名称 |
说明 |
关联的 FlexConfig 对象 |
---|---|---|
defaultDNSNameServerList (已弃用。) |
要在默认 DNS 组中配置的 DNS 服务器 IP 地址。 从版本 6.3 开始,在 Firepower 威胁防御平台设置策略中为数据接口配置 DNS。 |
Default_DNS_Configure |
defaultDNSParameters (已弃用。) |
用于控制默认 DNS 服务器组的 DNS 行为的参数。该对象包含单独的条目,依次为重试、超时、过期条目计时器、轮询计时器、域名条目。 从版本 6.3 开始,在 Firepower 威胁防御平台设置策略中为数据接口配置 DNS。 |
Default_DNS_Configure |
disableInspectProtocolList |
在默认策略映射 (global_policy) 中禁用协议。 |
Disable_Default_Inspection_Protocol |
dnsNameServerList |
要在用户定义的 DNS 组中配置的 DNS 服务器 IP 地址。 |
DNS_Configure |
dnsParameters |
用于控制非默认 DNS 服务器组的 DNS 行为的参数。该对象包含单独的条目,依次为重试、超时、域名、域名服务器条目。 |
DNS_Configure |
enableInspectProtocolList |
在默认策略映射 (global_policy) 中启用协议。您将不允许添加其检查与 Snort 检查冲突的协议。 |
Enable_Default_Inspection_Protocol |
IPv6RoutingHeaderDropList |
要禁止的 IPv6 路由报头类型的列表。IPv6 检查会丢弃包含这些报头的数据包,而不记录此丢弃。 |
Inspect_IPv6_Configure |
IPv6RoutingHeaderDropLogList |
要禁止和记录的 IPv6 路由报头类型的列表。IPv6 检查会丢弃包含这些报头的数据包,并发送有关此丢弃的系统日志消息。 |
Inspect_IPv6_Configure |
IPv6RoutingHeaderLogList |
要允许但会记录的 IPv6 路由报头类型的列表。IPv6 检查会允许包含这些报头的数据包,并发送有关存在报头的系统日志消息。 |
Inspect_IPv6_Configure |
isIsAddressFamily |
IPv4 或 IPv6 地址系列。 |
ISIS_Configure ISIS_Interface_Configuration |
IsIsIntfList |
逻辑接口名称的列表。 |
ISIS_Interface_Configuration |
isIsISType |
IS 类型(级别 1、级别 2 或级别 1-2)。 |
ISIS_Configure |
isIsNet |
网络实体。 |
ISIS_Configure |
isServiceIdentifier |
如果为 false,则使用标准的 web-cache 服务标识符。 |
Wccp_Configure |
netflow_Destination |
定义单个 Netflow 导出目标的接口、目标和 UDP 端口号。 |
Netflow_Add_Destination |
netflow_Event_Types |
将要为目标导出的事件类型定义为以下任意项的子集:all、flow-create、flow-defined、flow-teardown、flow-update。 |
Netflow_Add_Destination |
netflow_Parameters |
提供 Netflow 导出全局设置:活动刷新间隔(流更新事件之间的分钟数)、延迟(以秒为单位的流创建延迟;默认值 0 = 命令不会出现)和以分钟为单位的模板超时速率。 |
Netflow_Set_Parameters |
PrefixDelegationInside |
为 DHCPv6 前缀委派配置内部接口。该对象包含多个条目,依次为接口名称、包含前缀长度的 IPv6 后缀以及前缀池名称。 |
没有,但可以与 DHCPv6_Prefix_Delegation_Configure 副本一起使用。 |
PrefixDelegationOutside |
配置外部 DHCPv6 前缀委派客户端。该对象包括多个条目,依次为接口名称和 IPv6 前缀长度条目 |
没有,但可以与 DHCPv6_Prefix_Delegation_Configure 副本一起使用。 |
serviceIdentifier |
动态 WCCP 服务标识符编号。 |
Wccp_Configure |
tcp_conn_limit (已弃用。) |
用于配置 TCP 初始连接限制的参数。 从版本 6.3 开始,在 Firepower 威胁防御服务策略中配置这些功能,您可以在分配给设备的访问控制策略的“高级”选项卡上找到该策略。 |
TCP_Embryonic_Conn_Limit |
tcp_conn_misc (已弃用。) |
用于配置 TCP 初始连接设置的参数。 从版本 6.3 开始,在 Firepower 威胁防御服务策略中配置这些功能,您可以在分配给设备的访问控制策略的“高级”选项卡上找到该策略。 |
TCP_Embryonic_Conn_Limit、TCP_Embryonic_Conn_Timeout |
tcp_conn_timeout (已弃用。) |
用于配置 TCP 初始连接超时的参数。 从版本 6.3 开始,在 Firepower 威胁防御服务策略中配置这些功能,您可以在分配给设备的访问控制策略的“高级”选项卡上找到该策略。 |
TCP_Embryonic_Conn_Timeout |
tcpMssBytes |
最大段大小(以字节为单位)。 |
Sysopt_basic |
tcpMssMinimum |
检查是否设置最大段大小 (MSS),只有此标志为 true 时才设置该值。 |
Sysopt_basic |
threat_detection_statistics |
用于 TCP 拦截的威胁检测统计信息的参数。 |
Threat_Detection_Configure |
vxlan_Nve_Only |
用于在接口上配置仅 NVE 的参数:
|
VxLAN_Make_Nve_Only |
vxlan_Port_And_Nve |
用于为 VXLAN 配置端口和 NVE 的参数:
|
VxLAN_Configure_Port_And_Nve |
vxlan_Vni |
用于创建 VNI 的参数:
|
VxLAN_Make_Vni |
wccpPassword |
WCCP 密码。 |
Wccp_Configure |