2.3 实验2:使用历史记录、系统日志及调试工具
本实验主要演示IOS软件的历史记录和编辑功能的使用。
1.实验目的
通过本实验,读者可以把握以下技能
使用CLI历史记录;
使用CLI编辑功能;
治理和使用系统日志;
使用调试工具。
2.设备需求与线缆连接要求
本实验的设备与线缆连接要求和实验1完全相同,请参见实验1的有关图示和说明,在此不再赘述。
3.实验配置及监测结果
以下在与实验1相同的实验环境下,继续本实验。
第1部分:使用历史记录和编辑功能
首先进行使用历史记录和编辑功能的实验,实验过程见监测清单2.2。
监测清单2.2 使用历史记录和编辑功能
Router#show version
Router#show interface e0
Router#show arp
Router#show flash
Router#ping 192.168.1.2
Router#ping 172.16.1.1
Router#show history
show version
show interface e0
show arp
show falsh
ping 192.168.1.2
ping 172.161.1.1
show history
Router#terminal history size ?
Size of history buffer
Router#terminal history size 30
Router#te (按下Tab键)
Router#term (再按下Tab键)
Router#terminal no edi (再按下Tab键)
Router#terminal no editing
Router#termisial no editing ^B^B^B
^
% Invalid input detected at '^' marker.
Router#terminal
(1)show histow命令之前的几行命令是为了测试IOS的历史记录功能而输入的,这些命令的输出结果己被省略。
(2)show hstow命令的结果是显示以前所输入的命令。
(3)可以用命令编辑键(如上、下箭头,Ctrl+p,Ctrl+n)从历史记录中调出相应命令,并用其他编辑键(Ctrl+b,Ctrl+f,Backspace,Ctrl+d等)对它进行编辑并执行。
常用的编辑键如下:
上箭头或Ctrl+p——显示缓冲区中上一条命令;
下箭头或Ctrl+n——显示缓冲区中下一条命令;
左箭头或Ctrl+b——光标左移一个字符;
左箭头或Ctrl+f——光标右移一个字符;
Esc+b——光标左移一个单词;
Esc+f——光标左移一个单词;
Ctrl+a——光标移到当前行的行首;
Ctrl+e——使光标移到当前行的行末;
Backspace——删除光标左边的一个字符;
Ctrl+d——删除光标所在位置的字符;
Ctrl+w——删除光标左边的一个单词;
Esc+d——删除光标右边的一个单词;
Ctrl+F——在新的一行上重复从上一次回车键开始输入的所有字符,最为适合由于系统或Debug消息显示而打断的命令输入。
在实验记录中无法显示这些编辑键是如何发出和工作的,有条件的话,读者可以在实际的路由器上反复熟悉这些命令行编辑键。
(4)历史缓冲区的缺省值为10条,可以通过使用terminal history size命令更改这一数值,实验中我们把它更改为30。
(5)Tab键可以完成当前命令的一个单词的输入,如监测记录中所示,当输入te时,因为以"te"开头的命令有telnet、terMnal和test,所以IOS不能确定我们想要输入的命令,此时路由器只是把"te"在新的命令行上重复一遍。而当键入term后,再按下Tab键,路由器则完整地显示了terminal这一命令,我们可以继续输入它的子命令no editing,以完成整个命令的输入。即terminal no editing。注重此处的"no"在命令行的中间,而不是在行首。在配置模式中的no通常在行首,而特权执行模式下的no的位置则不尽然,请读者专心体会这种差别。同时,在特权执行模式下的此类命令(例如还有前面实验中碰到过的terminal monitor命令等) 只是对当前会话有效,并不是配置文件的一部分,它既不会影响其他会话,更不会随配置文件保存而影响到重新启动之后的路由器。
(6)当发出terminal no editing命令关闭命令行编辑功能之后,我们用Ctrl+p组合键调出刚发出的这条命令,并试图用编辑键Ctrl+b从行末向行首移动光标,结果显示"^B^B^B"把实际的键盘操作显示出来,并没有起到编辑命令的作用,同时在下一行用"^"标志出命令出错的位置。
第2部分:治理和使用系统日志
接下来进行的实验是治理和使用系统日志,实验过程见监测清单2-3
配置清单2-3 治理和使用系统日志
Router#show Sogging
Syslog logging:enabled(0messages dropped,0flushes,0 overruns)
Console logging:level debugging,18 messages logged
Monitor logging:level debugging,0 messages logged
Buffer logging:disabled
Trap logging:level informational,22 message lines logged
Router#config t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#Soggmg buffer
Router(config)#no logging coBSole
Router(config)#^Z
Router#
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#int e0 (此行及以下3行命令是为了测试日志设置结果而输入的)
Router(config-if)#no shut
Router(config-if)#shut
Router(config-if)#Z
Router#
Router#sh logging
Syslog logging: enabled (0 messages dropped, 0 flushes, 0 overruns)
Console logging:disabled
Monitor logging: level debugging, 0 messages logged
Buffer logging:level debugging,4 messages logged
Trap logging: level informational, 26 message lines logged
Log Buffer (4096 bytes):
04:07:57: %SYS-5-CONFIGJ: Configured from console by console
04:08:08: %LINEPROTO-5-UPDOWN: Line protocol on Interface EthemetO, changed state to down
04:08:09: %LINK-5-CHANGED: Interface EthemetO, changed state to administratively down
04:08:11: %SYS-5-CONFIGJ: Configured from console by console
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#no logging trap
Router(config)#no Sogging monitor
Router(config)#exit
Router#
(1)show logging命令显示了系统当前的日志设置和缓冲区里的日志信息,第1个show logging命令显示当前设置为:缓冲区日志(Buffer logging)禁用,其他日志可用。
(2)接下来在全局配置模式下输入了两条命令:logging buffer和no logging console目的是开启缓冲区日志,并关闭控制台的日志信息显示。
(3)在interface模式下发的no shut和shut命令的目的是为了制造一些事件,生成新的系统日志信息。我们可以看到,在控制台上没有任何系统信息产生。
(4)再次使用show logging命令,结果显示了在缓冲区中有4条系统日志信息,分别记录了通过Console端口的配置操作和Ethernet0接口的"Updown"变化信息。
(5)在实验的最后,演示了关闭向SNMP治理软件和Telnet客户端发送系统日志的命令,即no logging trap和no logging monitor,这两个命令实际上并不太常用。
(本节未完,待续.....)