2.3 使用CLI
CCNP安全防火墙642-618认证考试指南
网络安全工程师经常需要对防火墙的安全策略和配置进行修改。另外,在日常维护工作中,防火墙的行为需要被监控,防火墙处理穿越其自身的流量的行为也需要执行故障排除。为了更好地完成以上任务,ASA设备为管理用户提供了以下与之交互的连接方式。
通过异步Console线缆连接到CLI。
通过Telnet会话连接到CLI。
通过安全壳(SSH)版本1.x或版本2连接到CLI。
通过Web浏览器连接到自适应安全设备管理器(ASDM)。
除了以上所介绍的,管理员还能够在ASA设备启动完成之前中断正常操作系统的加载并进入到ROM监控引导模式下。
本章仅介绍了CLI的内容,其他管理连接方式(Telnet、SSH和ASDM)会在第5章中进行阐述。
Cisco防火墙为CLI提供了以下几种拥有不同管理权限和功能的模式。
用户-EXEC模式:默认情况下,初始连接到ASA设备将位于用户-EXEC模式中,且该模式仅提供有限的命令。当连接到防火墙时,可能会要求用户输入用户-EXEC级别密码。在用户-EXEC模式中,ASA设备的命令提示符如下:
注意,ASA设备以提示符“(config)#”指示当前正处于全局配置模式。
特殊配置模式:和Cisco IOS软件系统一样,ASA设备提供了许多特殊的配置子模式。在特殊子模式中,config提示符后加入了更多的后缀信息。例如,cisco(config-if)#提示符指示当前正处于接口配置模式中。
ROMMON模式:在ASA设备启动过程中,管理员能够进入由只读存储器(ROM)内的初始化固件所提供的限制模式,并对ASA设备的硬件情况进行监控。因此该模式称为ROM监控模式或ROMMON模式。
在CLI会话中,管理员能够进行命令的输入,以及获取所输入命令的帮助信息。另外,对于CLI会话中命令结果的输出,还可以执行过滤显示。下面将对这些功能分别进行阐述。
2.3.1 命令输入
可以在CLI会话中输入命令及该命令的相关选项,从而启用相应特性和功能。如需删去正在起效的命令,可以在命令前添加关键字no。在配置时,请确保该命令包含了足够的选项,才能使之被正确地识别。例如,使用下面的配置命令开启及关闭内嵌的HTTP服务器:
补全功能只会在缩写的关键字不具有歧义时才生效,因为防火墙无法根据当前具有歧义的输入来决定最终的结果。如果按下Tab键后关键字没有被补全,那么意味着当前的输入内容是具有歧义的,需要再次输入更多的字母使命令唯一确定。
使用左右方向键可以调整光标在命令输入行上的位置。如果对现有命令执行插入操作,那么光标提示符所在位置的后续内容会自动往右移动。还可以使用空格键和Delete键对输入进行调整。
有时命令输入可能会被防火墙突然跳出的输出信息或错误消息所打断,可以按下Ctrl-l(小写L)对当前的输入信息进行还原,以便继续编辑。
例如,当尝试输入hostname配置命令对ASA设备的主机名进行更改时,在配置完成之前,ASA设备显示了一条日志消息打断了当前的命令行输入,如例2-2所示。按下Ctrl-l将还原原始命令行的输入状态。
如果忘记某条命令关键字的准确拼写或使用形式,那么可以在未完成的内容后直接输入“?”,ASA设备将根据已输入内容显示所有可能的关键字。例如,假设无法记得配置访问控制列表的准确命令,例2-4中,在配置模式下输入access?将显示两条可能的命令:access-group及access-list。之前未完成的输入内容已经再次给出,便于用户根据提示来完成命令的输入。
例2-4 使用基于上下文的帮助提示可能的命令
2.3.3 命令记录
ASA设备将为每个CLI会话记录最近输入的19条命令。show history命令能够查看当前会话的完整命令记录;通过命令记录,可以召回之前输入过的命令;在需要对命令重复输入时这将节省大量的时间,另外,还能够直接对召回的命令进行编辑或更改。
按向上方向键(q)或Ctrl-p将召回上一条输入过的命令;按向下方向键(Q)或Ctrl-n则召回下一条最近输入的命令。当到达记录缓存尽头时,防火墙会在命令行显示空白。
可以直接编辑召回的命令:使用向左方向键(<)或向右方向键(>)调整光标在命令行的位置,然后在合适的位置插入新的字符;可使用空格或Delete键对输入进行调整。
注意:
兼容美国国家标准协会(ANSI)的终端模拟器支持方向键,例如PuTTY。可以从www.chiark.greenend.org.uk/~sgtatham/putty/download.html 下载到PuTTY。
2.3.4 命令输出的查找和过滤
show命令可能会产生大量的输出信息。如果输出信息的行数超出终端会话单页最大的显示范围(默认为24行),那么页面末尾将出现如下提示符:
按空格键将对显示内容进行翻页;如需逐行查看则按回车键;按下q以退出输出页面。
关键如果想要对输出中的特定信息进行筛选或过滤,则可以使用正则表达来匹配输出内容。正则表达式由各种字符组成——可以是简单的字符串(如permit或route)或是复杂的匹配字符。通常,结合特殊关键字和正则表达式来对输出信息进行查找和定位。如下的命令结构用于执行正则表达式的查找:
例2-7给出了使用命令show log | include 302013仅显示缓存的日志消息中消息ID为302013的输出。消息302013记录了所有入站和出站方向已完成的TCP连接信息,如果需要,可以使用正则表达式对这些信息进行再次筛选。若只想显示入站TCP连接的记录,那么上述正则表达式应该更改为include 302013加上匹配所有信息的“.*”和字符串“inbound”,如本例末尾内容所示。
例2-7 令输出查找
number的取值范围为大于1的正整数,关键字lines为可选;若指定了number参数,则lines关键字可以不输入。
输入pager 0或no pager将完全关闭分页显示功能。若使用终端模拟器抓取大量的配置或日志消息,关闭分页功能是很有必要的;关闭了分页功能后,所有输出内容将持续滚动,并由终端模拟器进行缓存;否则在抓取的过程中便需要用户不断地使用空格键翻页,并且每页末尾的<--- More --->提示符也会被记录下来。