本节书摘来自异步社区《趣学CCNA——路由与交换》一书中的第6章,第6.2节,作者 田果 , 彭定学,更多章节内容可以访问云栖社区“异步社区”公众号查看
6.2 Cisco设备的管理与配置
趣学CCNA——路由与交换
6.2.1 通过Console接口连接网络设备
当我们启动Cisco设备后,所面对的是一个完全没有配置过的设备。如果我们需要让它完成某些任务,就必须对它进行配置。在这里,我们介绍最为常用的一种配置方式,那就是通过连接图6-2所示的Console接口对设备进行管理。
当然,通过电脑连接Console接口,需要一根数据线,干这事儿的数据线业内俗称Console线。这类线一端是一个RS-232的DB-9接口(串口),用来连接咱们的电脑;另一端是RJ-45接头(水晶头),用来连接Cisco设备的Console接口,如图6-6所示。如果您没有Console线,劝您入职前上网淘一根。这种线用不着自己去做,便宜的Console线十来块钱人民币就可以入手,还免去了自己查询线序制作接头之苦,省力省心。
注释:
笔记本刚开始飞入国内的寻常百姓家差不多是1998年前后的事儿。那会儿的笔记本很多都带软驱。要是能买到一个6斤以内的笔记本,肯定属于超轻量级。不知道从什么时候起,笔记本就开始进入“拼薄”的年代。渐渐地,软驱没有了;然后,串口也没有了;再后来,光驱没有了;现在,很多电脑干脆连RJ-45接口都没有了。好在USB接口还在,如果您的笔记本是08年之后买的,您就几乎肯定需要添置一个USB转RS-232的转接头/转接线,这样您的笔记本才能连接上Console线,如图6-7所示。
看到图6-2、图6-6和图6-7,如何连接物理线缆,那就是小菜一碟了。一句话,把对得上的物理接口都连接起来后,就完成了关键的、决定性的一步。
完成了电脑的串口与网络设备Console接口之间的物理连接后,下一步是打开电脑中的一个虚拟终端程序(我们这里以SecureCRT为例,建议读者安装一个SecureCRT程序),新建一个连接,然后按照图6-8所示进行设置。
如图6-8所示,我们首先需要将建立连接的协议(Protocol)选择为串口(Serial)。
Protocol(协议):串口(Serial)。
然后,就会看到如下的选项。
Port(端口):这里需要选择连接网络设备的端口号,我们稍后说明。
波特率(Baud rate):选择9600。
数据位(Data bits):选择8。
奇偶校验(Parity):选择None。
停止位(Stop bits):选择1。
注释:
上面的设置在国内外各类图书中常常被简称为“96008N1”。
现在来回答刚刚遗留的问题:我们不知道这个由USB转出来的串行接口序号,那么在图6-8中,Port这个下拉框中应该怎么选择?
此时,我们需要打开这台电脑Windows系统的“控制面板”,选择“系统”,进入“设备管理器”。然后点开“端口”这一项,就可以看到这个USB串口的编号,在图6-9所示的设备管理器中,我们可以看到这个串口的编号是COM4,这就是图6-8中我们在Port的下拉菜单中选择了COM4的原因。
完成图6-8的设置后,我们就可以点击Connect(连接),建立这台笔记本与网络设备之间的通信了。从下一节开始,我们即将进入Cisco设备操作系统(Cisco IOS)的环节,来学习如何管理这些网络设备。
注释:
物理线路连接上了,敲回车键,屏幕上会有弹出字符。如果没有,去掉图6-8上的RTS/CTS的勾再试试。如果还不弾字符,果断换线再试,因为市场上的伪劣线缆实在不少。
6.2.2 Cisco网络设备的基本配置
就像我之前说的那样,专业技术人员对美的需求一般都是会被忽略的。所以,对于此前从来没有接触过这个行业的读者,如果您竟然指望能够通过虚拟终端的界面,看到什么华丽的视觉甚至音响效果,您一定会大感失望——此IOS非彼iOS。事实上,您通过虚拟终端软件看到的Cisco IOS系统只会有各种字符,管理人员需要通过键盘向设备输入命令来要求它实现某项功能,因此管理人员需要熟悉各个功能所对应的命令。这种类型的界面统称为命令行界面,简称CLI界面。
当然,我在第一次接触IOS系统的时候,还是比较适应这种操作环境的,毕竟我最开始使用个人电脑时,用的操作系统就是命令行界面的DOS。同时,我也希望告诉每一位读者,专业设备使用命令行界面对于我们是极为有利的,它不仅可以提高行业门槛,让专业人员和业余人员之间产生一条巨大的鸿沟,而且可以方便我们的操作。我的经验是,功能越丰富的设备,命令行界面就越友好。因为对于一个功能极其复杂的系统,通过图形化界面找到可以配置某个功能的“路径”,经常会比在命令行界面找出能够实现某个功能的“命令”要更麻烦。
设备的启动过程
书接上文,在点击了Connect按钮之后,我们打开设备背面的电源,虚拟终端的窗口中就会显示出这台设备的启动信息。这个过程如例6-1所示。
例6-1 Cisco IOS的启动
System Bootstrap, Version 12.1(3r)T2, RELEASE SOFTWARE (fc1)
Copyright (c) 2000 by cisco Systems, Inc.
C2600 platform with 32768 Kbytes of main memory
program load complete, entry point: 0x80008000, size: 0x8ceb78
Self decompressing the image :
######################################################################################################################################################### [OK]
Smart Init is disabled. IOMEM set to: 10
Configured I/O memory percentage was too large. Using 10 percent iomem.
Restricted Rights Legend
Use, duplication, or disclosure by the Government is
subject to restrictions as set forth in subparagraph
(c) of the Commercial Computer Software - Restricted
Rights clause at FAR sec. 52.227-19 and subparagraph
(c) (1) (ii) of the Rights in Technical Data and Computer
Software clause at DFARS sec. 252.227-7013.
cisco Systems, Inc.
170 West Tasman Drive
San Jose, California 95134-1706
Cisco Internetwork Operating System Software
IOS (tm) C2600 Software (C2600-IPBASE-M), Version 12.3(5a), RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2003 by cisco Systems, Inc.
Compiled Tue 25-Nov-03 05:59 by kellythw
Image text-base: 0x80008098, data-base: 0x80F002E0
cisco 2620 (MPC860) processor (revision 0x600) with 29696K/3072K bytes of memory.
Processor board ID JAD052306CS (1393757906)
M860 processor: part number 0, mask 49
Bridging software.
X.25 software, Version 3.0.0.
Basic Rate ISDN software, Version 1.1.
1 FastEthernet/IEEE 802.3 interface(s)
1 Serial network interface(s)
1 ISDN Basic Rate interface(s)
32K bytes of non-volatile configuration memory.
16384K bytes of processor board System flash (Read/Write)
--- System Configuration Dialog ---
Would you like to enter the initial configuration dialog? [yes/no]:
在上面的启动过程中,我们可以看到很多的井号(#),这些井号表示设备正在将IOS系统从Flash中解压并加载到RAM中。除了IOS系统,RAM要加载的东西还包括系统的配置文件,只不过配置文件不是从Flash中加载,而是从NVRAM中加载。下面我来解释一下。
上文咱们说过,NVRAM中记录的信息不会丢失,所以才叫“非易失存储器”。反观RAM,RAM中记录的信息在每次设备重启或关闭时都会清零。打个比方,RAM中的配置就像没有存盘的游戏进度,虽然有效,但由于RAM每次重启都会清空,因此只在当前有效,所以保存在RAM中的配置称为运行配置文件( running-config ),这些配置即时生效,重启失效;而NVRAM中记录的信息就像玩家存的盘,它是管理员保存的配置数据,这些数据记录着他/她截止到上次保存配置之前所执行的配置。这些配置在系统重启后还会保留,而且会在重启时加载到RAM中在重启后生效,因此称为启动配置文件( startup-config )(当然,我们可以选择设备重启时是否将NVRAM中的配置加载到RAM中)。而Cisco设备启动的第3步,就是定位并运行启动配置文件。在这个过程中,设备会将NVRAM中的启动配置文件加载到RAM中作为运行配置文件。
如例6-1所示,在启动信息中,我们可以了解到很多关于这个设备的信息,包括设备的型号(Cisco 2600)、IOS的版本(Version 12.3(5a)),以及各种存储器的容量、设备包含的接口等。在这些信息的最后,设备会询问我们是否进入初始配置对话框。一般情况下我们不会进入初始配置,因此这时我们应该输入no,或者n。当然,如果您对于初始配置对话框会引导用户配置哪些信息感兴趣,可以尝试回答yes(或者y)进去看一看。不过,读懂设备的引导信息需要初中水平的英语阅读能力。如果您看烦了,或者不小心进入了初始配置对话框,可以立刻按Ctrl+C退出。
如果我们选择不进入初始配置对话框,就会登录这台设备,如图6-10所示。
配置模式
说到这里,我需要引入一个概念,那就是Cisco IOS 系统是有“配置模式”的。换句话说,系统对于执行不同命令的模式进行了归类。管理员要想实现某种功能,必须在正确的模式下输入实现这个功能的命令。对于这些模式,我们会随着各类配置命令陆续进行介绍。我们在这里需要进行介绍的第一个操作模式,就是图6-10最后一行显示的配置模式,这个模式称为“用户模式”。
在Cisco IOS系统的命令行界面中,不同的配置模式拥有不同的提示符,这个提示符位于设备的名称之后,它清晰地展示了当前所处的模式。图6-10中启动的是一台路由器,默认情况下,路由器的名称就是“Router”。通过图6-10我们看到,用户模式的提示符就是“ Router ”后面的那个“大于号”( > )。
用户模式是一个功能高度受限的模式。在这个模式下,我们不能做的配置很多,能做的却很少。因此我们在进入这个模式后,往往会直接输入进入下一个模式的命令:enable,如图6-11所示。
当输入enable后,可以看到设备名称后面的提示符从大于号变成了井号(#),而Router# 这样的提示信息表示您现在处于特权模式。相比用户模式,特权模式确实还是有一些特权的,因为管理员已经可以对设备进行一些极为简单的配置了,而且我们还可以在这种模式下查看和这台设备有关的各类信息。
注释:
用户模式进入特权模式的命令是enable,特权模式退出到用户模式的命令是disable或者exit。
如果想要进行大量的配置工作,仅仅进入特权模式还是不够。我们需要在特权模 式下输入 configure terminal 进入 全局配置模式 。顾名思义,“全局配置”模式就是管理员修改这台设备“全局”配置的模式。不过,如果管理员需要修改一些“局部”配置,也需要先进入全局配置模式,然后再从全局配置模式进入相应的局部配置模式(比如接口配置模式)。全局配置模式的提示符是设备主机名后面的“(config)#”,如图6-12所示。
友好的__IOS
对于不适应命令行界面的读者来说,Cisco IOS系统很可能看起来不太可爱。当然,您现在合上书转行还来得及,但我相信任何一个能够体现人们价值的行业都不会太简单,太好上手。所以,我们这一部分的主旨就是帮助广大读者“从命令行界面的绝望之岭劈出一块有爱的希望之石”。
简化命令
读者大概发现了,我们在图6-12中仅仅输入了conf t。说好的configure terminal呢?事实上,Cisco IOS系统支持管理员输入简化的命令,因此输入conf t就可以实现命令configure terminal的功能。
既然如此,输入c t不是更省事儿吗?您或许想问。
不能这样做的问题在于,在全局配置模式下,c打头的命令太多了,绝不止configure这一个。所以,如果您只输入到c这个字母,系统就搞不清您输入的这个c,是指使用其中的哪条命令。说得具体一点,管理员要想清楚地告诉设备,自己希望实现哪条命令,就至少要把命令输入到没有歧义的那一个字母。
不过,如果您敲的命令对设备来说有歧义,设备是会告诉您这条命令存在歧义的。此时,设备会提示“% Ambiguous command:”,冒号后面跟着这条有歧义的命令。而“Ambiguous command”这两个词儿直译过来就是“这条命令有歧义”。
你看,命令行界面也挺友好的吧?
当然,这么友好的界面一定为我们提供了某种方法,可以让我们检验目前输入的内容对于设备而言是否已经足以消除歧义,这种方法就是在输入时按下键盘上的Tab 键。此时,如果您输入的信息已经足以消除歧义,那么在按下Tab键之后,IOS就会帮您把这个关键字补全;如果还不完整,IOS就不会做出任何反应。
帮助机制
不知道现在的模式能够实现哪些功能?不知道自己输入的命令错在哪里?不想重复输入类似的命令?问问Cisco IOS,也许它提供的帮助机制可以帮您解忧。这个帮助机制可以为管理员提供下列功能:
上下文关联帮助;
错误信息提示;
之前命令保存区。
下面咱们挨个儿来介绍上面这三项功能。首先,我们从上下文关联帮助说起。
相较于图形化界面,Cisco IOS命令行界面最大的麻烦在于管理员需要记住实现某项功能的命令,以及可以使用这条命令的配置模式。所以说,如果我们可以在进入某个配置模式的时候,就一目了然地看到这个模式能够实现的所有功能,那我们简直就可以把命令行界面当图形化界面来用了,不是吗?
Cisco IOS确实提供了这样的功能,而且使用起来十分简单。我们只需要在相应的配置模式下输入一个问号(?),就可以看到这个模式下可以使用的命令关键字,如图6-13和图6-14所示。同时IOS还会在这个关键词后面附上一句话,来解释这条命令的功能。不过,读懂这句话同样需要初中水平以上的英语阅读能力。
不只如此,如果您只记得某条命令的前几个字母,而忘记了后面的拼写,依然可以使用?来询问IOS。因此,如果您想输入命令关键字clock,但输入到了cl就忘记了后面的字母是什么的时候,就可以在cl后面输入?来向设备求助,如图6-15所示。
图6-15说明,在特权模式下,以cl开头的命令关键字有两个:clear和clock。所以,如果在特权模式下输入cl之后直接回车,我们可以期待系统提示我们这是一条“Ambiguous command”。
如果您只记得这条命令的第一个关键词,却不知道需要在它后面添加什么参数,您还是可以使用问号(?)向IOS求救,如图6-16所示。
总之,在您搞不定某条命令的拼写或者由哪几个关键字构成的时候,甚至在您搞不定某项功能需要使用哪条命令来配置的时候,问问IOS,也许它能帮你。
说完了上下文关联帮助,下面咱们来聊聊错误信息提示。所谓“错误信息提示”,是指如果管理员输入错了命令,设备会提示您这条命令输入有误,如图6-17所示。
这句提示语翻译过来的意思是:“如果您输入的是某条命令或者某台计算机的名称,这个词我(IOS)识别不了,这也有可能是因为我找不到这台计算机的地址”。这句话好像不太好理解,输入错了命令跟计算机地址有啥关系?下面我来简单解释一下。
除了命令关键词之外,管理员也有可能会在命令行中将某台设备的主机名与命令关键词结合起来输入。所以,在管理员输入了一条命令之后,如果设备发现某个词自己无法找到匹配的命令关键词,它就会认为这是某台设备的主机名,于是它就会把这个词当成一个主机名去向域名服务器(DNS)进行查询,希望DNS服务器告诉自己这个主机名所对应的地址。这个过程可不是在设备本地查询,因此速度比较“坑爹”,而且覆水难收,中间的过程您还打断不了,只能等待设备查询完成才能继续操作。所以,如果您手比较潮,经常会敲错命令中的某些字母,然后看也不看直接回车,而您的网络中又根本没有DNS服务器,那设备就会时常发起查询,而且这些查询根本就是白费功夫。所以,在网络中没有 DNS 服务器 的时候,管理员经常会在全局配置模式下输入命令 no ip domain-lookup 来制止设备对未知命令发起域名查询。
说完了错误信息提示,我们最后说说“之前命令保存区”。这个功能的作用是,当管理员希望再次使用前面配置过的命令时,可以通过键盘上的上下方向键来查找此前输入的命令。
当然,如果您希望修改那条命令中的某些参数,那就难免需要移动光标,表6-1是我们在配置设备时比较常用的快捷键。使用频率最多的是表中的第1个和第2个快捷键。如果其他的记不住,完全可以用键盘的箭头键和删除键来代替,不过最好别偷懒,艺多不压身。
就像我们在本节开始的时候说的那样,本节旨在向读者传达一种理念:命令行界面并不可怕,它与图形化界面只存在形式上的差异。
接下来,我们会正式向读者展示如何在IOS系统中执行一些基本的配置。
一些基本的配置
对设备进行命名
给设备命名是一个严肃的话题,和给宠物起名有显著区别。在一个网络中,设备的名称就是区分不同设备的标记。命名设备需要在全局配置模式下,使用命令 hostname 设备__名称。比如,如果我们想把当前的设备命名为yeslab,做法如图6-18所示。
注释:
在介绍某项功能所对应的命令时,我们会用黑体字表示这条命令的关键字,而斜体字表示命令的变量。这是后面介绍所有命令时的通用做法,读者会渐渐熟悉。
注意,我们把路由器命名为yeslab,是因为这本书是由YESLAB的讲师所编写的。因此在书里经常出现YESLAB可以强化读者的品牌认知,实现广告宣传的效果,最终达到让读者来YESLAB报名学习的目的(你还敢说得再直白点吗?)。在真实的工程项目中,我们不推荐读者给设备起这种毫无意义的名称。
当然,我不是说yeslab这个名称毫无意义,而是说这样的名称没有向管理员提供关于这台设备的任何有用信息。在命名设备的时候,我们至少应该标识出这是一台什么类型的网络设备,有时还要说明这台设备所属的分支机构所在地或者部门。如果该网络中有多台同类设备,还要对设备进行编号。说白了,在使用中,您把设备命名成R1,都比把它以您的企业命名要合理。至少,看到这个名称您就能知道这台设备是一台路由器。
您或许会觉得疑惑:难道我用Console线连接的是什么设备我自己都不知道吗?干嘛还需要通过设备的名称告诉我自己?
还记得我在引出图6-3的时候,埋下的那个伏笔吗?其实,那个问题的答案一点都不出人意料:路由器、交换机这类网络设备当然也可以通过转发数据的接口对设备进行管理。通过这种方式,人们可以远程对设备进行管理。这是一种最为常用的管理方式。远程管理设备时,工程师的工作方式常常是坐在办公室(而不是机房),用面前的大屏幕台式机(而不是11英寸屏笔记本)管理大量远在某地机房的设备。也就是说,您根本不需要去接触正在被管理的那些物理设备,您甚至有可能根本就接触不到那些设备。此时,您连续进行配置的设备一多,经常会产生一种飘(tou)飘(yun)欲(nao)仙(zhang)的感觉,恍惚间搞不清自己目前登录的是哪一台设备。这时候,配置模式标识符前面那个鲜艳的主机名绝对比一盒清凉油管用得多。至于远程管理设备的具体方法,我们还是要留到下一章再说,这里算是填上图6-3前面挖的坑。
给设备设置标语
给设备设置标语是一个严肃的话题,和给自媒体(Facebook、微博等)首页设置标语有显著区别。我们在这里设置的标语,是设备提示给管理员的信息,这些信息提供的是提示功能。设置标语需要在全局配置模式下完成,命令为banner。b anner这个命令后面可以跟几种不同的关键字,这些关键字的作用是规定设备显示这个标语的情形。比如banner login就是设置用户登录设备时显示的标语。再比如banner motd则是设置每日标语( Message-Of-The-Day ) ,这个标语会在登录标语之前显示给登录设备的人。比如,如果我们想要设置“welcome!”这个motd标语,具体的配置方法如图6-19所示。
需要强调的是,把banner设置为welcome无异于开门揖盗。据说,有一位美国黑客在登录到一台设备上之后,对网络大肆破坏,后来这名黑客也因此被受害方告上法庭。但是法庭最后判这名黑客无罪释放。因为律师向法院出示证据,证明他入侵的设备是欢迎(welcome)人们登录的。现如今,welcome这句本来最为常用的banner标语,已经几乎被人们彻底弃用,改为了“WARNING”。
进入接口配置模式
在前面介绍全局配置模式的时候曾经提到,如果管理员希望修改接口的配置,也需要先进入全局配置模式,然后再从全局配置模式进入接口配置模式。网络设备是专业的信息传输设备,这类设备必然是非常依赖接口的,因此很难想象配置一台设备时不需要对接口进行配置。下面我们来演示进入接口配置模式的方法。
进入接口配置模式相当简单,只需要在关键字 interface后面 跟上希望进入的接口即可。在图6-20中,我们可以看到管理员希望进入设备的FastEthernet(快速以太网接口)0/0接口。至于后面的那个N/M , 体现了设备对接口的编号规则,其中 N 代表 模块号,而 M 代表了这 是这个模块中的第几个口(都是从0开始计数的)。所以,f0/0就是指这台设备0号槽位的第0个口。同理,如果输入interface e1/2就会进入1号槽位第2个Ethernet(以太网)口的配置模式。
在图6-20中,我们可以看出接口配置模式的提示符是(config-if)#。if在这里当然不是“如果”的意思,而是接口(interface)的缩写,所以config-if这个提示符表示目前这个模式是在配置设备的接口。
虽然这个提示符明确地告诉了我们目前处于接口配置模式,但是从这个提示符看不出来我们正在配置哪个接口,甚至连这个接口是一个串行接口还是以太网接口都看不出来,这就要求管理员在配置时一定要保持神志清醒。
设置Console密码
时至今日,大多数企业的业务都是高度依赖网络通信的。换句话说,网络如果中断,这些企业的业务有可能就会彻底瘫痪。遗憾的是,网络对于这些企业的重要性,并没有让所有企业提升它们对于设备安全的重视程度。
虽然前面曾经说过,路由器、交换机等网络设备都应该摆放在“非请勿入”的机房重地,但除了专业的网络服务供应商的机房和少数企业的重要机房之外,大多数安置网络设备的机房提供给这些设备的安全措施仍然是一把20世纪90年代的挂锁,再好一点的换成电子锁或者装个防盗门,再好一点的还会装个监控摄像,但还有很多企业甚至根本没有提供保护措施,人人可以*穿梭于机房。也就是说,任何人只要找到一根Console线,就可以对这些网络设备的配置进行修改,然后拍屁股走人。这个过程哪怕只有几分钟,而且那个“任何人”的技术水准很菜,造成的破坏都有可能是灾难性的。
所以,如果我们能够要求通过Console接口连接到设备的用户进行密码验证,就可以在很大程度上消除这个风险。毕竟对于绝大多数未经授权私自登录这台设备的人而言,他们一旦发现登录需要密码,就会立刻放弃尝试。
要求通过Console口连接进来的用户进行密码认证,需要先从全局配置模式下进入 C onsole 线路配置模式, 命令是 line console 0(因为只有一个Console口)。接下来,需要使用命令“ password密码”来设置 登录 密码;最后还要使用命令 login 要求端口实施登录认证。综上所述,将这台路由器的C onsole接口密码设置为cisco的全部过程如图6-21所示。
前面我们说过,绝大多数未经授权私自登录这台设备的人,他们一旦发现登录需要密码,就会立刻放弃尝试。但是请务必相信我:只要有人真的决定尝试一下登录设备,他们尝试的密码肯定是cisco。这是因为大多数培训机构和高校的实验室,都是以cisco作为密码的,这导致很多刚刚入行的人会习惯性地把cisco设置为密码。更要命的是,很多人会习惯性地将cisco设置为密码,这一点在业内无人不知无人不晓。所以,像图6-21这样把密码设置成cisco,就和把银行卡的密码用贴纸贴在卡面上的做法相差无几。
我的建议是,既然要设置密码,就要设置一个不那么好猜的密码,至少也不要把密码设置成cisco。
其他线路配置模式的命令
在通过Console接口配置设备的过程中,您有可能会遇到各种各样的情况,比如饿了、烦了、想解大手了,等等等等。就算忽略这些生理需求,现实生活也是足够丰富多彩的,有太多原因可以让管理员离开自己正在配置设备的那台笔记本电脑。那么,在您回来的时候,还可以接茬对设备进行配置吗?
默认情况下,如果您两次操作设备的时间间隔在十分钟以内,就还可以继续操作,否则就要重新登录一次设备(如果您通过前面介绍的方法给Console接口配置了登录密码,当然也就要重新输入一遍这个密码)。不过,我们完全可以调整管理员无操作登出的时间。具体做法是在 C onsole 线路配置模式 下使用命令 exec-timeout 进行配置,如图6-22所示。
在图6-22中,命令 exec-timeout 需要跟两个参数,第一个数字表示管理员无操作登出的“分钟数 ”, 第二个数字表示“秒数 ”。所以,如果我们希望把无操作时间调整为11分17秒,那么对应的命令就应该是exec-timeout 11 17。如果我们按照图6-22,将后面的两个参数全都设置为 0 ,则表示操作时间永不超时。
此外,当管理员登录到设备中进行操作的时候,会发现自己的输入信息经常被弹出的日志消息打断(见图6-23)。一旦打断,管理员很容易搞不清自己输入到了什么地方,也就只好从头输起。这非常讨厌。
在图6-23中,管理员正在试图输入conf t进入全局配置模式,结果被突然间弹出的日志消息打断。要想避免这种情况,可以进入Console线路配置模式,输入命令logging synchronous。
设置虚拟终端密码
除了通过Console连接之外,管理员也可以通过T elnet协议来远程管理设备。所以我们在前面提到过,管理员也可以通过传输接口,对设备发起远程管理。
注释:
为了方便后面的介绍,这里顺便介绍两个术语。当 管理设备 的流量 与设备传输 的 流量都 通过相同的接口进入设备时,我们 就 称这种管理方式为 带内 管理 ,比如管理员通过Telnet协议远程管理设备时,管理设备的流量当然也是通过传输信息的接口流入设备的,而专门用于管理的那些接口(Console接口、AUX接口)根本就没有接线;反之,当管理设备的流量 由 独立于传输流量的渠道进入设备时,我们称 这种 管理方式为 带外 管理。通过Console线连接Console口来管理设备就是典型的带外管理。
相比使用Console线管理设备,远程管理设备显然门槛更低。一个人要想拿Console线本地管理设备,他/她至少得先有资格进入设备所在的那个院落,然后还要有资格进入设备所在的那栋大楼,最后也要有资格进入设备所在的那个房间。总而言之,如果有人通过Console口连接的方式篡改了设备的配置,仅仅让网络负责人进行检讨是远远不够的,这家企事业机构对外来人员和内部人员的管理制度肯定存在漏洞。而远程管理则不同。理论上,只要手头有台能连上网的计算机,每个人都可以对其他设备发起远程管理。所以,要想让一台 Cisco IOS 系统的设备接受远程管理,就要先设置好认证远程用户身份的密码。配置远程登录密码的方式和配置Console连接密码的方式极为相似,如图6-24所示。
图6-24和图6-21相比,唯一的区别在于进入线路配置模式的那条命令,也就是第一条命令。因此这里需要对它进行解释。图6-24第一条命令中的关键字v ty , 全称是虚拟终端连接( virtual type terminal ) ,这种连接就是用户通过信息传输接口向设备发起管理访问时建立的连接。它不像物理连接那样看得见摸得着,因此叫做虚拟连接。一台设备最多可以接受多少用户同时向自己发起虚拟管理连接,这一点因设备和系统而异。图6-24一共设置了5条vty线路的密码,它们分别是vty0、vty1、vty2、vty3和vty4。所以,命令line vty 0 4的作用就是同时进入(从vty0~vty4的)这5条vty线路的配置模式,同时对它们进行配置。如果管理员只希望同时有一位用户向这台设备发起远程管理访问,当然也可以只配置vty线路0。此时在全局配置模式下输入命令line vty 0即可。
之前说过,要想让一台Cisco IOS系统的设备接受远程管理,就要先设置好认证远程用户身份的密码。此时有逆反心理的读者可能会很好奇:如果我没有设置vty密码,就对设备发起远程管理,会出现什么情况呢?
此时设备会在管理员对自己发出Telnet连接之后告诉这位管理员,“远程访问需要设置密码,但是这台设备没有设置任何密码”,然后就拒绝这次远程访问请求,如图6-25所示。
通过Console口连接到设备的时候,有可能会遇到无操作登出时间(超时时间)和输入时被日志消息打断的问题。通过Telnet协议远程管理,如果也遇到这样的问题怎么办呢?
在这里推荐读者在 vty 线路配置模式中,尝试使用一下“其他线路配置模式的命令”小节中介绍的那两条命令,看看那两条命令能不能用于 vty 线路配置模式中。
设置特权模式密码
从用户模式进入特权模式,再从特权模式进入全局配置模式的过程,也是管理员的权限从几乎什么都做不了,到几乎什么都可以做的过程。在特权模式,管理员的权限就已经明显高于用户模式。因为在特权模式下,管理员的权限已经让他们可以随意地查看设备信息。有时,我们并不反对一些设备管理员能够登录到设备的用户模式,但是却很不希望他们进入特权模式。这时,我们就可以通过设置特权模式的密码,让设备管理员在从用户 模式 进入特权模式时, 提供 自己的身份 以 供设备认证。
配置特权模式密码的方法相当简单,管理员只需在全局配置模式下输入命令“enable password密码”即可。比如,如果我们想把特权模式的密码设置为cisco,就可以参照图6-26的方法进行设置。
Cisco IOS命令行界面相比于图形化界面的一大优势在于管理员可以清晰地看见设备的配置。而如果我们使用命令enable password cisco配置特权模式密码,那么当我们查看设备配置的时候,这条命令也会赫然显示在配置文件中,如图6-27所示。
查看配置信息是管理设备时常常需要去做的一件事。如果在管理员查看设备信息时,被某些心怀不轨的人“瞥见”了这条命令,那么您特意配置的这条命令,对这些“有心人”来说也就形同虚设了。为了避免这个问题,全局配置模式下还有另一条设置特权模式密码的命令 ——“enable secret密码”,如图6-28所示。
通过这条命令设置的特权模式密码, 在我们 查看配置 命令 时显示出来的 就会 是乱码。因此即使被别人看到也不用担心了,如图6-29所示。
既然说到了查看信息的问题,下面我们就来介绍如何在Cisco IOS系统中查看一些关键信息。
查看设备/系统信息
在本节,我们介绍的内容还是Cisco IOS系统中的一些命令,但这些命令的功能不再是修改设备的配置,而是查看设备的一些重要信息。当然,Cisco IOS系统中的信息相当丰富,因此查看这些信息的命令也是不胜枚举。我们在这里仅介绍几个最为常用的命令,至于查看设备和系统信息的其他命令,会在用到它们的时候再进行介绍。
首先咱们先来说说图6-27和图6-29所示的信息是怎么显示出来的。
此前我们说到过,管理员配置的信息会保存进RAM中。由于这部分信息重启就会消失,因此称为运行配置文件,也就是当前生效的配置文件。在Cisco IOS系统中,查看任何信息基本都是在用户模式下使用show命令进行查看。比如,如果我们要查看设备的运行配置文件,就可以使用命令show running-config来实现,如例6-2所示。
例6-2 show running-config的输出信息
R1#show running-config
Building configuration...
Current configuration : 757 bytes
!
version 15.2
service timestamps debug datetime msec
service timestamps log datetime msec
!
hostname R1
!
boot-start-marker
boot-end-marker
!
!
!
no aaa new-model
!
!
!
!
!
!
no ip domain lookup
ip cef
ipv6 multicast rpf use-bgp
no ipv6 cef
!
!
multilink bundle-name authenticated
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
interface FastEthernet0/0
no ip address
shutdown
duplex full
!
interface FastEthernet1/0
no ip address
shutdown
speed auto
duplex auto
!
interface FastEthernet1/1
no ip address
shutdown
speed auto
duplex auto
!
ip forward-protocol nd
!
!
no ip http server
no ip http secure-server
!
!
!
!
control-plane
!
!
line con 0
exec-timeout 0 0
logging synchronous
stopbits 1
line aux 0
stopbits 1
line vty 0 4
login
!
!
end
在上例中,我们能够清晰地看到设备的配置信息。由于我们查看的是一台空配设备的信息,因此内容相当简单直白,这里不再逐条命令进行介绍。
如果读者读到这里,还能记得设备的启动过程,就会想知道如何查看NVRAM中保存的启动配置文件。其实,查看设备启动配置文件的命令完全可以通过上面的show命令推测出来,这条命令就是show startup-config。这条命令的输出信息如例6-3所示(有简化)。
例6-3 show startup-config的(简化)输出信息
R1#show startup-config
Using 85 out of 129016 bytes!
!
hostname R1
no ip domain lookup
line con 0
exec-timeout 0 0
logging synchronous
上面两条命令显示的信息都是配置命令,也就是管理员自己输入的信息和设备默认的配置信息。下面我们来介绍一条查看设备自身信息的重要命令,这条命令是show version,它的输出信息如例6-4所示。
例6-4 show version的输出信息
R1#show version
Cisco IOS Software, 7200 Software (C7200-ADVENTERPRISEK9-M), Version 15.2(4)S, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2012 by Cisco Systems, Inc.
Compiled Fri 20-Jul-12 15:03 by prod_rel_team
ROM: ROMMON Emulation Microcode
BOOTLDR: 7200 Software (C7200-ADVENTERPRISEK9-M), Version 15.2(4)S, RELEASE SOFTWARE (fc1)
R1 uptime is 18 minutes
System returned to ROM by unknown reload cause - suspect boot_data[BOOT_COUNT] 0x0, BOOT_COUNT 0, BOOTDATA 19
System image file is "tftp://255.255.255.255/unknown"
Last reload reason: Unknown reason
This product contains cryptographic features and is subject to United
States and local country laws governing import, export, transfer and
use. Delivery of Cisco cryptographic products does not imply
third-party authority to import, export, distribute or use encryption.
Importers, exporters, distributors and users are responsible for
compliance with U.S. and local country laws. By using this product you
agree to comply with applicable laws and regulations. If you are unable
to comply with U.S. and local laws, return this product immediately.
A summary of U.S. laws governing Cisco cryptographic products may be found at:
http://www.cisco.com/wwl/export/crypto/tool/stqrg.html
If you require further assistance please contact us by sending email to
export@cisco.com.
Cisco 7206VXR (NPE400) processor (revision A) with 245760K/16384K bytes of memory.
Processor board ID 4279256517
R7000 CPU at 150MHz, Implementation 39, Rev 2.1, 256KB L2 Cache
6 slot VXR midplane, Version 2.1
Last reset from power-on
PCI bus mb0_mb1 (Slots 0, 1, 3 and 5) has a capacity of 600 bandwidth points.
Current configuration on bus mb0_mb1 has a total of 600 bandwidth points.
This configuration is within the PCI bus capacity and is supported.
PCI bus mb2 (Slots 2, 4, 6) has a capacity of 600 bandwidth points.
Current configuration on bus mb2 has a total of 0 bandwidth points
This configuration is within the PCI bus capacity and is supported.
Please refer to the following document "Cisco 7200 Series Port Adaptor
Hardware Configuration Guidelines" on Cisco.com <http://www.cisco.com>
for c7200 bandwidth points oversubscription and usage guidelines.
3 FastEthernet interfaces
125K bytes of NVRAM.
65536K bytes of ATA PCMCIA card at slot 0 (Sector size 512 bytes).
8192K bytes of Flash internal SIMM (Sector size 256K).
Configuration register is 0x2102
如上面的例子所示,这条命令可以给管理员提供设备的硬件构成、IOS系统的版本等大量信息。如果作一个类比的话,这条命令提供给管理员的信息多少有点类似于在Windows系统中打开“控制面板”中的“系统”一项时看到的信息。这些内容可以帮助管理员更好地了解这台设备的情况。
值得一提的是,这条命令显示的信息中包含了Configuration register这么一项(见阴影部分)。这一项在国内翻译为“寄存器值”,这个数值的作用会在后面进行介绍,这里先提出来引起读者的注意。
本章介绍的最后一条show命令的功能是查看与接口有关的信息。这条命令就是“show interface_接口类型____接口编号_”。比如,当管理员希望查看f0/0口的信息时,对应的命令就是show interface f0/0。这条命令的输出信息如例6-5所示。
例6-5 show interface f0/0的输出信息
R1#show interfaces fastEthernet 0/0 FastEthernet0/0 is administratively down, line protocol is down Hardware is DEC21140, address is ca00.e020.0000 (bia ca00.e020.0000) MTU 1500 bytes, BW 100000 Kbit/sec, DLY 100 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation ARPA, loopback not set Keepalive set (10 sec) Full-duplex, 100Mb/s, 100BaseTX/FX ARP type: ARPA, ARP Timeout 04:00:00 Last input never, output never, output hang never Last clearing of "show interface" counters never Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0 Queueing strategy: fifo Output queue: 0/40 (size/max) 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec 0 packets input, 0 bytes Received 0 broadcasts (0 IP multicasts) 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored 0 watchdog 0 input packets with dribble condition detected 0 packets output, 0 bytes, 0 underruns 0 output errors, 0 collisions, 0 interface resets 0 unknown protocol drops 0 babbles, 0 late collision, 0 deferred 0 lost carrier, 0 no carrier 0 output buffer failures, 0 output buffers swapped out `
通过这条命令,我们可以看到一个接口的地址信息、一些统计数据,等等。其中,这条命令的第一行,常常是管理员查看的重点。说得再具体一点,当一个接口本应处于工作状态,管理员却发现它并没有工作的时候,经常需要通过这条信息来判断具体的原因。
概括地说,这条命令可能的显示结果主要包括5种。我们下面分别来介绍一下这个显示信息代表的含义。
FastEthernet 0/0 is up, line protocol is up:这是最好的显示结果,表示这个接口工作一切正常。相当于试纸显示您试孕成功。
FastEthernet 0/0 is administratively down, line protocol is down:这是第二理想的结果。如果出现这个结果,大部分情况下,您只需要进入到这个接口的接口配置模式下,把接口打开,问题就能解决。这就相当于医生告诉您,您可以调整好心态,回家试孕。
FastEthernet 0/0 is down, line protocol is down:这种情况和上一种差不多。如果出现这种情况,很有可能的结果是,您发现对端端口的状态是administratively down。这时,您只要打开对端端口,这里的问题也就迎刃而解了。这就相当于医生告诉您,回家做做您先生的思想工作。
FastEthernet 0/0 is up, line protocol is down:这是第三理想的结果。这表示物理层的工作是正常的,但是有某些原因导致线路协议未启动,比如链路两端接口的某些参数不匹配或者设置不当。类似于医生告诉您,您可以排除器质性的问题,但是想知道具体原因还得进一步检查。同时,这位大夫还找补了一句:最好有空请您先生也来检查一下。
FastEthernet 0/0 is down, line protocol is down (disable):这种显示结果比较糟糕,如果不是线路连接的问题,那就是链路双方中有某一方接口出了问题,总之问题出在物理层上。这就相当于医生说:如果您接受不了手术,那领养一个也是一样的。
到目前为止,我们已经介绍了很多关于Cisco IOS设备的基本命令。在上文的介绍中,虽然读者可以通过图示中默认的主机名看出,我用来演示的设备是一台路由器,但是我并没有刻意指明这台设备是一台路由器还是一台交换机,因为上述命令在这两类设备上的配置,是几乎没有区别的。
在本章的最后,我需要专门用一小段文字,介绍一下路由器串行接口(Serial Interface)的配置方式,因为它确实和配置以太网口有一定的差别。
路由器串行接口的配置
路由器的串行接口在配置时与普通的以太网接口(如e0/0或f0/0)存在一点小小的差异。因为通过一条线缆相连的两个串行接口并不是完全平等的,它们分为一个 DTE 接口和一个 DCE 接口。
DCE 的全称叫做数据通信设备,而 DTE 则叫做数据终端设备。从名字上就能听出来,DCE似乎更像是通信的主导方,DTE则有点像通信的接收方;DCE更像是标准的制定方,DTE则更像是标准的采纳方,而事实也是如此。在两个串行接口进行通信时,通信实现的前提是这两个接口必须采用相同的时钟频率进行通信。因此,这就要求其中一个接口在通信的过程中扮演庄家的角色,它负责告诉对面的接口,两边使用什么样的时钟频率进行通信。这个庄家接口就是DCE接口。
路由器的接口本身并不会天然决定这个接口是一个DCE接口还是一个DTE接口,它是DCE还是DTE取决于连接它的那根串行线缆。对于管理员来说,这个接口是 DTE 还是 DCE 可以通过命令“show controller接口编号”进行查看。如果我们看到这是一台DCE设备,并且希望它和对端进行通信,在这个接口的接口配置模式下就必须要额外添加一条命令,用来向对端的接口通告通信的时钟频率。此时,我们需要在接口配置模式下输入命令clock rate 64000。
在上文中,我们介绍了使用命令show interface查看以太网接口状态时,各种up/down的组合分别暗示了哪些情况。同样,如果我们使用这条命令查看串行接口的状态,也可以得到类似的提示。
Serial 0 is up, line protocol is up:同以太网口的情形。
Serial 0 0/0 is administratively down, line protocol is down:同以太网口的情形。
Serial 0 0/0 is down, line protocol is down:同以太网口的情形,也有可能是 DCE 设备没有提供时钟频率 信息。
Serial 0 0/0 is up, line protocol is down:同以太网口的情形,也有可能是两端的IP地址不匹配。
Serial 0 is down, line protocol is down(disable):同以太网口的情形。