H3C Comware采用基于命令行的用户接口(Command Line Interface,CLI)进行管理和操作。用户可以通过Console、AUS、Telnet和SSH等多种方法连接到网络设备。为了提高网络配置的安全性和可管理性,H3C Comware采用了配置权限的分级控制方法。H3C Comware还提供了的操作界面和灵活而丰富的配置命令,以便用户更好地使用网络设备,本章将介绍一些常用的命令行特性和操作配置命令。
访问网络设备的命令行接口
连接到命令行接口的方法
为了通过命令行接口(command Line Internet,CLI)对设备进行管理和操作,必须使用基于字符的终端或远程登录方式连接到网络设备。H3C网络设备提供了访问CLI的多种方法:
通过Console口本地访问
通过AUX口远程访问
使用Telnet终端访问
使用SSH终端访问
通过异步串口访问
通过Console进行连接
用终端登录到网络设备的Console端口(控制台端口)就是一种最基本的连接方式。路由器和交换机都提供一个Console口,端口类型为EIA/TIA-232DCE。用户需要把一台字符终端的串行接口通过专用的Console口上,然后通过终端访问CLI。
Console线的一端为RJ45接头,用于连接路由器或交换机的Console口,另一端为DB9接头,用于与终端的串口相连。由于Console线缆的长度和传输距离是有限的,这种方法只适用于本地操作。
Console口连接是最基本的连接方式,也是对设备进行初始配置时最常用的方式。路由器和交换机的Console口用户默认拥有最大权限,可以执行一切操作和配置。
在实际应用时,通常会用运行终端仿真程序的计算机暂代终端。下面以使用Windows XP操作熊的个人计算机为例讲解连接方法。
创建新连接
首先,通过【开始】|【所有程序】|【附件】|【通讯】|【超级终端】启动超级终端程序并创建一个新的连接,为终端输入一个名字。
选择COM口
接下来,为创建的新连接指定所用的通讯串口(COM)。
接着,需要指定超级终端的参数,在串口的属性对话框中设置波特率为9600,数据位为8,奇偶校验为无,停止位为1,流量控制位无。
进入设备配置界面
设置好通讯参数后,直接点击【确定】,就可进入到如上图的设备配置界面了。
使用AUX口进行连接
网络设备提供的AUX端口(Auxiliary port,辅助端口)通常用于对设备进行远程操作和配置,端口类型为EIA/TIA-232 DTE。在这种配置环境中,用户字符终端通过PSTN(公共交换电话网络)建立拨号连接,接入到网络设备的AUX口上。当然,为了建立这个连接,用户终端和网络设备双方都需要一台Modem(调制解调器)。其中网络设备的AUX口通过AUX电缆连接到Modem,终端则用串口通过Modem线缆连接到Modem。
在实际应用时,同样经常用运行终端仿真程序的计算机替代终端。
AUX口配置虽然不是一种常用的方法,但在IP网络中断时,可以满足远程操作设备的需求。
使用Telnet进行连接
Telnet是基于TCP的用于主机或终端之间远程连接并进行数据交互的协议。它遵循客户机/服务器的操作模型,使用户的本地计算机能够与远程计算机连接,成为远程主机的一个终端,从而允许用户登录到远程主机系统进行操作。
网络设备可以作为Telnet服务器,为用户提供远程登录服务。在这种连接模式下,用户通过一台作为Telnet客户端的计算机直接对网络设备发起Telnet登录,登录成功后即可对设备进行操作配置。
使用Telnet方式有一些先决条件。首先,客户端与网络设备(服务器)之间必须具备IP可达性,这意味着网络设备和客户端必须配置了IP地址,并且其中间设备必须具备正确的路由。第二,处于安全性考虑,网络设备必须配置一定的Telnet验证信息,包括用户名、口令等等;另外,中间网络还必须允许TCP和Telnet协议报文通过,而不能禁止之。
当然,网络设备也可以作为Telnet客户端登录到其他网络设备上。
通过SSH进行连接
使用Telnet远程配置网络设备时,所有的信息都是以明文的方式在网络上传输的。为了提供高交互数据的安全性,可以使用SSH(Secure Shell,安全外壳)终端进行配置。用户通过一个不能保证安全的网络环境远程登录到设备时,SSH特性可以提供安全保障和强大的验证功能,以保护设备不受诸如IP地址欺诈、明文密码截取等攻击。
SSH技术标准由传输协议、验证协议和连接协议三个部分组成,并且也是基于TCP实现的,使用TCP端口号22.如同Telnet一样,一台网络设备可以接受多个SSH客户端的连接。
网络设备还支持作为SSH客户端的功能,允许用户与支持SSH服务器的设备建立SSH连接,用户从而可以从本地设备通过SSH登录到远程设备上。
SSH提供两种验证方法:
Password验证:客户端向服务器发出password验证请求,将用户名和密码加密后发送给服务器:服务器将该信息解密后得到用户名和密码的明文,与设备上保持的用户名和密码进行比较,并返回验证成功或失败的消息。在这种方式下,传输的数据会被加密,但是客户端无法了解要连接的服务器是否是真正的服务器。
Publickey验证:用户需要创建一对秘钥,并将公共密钥保存在服务器端。客户端发送RSA验证请求和自己的公钥模数给服务器端;服务器进行合法性检查,如果不合法,则直接发送失败消息,否则产生一个32字节的随机数,按MSB(Most Signifacant Bit,最高位)优先排列成一个MP(度精度)型整数,并用客户端的公钥加密后向客户端发起一个验证挑战;客户端收到挑战消息后用自己的私钥解密得到MP型整数,用它和回话ID(密钥和算法协商阶段生成的中间产物)生成消息摘要MD5值,把这个16字节的MD5值加密后发送给服务器;服务器接收后还原出MD5值并与它字节计算出的MD5值相比较,如果相同,验证成功,发送成功消息;否则失败,发送失败消息。
命令视图
命令视图是Comware命令行接口对用户的一种呈现方式。用户登录到命令行接口后总会处于某种视图之中。当用户处于某个视图中时,就只能执行该视图所允许的特定命令和操作,只能陪着该视图限定范围内的特定参数,只能查看该视图限定范围内允许查看的数据。
命令行接口提供多种命令视图,比较常见的命令视图类型包括:
用户视图
网络设备启动后的缺省视图,在该视图下可以查看启动后设备基本运行状态和统计信息。
系统视图
这是配置系统全局通用参数的视图,可以在用户视图下使用system-view命令进入该视图。
路由协议视图
我们会学习路由和路由协议,路由协议的大部分参数是在路由协议视图下进行配置的。
接口视图
配置接口参数的视图称为接口视图。在该视图下可以配置接口相关的物理属性、链路层特性及IP地址等重要参数。使用interface并指定接口类型及接口编号可以进入相应的接口视图。
用户界面视图
用户界面视图(User-interface view)是系统提供的一种视图,主要用来管理工作在流方式下的异步接口。通过在用户界面视图下的各种操作,可以达到统一管理各种用户配置的目的。
与设备的配置方法相对应,用户界面视图分为以下四种:
Console用户界面视图:此视图用于配置Console用户界面相关参数。通过Console口登录的用户使用Console用户界面。
AUX用户界面视图:此视图用户配置AUX用户界面相关参数。通过AUX口登录的用户使用AUX用户界面。
TTY(True Type Terminal,实体类型终端)用户界面视图:此视图用于配置TTY用户界面相关参数。以终端通过异步串口连接网络设备的登录用户使用TTY用户界面。这是一种不常用的登录方法。
VTY(Virtual Type Termianl,虚拟类型终端)用户界面视图:此视图用户配置VTY用户界面相关参数。通过VTY方式登录的用户使用此界面。VTY是一种逻辑终端线,用于对设备进行Telnet或SSH访问。
每一个用户界面的特定参数配置,都在相应的用户界面视图下执行。例如要配置Console用户界面的验证方式,首先需要从系统视图执行命令user-interface console 0进入用户界面视图,然后在此视图下用authentication-mode命令进行配置。而如果要配置Telnet用户界面的验证方式,则可以通过user-interface vty 0 4命令一次性配置5个用户的验证方式。
各种视图之间的关系
视图具备层次化结构,要进入某个视图,肯必须首先进入另一个视图。
要进入某个视图,需要使用相应的特定命令。而要从当前视图返回上一层视图,使用quit命令。如果要从任意的非用户视图立即返回到用户视图,可以执行return命令,也可以直接按组合键<Ctrl+Z>。
命令行级别
Comware系统命令行采用分级保护方式,命令划分为4个级别:
访问级(0级):包括网络诊断工具命令(如ping、tracert)、从本设备出发访问外部设备的命令(如telnet)等。该级别命令不允许进行配置文件保存的操作。
监控级(1级):用于系统维护、业务故障诊断等,包括display、debugging命令,该级别命令不允许进行配置文件保存的操作。
系统级(2级):业务配置命令。包括各个层次网络协议的配置命令等。
管理级(3级):关系到系统级别运行、系统支撑模块的命令。包括文件系统、FTP、TFTP、配置文件切换命令、电源控制命令、备份控制命令、用户管理命令、级别设置命令、系统内部参数设置命令等。
用户级别
系统同时对登录用户划分了4个等级,分别与命令级别对应,即某级别的用户登录后,只能使用等于或低于自己级别的命令。
命令行帮助特性
命令行接口提供方便易用的在线帮助手段,便于用户使用。
键入<?>获取该视图下所有的命令及其简单描述
命令后接以空格分隔的<?>,如果该位置为关键字,则列出全部关键字及其简单描述;如果该位置为参数,则列出有关的参数描述
字符串后紧接<?>,列出以该字符串开头的所有命令
命令后接一字符串紧接<?>,列出命令以该字符串开头的所有关键字
键入命令的某个关键字的前几个字母,按下Tab键,如果以输入字母开头的关键字唯一,则可以显示出完整的关键字;如果不唯一,反复按下Tab键,则可以循环显示所有以输入字母开头的关键字。
错误提示信息
用户键入的命令如果通过语法检查则正确执行,否则向用户报告错误信息。常见错误提示信息如下表:
命令行历史记录功能
命令行接口将用户最近使用过的历史命令自动保存在历史缓存区中,用户可以通过display history-command显示这些命令,也可以随时查看或调用保存的历史命令,并编辑或执行。缺省情况下,每个用户的历史命令缓冲区的容量都是10,即命令行接口为每个用户保存10条历史命令,可以在用户界面视图下通过history-command max-size命令来设置用户界面历史命令缓冲区的容量。
用户可以调出历史命令重新执行或进行编辑。用上光标键<↑><Ctrl+P>,如果缓冲区中还有比当前命令更早的历史命令,则取出之;用下光标键<↓><Ctrl+N>,如果缓冲区还有比当前命令更晚的历史命令,则取出之。
命令行编辑功能
命令行接口提供了基本的命令编辑功能,每条命令的最大长度为256个字符。主要的编辑按键如表所示。更多的编辑功能和快捷键定义,请参照相关操作手册和命令手册。
分页显示
命令行接口提供了分页显示特性。在一次显示信息超过一屏时,会暂时停止继续显示,这时用户可以有三种选择:
按<Spase>键:继续显示下一屏信息
按<Enter>键:继续显示下一行信息
按<Ctrl+C>键:停止显示和命令执行
常用命令
常用设备管理命令
用户可以使用sysname命令用户设置设备的名称。设备的名称对应于命令行接口的提示符,如果设备的名称为RTA,则用户视图的提示符为<TRA>。
为了保证与其他设备协调工作,用户可以用display clock查看当前系统时间,用clock datetime命令设置系统时间。
欢迎信息是用户在连接到设备、进行登录验证以及开始交互配置时系统显示的一端提示信息。管理员可以根据需要,设置相应的提示信息。
目前,系统支持的欢迎信息有五种:
shell欢迎信息,也称session条幅。进入控制台会话时显示;
用户接口欢迎信息,也称incoming条幅。主要用于TTY Modem激活用户接口时显示;
登录欢迎信息,也称login条幅。主要用于配置密码验证和scheme验证时显示;
MOTD欢迎信息。在启动验证前显示,该特性的支持情况与设备的型号有关。
授权欢迎信息,也称legal条幅。系统在用户登录前会给出一些版权或者授权信息,然后显示legal条幅,并等待用户确认是否继续进行验证或者登录。如果用户输入“Y”或者直接按<Enter>键,则进入验证或登录过程;如果输入“N”,则退出验证或登录过程。“Y”和“N”不区分大小写。
常用信息查看命令
本图列出了常用的信息查看命令。通过display version命令可以查看网络设备使用的操作系统版本号等信息。通过display current-configuration命令可以查看设备当前运行的配置。
为了查看设备的接口信息,可以使用display interface命令。该命令将显示设备所有接口的类型、编号、物理层状态、数据链路层协议、IP地址、接口报文收发统计等全面信息。如果只想产科接口IP状态等简要信息,也可以使用display ip interface brief命令。
因为各个功能模块都有其对应的信息显示命令,所以一般情况下,要查看各个功能模块的运行信息,用户需要逐条运行相应的display命令。为便于一次性收集更多信息,方便日常维护或问题定位,用户可以在任意视图下执行display diagnostic-information命令,显示系统当前各个主要功能模块运行的统计信息。
配置远程登录
通过Telnet登录路由器的配置
上图以及随后的几张图演示了采用密码验证方案时,在网络设备上配置Telnet服务器的命令:
配置至少一个IP地址,以便提供IP连通性。
启动Telnet服务器
进入VTY用户界面视图。VTY的编号为0~4,第一个登录的远程用户为VTY 0,第二个为VTY 1,依次类推。此处可以选择要配置的VTY编号。
为VTY用户界面视图配置验证方式。这里有三种方式可以选择。关键字none标识不验证;password表示使用单纯的密码验证方法,登录时只需要输入密码;scheme表示使用用户名/密码验证方法,登录时输入用户名及其密码。
如果选择了password验证方法,则须配置一个验证密码,并可以在用户界面视图下配置通过本用户界面登录后的用户级别。
如果选择了scheme验证方法,则系统默认采用本地用户数据库中的用户信息进行验证,因此配置本地用户名、密码、用户级别等信息,用户服务类型选择为telnet,供远程登录验证使用。
Telnet配置例子
一个客户端同Telnet连接路由器的配置例子如图所示。本例假设客户端主机PCA与路由器RTA直接通过以太网相连,用户级别要求位置为2级。按图命令配置好路由器RTA,并对PCA配置IP地址和子网掩码,启动Telnet客户端,即可登录RTA的命令行了。
注意:
Telnet连接依赖于IP可达性,如果客户端与服务器端不处于同一网段,还需要正确地配置IP路由。IP路由的配置。
用Telnet登录
在PCA的Telnet终端软件上键入路由器的IP地址,与路由器建立连接,在提示输入密码时,正确输入事先配置好的密码123456,即可通过验证,并出现命令行提示符<H3C>,随后就可以对路由器进行操作了。
如果登录过程中提示All user interface are used,please try later!数目系统允许登录的Telnet用户数已经达到上限,请等待其他用户释放以后再连接。
注意:
更改当前用户的级别后,需要退出并重新登录,修改后的级别才会生效。
通过SSH登录路由器的配置
路由器SSH服务配置命令
上图以及随后的几张图演示了采用密码验证方案时,在网络设备上配置SSH服务器的命令:
启动SSH服务器
配置用户界面,使其支持SSH远程登录协议,配置结果将在下次登录请求时生效。
为服务器配置SSH本地用户,供远程登录验证使用。
当然,在网络设备上仍然必须配置至少一个IP地址,以便提供IP连通性。
为了完成SSH验证和会话,需要利用主机密钥对等参数,生成会话密钥和会话ID。上图显示了生成主机密钥对的命令。服务器密钥和主机密钥的最小长度为512位,最大长度为2018位。在SSH2中,有的客户端要求服务器生成的密钥长度必须大于或等于768位。生成密钥对时,如果已经有了RSA密钥对,系统则提示是否替换原有密钥。
对于已经生成的RSA密钥对,可以根据指定格式在屏幕上显示RSA主机公钥或导出RSA主机公钥到指定文件,从而为在远端配置RSA主机公钥作准备。也可以手工销毁当前的密钥对。
SSH配置例子
SSH客户端软件有很多,本节以客户端软件PuTTY为例,说明SSH客户端的配置方法。
SSH客户端要与服务器建立连接,需要做如下基本配置:
指定服务器IP地址。
选择远程连接协议为SSH。通常客户端可以支持多种远程连接协议,如Telnet、Rlogin、SSH等。要建立SSH连接,必须选择远程连接协议为SSH。
选择SSH版本。由于设备目前支持的版本是SSH服务器2.0版本,客户端可以选择2.0或2.0以下版本。
终端参数配置好后,点击【Open】,可发起与服务器端(网络设备)的连接,并弹出下图所示的对话框。
输入预先设备的用户名和密码,即可进入命令行界面。