防火墙模式和安全情景模式
ASA 在以下模式组合下运行:
-
透明防火墙或路由防火墙模式
该防火墙模式确定 ASA 作为第 2 层还是第 3 层防火墙运行。
-
多情景模式或单情景模式
此安全情景模式确定 ASA 作为单台设备运行还是作为多个安全情景(类似于虚拟设备的作用)运行。
有些命令仅在特定模式下可用。
此产品的文档集力求使用非歧视性语言。在本文档集中,非歧视性语言是指不隐含针对年龄、残障、性别、种族身份、族群身份、性取向、社会经济地位和交叉性的歧视的语言。由于产品软件的用户界面中使用的硬编码语言、基于 RFP 文档使用的语言或引用的第三方产品使用的语言,文档中可能无法确保完全使用非歧视性语言。 深入了解思科如何使用包容性语言。
思科可能会在某些地方提供本内容的当地语言翻译版本。请注意,翻译版本仅供参考,如有任何不一致之处,以本内容的英文版本为准。
本章介绍如何在思科 ASA 上使用 CLI。
![]() 注 |
CLI 与思科 IOS CLI 使用类似的语法和其他约定,但 ASA 操作系统不是思科 IOS 软件的版本。请勿假定思科 IOS CLI 命令可与 ASA 一起使用或与之具有相同的功能。 |
ASA 在以下模式组合下运行:
透明防火墙或路由防火墙模式
该防火墙模式确定 ASA 作为第 2 层还是第 3 层防火墙运行。
多情景模式或单情景模式
此安全情景模式确定 ASA 作为单台设备运行还是作为多个安全情景(类似于虚拟设备的作用)运行。
有些命令仅在特定模式下可用。
ASA CLI 包括命令模式。有些命令只能在特定模式下输入。例如,要输入显示敏感信息的命令,您需要输入密码并进入具有更多特权的模式。然后,为确保不会意外输入配置更改,必须进入配置模式。所有较低的命令均可在较高模式下输入。例如,可以在全局配置模式下输入特权 EXEC 命令。
![]() 注 |
各种类型的提示全部是默认提示,并且配置后可能会不同。 |
当处于系统配置模式或单情景模式时,提示以主机名开头:
ciscoasa
在打印提示字符串时,系统会解析提示配置并按您设置的提示命令的顺序打印配置的关键字值。关键字参数可以是以下任意项并且可采用任意顺序:主机、域、情景、优先级、状态。
prompt hostname context priority state
如果您在某一情景中,则提示符以主机名开头,后跟情景名称:
ciscoasa/context
提示根据访问模式而异:
用户执行模式
用户 EXEC 模式允许您查看最低 ASA 设置。当您首次访问 ASA 时,用户 EXEC 模式提示按以下方式显示:
ciscoasa>
ciscoasa/context>
特权执行模式
通过特权 EXEC 模式可查看特权级别内的所有当前设置。任何用户 EXEC 模式命令在特权 EXEC 模式下都将适用。在用户 EXEC 模式下输入 enable 命令(需要密码),以启动特权 EXEC 模式。提示包含数字符号 (#):
ciscoasa#
ciscoasa/context#
全局配置模式
全局配置模式允许您更改 ASA 配置。所有用户 EXEC、特权 EXEC 和全局配置命令在此模式下均可用。在特权 EXEC 模式下输入 configure terminal 命令,以启动全局配置模式。提示将更改为以下形式:
ciscoasa(config)#
ciscoasa/context(config)#
命令特定配置模式
从全局配置模式下,某些命令可进入命令特定配置模式。所有用户 EXEC、特权 EXEC、全局配置和命令特定配置命令在此模式下均可用。例如,使用 interface 命令会进入接口配置模式。提示将更改为以下形式:
ciscoasa(config-if)#
ciscoasa/context(config-if)#
命令语法说明采用下表所列的约定。
约定 |
说明 |
---|---|
粗体 |
粗体文本指示按字面显示输入的命令和关键字。 |
斜体 |
斜体文本指示由您提供值的参数。 |
[x] |
方括号中包含可选元素(关键字或参数)。 |
| |
竖线指示可选或必需的关键字或参数集中的选项。 |
[x | y] |
将以竖线分隔的关键字或参数括起来的方括号指示可选选项。 |
{x | y} |
将以竖线分隔的关键字或参数括起来的大括号指示必需选项。 |
[x {y | z}] |
方括号或大括号的嵌套集合指示可选或必需元素中的可选或必需选项。方括号中的大括号和竖线指示可选元素中的必需选项。 |
您可以将大多数命令缩写为最少的命令独有字符;例如,您可以输入 wr t (而不是输入完整命令 write terminal )查看配置,也可以输入 en 启动特权模式和输入 conf t 启动配置模式。此外,还可以输入 0 以表示 0.0.0.0 。
ASA 使用的命令行编辑规则与思科 IOS 软件相同。使用 show history 命令可查看以前输入的所有命令;使用向上箭头或 ^p 命令可逐个查看以前输入的所有命令。在检查以前输入的命令后,可使用向下箭头或 ^n 命令在列表中向前移动。到达想要重新使用的命令后,您可以编辑该命令或按 Enter 键启动该命令。此外,还可以使用 ^w 删除光标左侧的词语,或使用 ^u 擦除整行。
ASA 在命令中最多允许 512 个字符,额外的字符将被忽略。
要在输入部分字符串后补全命令或关键字,请按 Tab 键。仅当部分字符串仅与一个命令或关键字匹配时,ASA 才会补全命令或关键字。例如,如果输入 s 并按 Tab 键,则 ASA 不会补全命令,因为它与多个命令匹配。但是,如果输入 dis,则 Tab 键会补全 disable 命令。
通过输入以下命令,可从命令行获取帮助信息:
help command_name
显示特定命令的帮助。
command_name ?
显示可用参数列表。
string? (无空格)
列出以字符串开头的可能命令。
? 和 +?
列出所有可用命令。如果输入 ?,ASA 仅显示当前模式可用的命令。要显示所有可用命令,包括可用于较低模式的命令,请输入 +?。
![]() 注 |
如果要在命令字符串中包含问号 (?),则在键入问号之前必须按 Ctrl-V,以便不会无意中调用 CLI 帮助。 |
要查看运行配置,请使用以下其中一个选项:
show running-config [all] [command]
如果指定 all ,则还会显示所有默认设置。如果指定 command ,则输出仅包含相关命令。
![]() 注 |
许多关键字都显示为 *****。要以明文或以加密形式(如果已启用主口令)查看密码,请使用 more 命令。 |
more system:running-config
将筛选选项与 show 命令配合使用的语法如下:
show command | {include| exclude | begin | grep [-v]} regexp
或
more system:running-config| {include| exclude | begin | grep [-v]} regexp
![]() 注 |
输入 more 命令允许您查看任何文件的内容,而不只是运行配置;有关详细信息,请参阅命令参考。 |
在此命令字符串中,第一根竖线 (|) 是运算符,并且必须包含在命令中。此运算符会将 show 命令的输出指引到过滤器。在语法图中,其他竖线 (|) 指示备用选项,并且不是命令的一部分。
include 选项包括匹配正则表达式的所有输出行。不带 -v 的 grep 选项具有同样的效果。exclude 选项不包括匹配正则表达式的所有输出行。不带 -v 的 grep 选项不具有同样的效果。begin 选项显示以匹配正则表达式的行开头的所有输出行。
将 regexp 更换为任何思科 IOS 正则表达式。正则表达式未括在引号或双引号中,所以请注意后面的空格,它们也会被视为正则表达式的一部分。
创建正则表达式时,可以使用要与之匹配的任何字母或数字。此外,某些关键字字符(称为元字符)在正则表达式中使用时具有特殊含义。
使用 Ctrl+V 可转义 CLI 中的所有特殊字符,如问号 (?) 或制表符。例如,键入 d[Ctrl+V]?g 以在配置中输入 d?g。
您可以将 show 命令的输出重定向到设备上或远程位置中的文件,而不是将其显示在屏幕上。当重定向到设备上的文件时,也可以将该命令输出附加到文件。
show command | {append | redirect} url
append url 将输出添加到现有文件。使用以下方法之一指定文件:
disk0:/[[path/]filename] 或 flash:/[[path/]filename] - flash 和 disk0 均指示内部闪存。可以使用任一选项。
disk1:/[[path/]filename] - 指示外部存储器。
redirect url 创建指定的文件,或者将其覆盖(如果该文件已存在)。
disk0:/[[path/]filename] 或 flash:/[[path/]filename] - flash 和 disk0 均指示内部闪存。可以使用任一选项。
disk1:/[[path/]filename] - 指示外部存储器。
smb:/[[path/]filename] - 指示服务器消息阻止(一种 UNIX 服务器本地文件系统)。
ftp://[[user[:password]@] server[:port]/[path/] filename[;type=xx]] - 指示 SCP 服务器。type 可以是以下关键字之一:ap (ASCII 被动模式)、an (ASCII 普通模式)、ip (默认 - 二进制被动模式)、in (二进制普通模式)。
scp://[[password]@] server[/path]/filename[;int=;int=interface_name]] -;int=interface 选项会绕过路由查找并始终使用指定接口来访问安全复制 (SCP) 服务器。
tftp://[[user[:password]@] server[ :port] /[path/]filename[;int=interface_name]] - 指示 TFTP 服务器。路径名不能包含空格。;int=interface 选项会绕过路由查找并始终使用指定接口来访问 TFTP 服务器。
您可能只需输出中的行数计数或与正则表达式匹配的行数,而不是查看实际 show 命令输出。然后,您可以轻松将此行数与您上次输入命令时的行数进行比较。当执行配置更改时,可以快速对此进行检查。可以使用 count 关键字,也可以向 grep 关键字添加 -c 。
show command | count [regular_expression]
show command | grep -c [regular_expression]
将 regular_expression 替换为任何思科 IOS 正则表达式。正则表达式未括在引号或双引号中,所以请注意后面的空格,它们也会被视为正则表达式的一部分。正则表达式是可选的;如果未包含正则表达式,则计数会在未过滤的输出中返回总行数。
创建正则表达式时,可以使用要与之匹配的任何字母或数字。此外,某些关键字字符(称为元字符)在正则表达式中使用时具有特殊含义。使用 Ctrl+V 可转义 CLI 中的所有特殊字符,如问号 (?) 或制表符。例如,键入 d[Ctrl+V]?g 以在配置中输入 d?g 。
例如,要在 show running-config 输出中显示所有行的总数:
ciscoasa# show running-config | count
Number of lines which match regexp = 271
以下示例显示了如何快速检查有多少个接口在工作。第一个示例显示如何将 grep 关键字与正则表达式配合使用以仅对显示启动状态的行进行过滤。下一个示例添加 -c 选项以仅显示计数而不是实际输出行。
ciscoasa# show interface | grep is up
Interface GigabitEthernet0/0 "outside", is up, line protocol is up
Interface GigabitEthernet0/1 "inside", is up, line protocol is up
ciscoasa# show interface | grep -c is up
Number of lines which match regexp = 2
对于如 help 或 ? 、show 、show xlate 之类的命令或者提供长列表的其他命令,您可以决定是让信息显示一屏后暂停,还是让命令运行到完成为止。通过 pager 命令,您可以选择在 More 提示出现之前要显示的行数。
启用分页后,会出现以下提示:
<--- More --->
More 提示符使用与 UNIX more 命令类似的语法:
按空格键可查看其他屏幕。
按 Enter 键可查看下一行。
按 q 键可返回到命令行。
您可以在某一行之前前置冒号 (:) 来创建注释。但是,该注释仅出现在命令历史记录缓冲区中,而不出现在配置中。因此,您可以使用 show history 命令或通过按箭头键检索以前的命令来查看注释,但是由于注释不在配置中,write terminal 命令不会显示注释。
本节介绍如何设置可下载到 ASA 的文本配置文件的格式。
文本配置文件包含与本指南中所述命令对应的行。
在示例中,命令之前前置有 CLI 提示。以下示例中的提示为“ciscoasa(config)#”:
ciscoasa(config)# context a
在系统未提示输出命令的文本配置文件中,会因此省略提示:
context a
命令特定配置模式命令在命令行中输入时缩进显示在主命令下。只要这些命令紧跟在主命令后显示,便无需缩进文本行。例如,以下未缩进文本的读取与缩进文本相同:
interface gigabitethernet0/0
nameif inside
interface gigabitethernet0/1
nameif outside
将配置下载至 ASA 时,ASA 会自动插入一些行。例如,ASA 会为默认设置或修改配置的时间插入行。创建文本文件时,无需输入这些自动条目。
大致上,命令可以依照文件中的任何顺序。但是,某些行(例如 ACE)按其显示顺序进行处理,并且顺序可影响访问列表的功能。其他命令也可能具有顺序要求。例如,必须首先为接口输入 nameif 命令,因为许多后续命令都使用该接口的名称。此外,命令特定配置模式下的命令必须紧跟在主命令之后。
有些命令不会在配置中插入行。例如,运行时命令(show running-config )不会在文本文件中有对应的行。
登录、启用和用户密码存储在配置中之前会自动加密。例如,密码“cisco”的加密形式可能类似于 jMorNbK0514fadBh。您可以将配置密码以其加密形式复制到另一个 ASA,但是无法自行解密密码。
如果您在文本文件中输入了未加密的密码,则 ASA 不会在您将配置复制到 ASA 时将其自动加密。仅当使用 copy running-config startup-config 或 write memory 命令从命令行保存运行 配置时,ASA 才会将其加密。
对于多个安全情景,整个配置由以下多个部分组成:
安全情景配置
系统配置,用于确定 ASA 的基本设置,包括情景列表
管理情景,用于为系统配置提供网络接口
系统配置不包含其自己的任何接口或网络设置。相反,当系统需要访问网络资源(例如从服务器下载情景)时,它会使用指定为管理情景的情景。
每个情景都类似于一个单情景模式配置。系统配置与情景配置的不同之处在于,系统配置仅包含系统命令(例如所有情景的列表),而其他典型命令不存在(例如许多接口参数)。
ASA CLI 当前仅支持 UTF-8 编码。UTF-8 是 Unicode 符号的特定编码方案,并已设计为与符号的 ASCII 子集兼容。ASCII 字符在 UTF-8 中表示为单字节字符。所有其他字符在 UTF-8 中均表示为多字节符号。
完全支持 ASCII 可打印字符(0x20 到 0x7e)。可打印的 ASCII 字符与 ISO 8859-1 相同。UTF-8 是 ISO 8859-1 的超集,因此前 256 个字符 (0-255) 与 ISO 8859-1 相同。ASA CLI 最多支持 255 个 ISO 8859-1 字符(多字节字符)。