你是否熟悉路由器全局配置service命令?也许你可能一下子想不起来,但是如果仔细回忆回忆,你就会知道有很多常用命令都是以service开头的。
Service命令包含了24个子命令。其中有一些命令不怎么常用,而另一些则是网络管理员都必须牢记于心的。
当进入路由器全局配置模式时,首先要用到service 命令。以下是这个命令的24 个子命令:
TechRepublic-Router# config t
TechRepublic-Router(config)# service ?
TechRepublic-Router(config)#service ?
alignment              Control alignment correction and logging
compress-config        Compress the nvram configuration file
config                 TFTP load config files
dhcp                Enable DHCP server and relay agent
disable-ip-fast-frag Disable IP particle-based fast fragmentation
exec-callback       Enable exec callback
exec-wait              Delay EXEC startup on noisy lines
finger                 Allow responses to finger requests
hide-telnet-addresses   Hide destination addresses in telnet command
linenumber          enable line number banner for each exec
nagle                Enable Nagle’s congestion control algorithm
old-slip-prompts    Allow old scripts to operate with slip/ppp
pad                    Enable PAD commands
password-encryption Encrypt system passwords
prompt                 Enable mode specific prompt
pt-vty-logging       Log significant VTY-Async events
sequence-numbers    Stamp logger messages with a sequence number
slave-log              Enable log capability of slave IPs
tcp-keepalives-in    Generate keepalives on idle incoming network connections
tcp-keepalives-out     Generate keepalives on idle outgoing network connections
tcp-small-servers    Enable small TCP servers (e.g., ECHO)
telnet-zeroidle        Set TCP window 0 when connection is idle
timestamps          Timestamp debug/log messages
udp-small-servers    Enable small UDP servers (e.g., ECHO)TechRepublic-Router(config)#service

当然,我们不需要记住全部这24个命令。为了帮助你更快掌握service命令,我精选了其中10个最常用到的命令,作为网络管理员,应该记住这几个命令。
1: service dhcp
service dhcp 命令可以用来开启或关闭 Cisco IOS DHCP服务器和代理。Cisco IOS 默认支持这个命令。
如果以上命令无效,你应该查看service dhcp 命令的状态。 (使用no service dhcp 命令禁用DHCP服务)
2: service linenumber
service linenumber 命令可以高速用户所登录的路由器或者交换机是采用的哪条线路。如果你搞不清自己是用哪个VTY线路登录系统的,可以用这个命令查看。在控制台模式下也可以用这个命令。下面是这个命令的例子:
TechRepublic-Router con0 is now available 
Press RETURN to get started.
TechRepublic-Router line 0 
TechRepublic-Router>
3: service password-encryption
这个命令你肯定已经运行过了。虽然在默认状态下service password-encryption 命令是关闭的,但是从安全角度考虑,我建议所有用户都把它打开。
这个命令可以加密 存储在路由器NVRAM 配置文件中的Cisco IOS密码。它可以防止某些用户通过浏览TFTP服务器或者其它途径获取配置文件,进而取得管理密码。
4: service nagle
Nagle是一种用来减少小型数据传输的网络拥塞算法,可以为基于命令输入方式的操作(如Telnet)节省带宽。虽然Cisco IOS 默认是关闭Nagle 的,你可以通过 service nagle 命令来开启这个功能。
5: service prompt config
service prompt config 是用来显示配置提示符的命令。坦白说,我在撰写本文前也没有注意过这个命令。 (IOS 中所有的隐藏命令都让我感到惊奇)
如果你输入了no service prompt config, 那么进入全局配置模式后你就看不到提示符了。虽然你仍然可以输入命令,但是看不到任何提示信息。
以下是一个例子:
TechRepublic-Router(config)# no service prompt config 
^Z
TechRepublic-Router#
TechRepublic-Router# conf t
Enter configuration commands, one per line.   End with CNTL/Z.
service prompt config
TechRepublic-Router(config)#

6: service sequence-numbers
你可以用 service sequence-numbers 命令在日志文件中插入序列号。这在日志文件更新速度非常快的时候比较有用。以下是序列号的一个例子:
000377: *Mar 17 23:06:33.609: %SYS-5-CONFIG_I: Configured from console by console
(000377是序列号)
7: service tcp-keepalives
你可以用 service tcp-keepalives-in 和 service tcp-keepalives-out 命令来监控进入路由器或者从路由器输出的TCP连接。如果路由器或交换机没有收到远程系统的响应,会自动关闭连接。
8: service tcp-small-servers
Cisco IOS 默认是关闭 service tcp-small-servers 的。使用这个命令可以打开以下服务: Echo, Discard, Chargen, 和 Daytime.
出于安全考虑,我并不建议大家打开这个服务。如果你看到哪个路由器开启了这个服务,如果没有特殊用途,最好都关闭。
9: service timestamps
service timestamps 命令可以用来给路由器上的日志文件建立时间戳。 由于 11.3版的Cisco IOS默认就开启了日志时间戳,因此大部分人都会看到这个功能是开启状态。
以下命令可以打开全部日志和错误日志的时间戳:
service timestamps log datetime localtime msec show-timezone year 
service timestamps debugging datetime localtime msec show-timezone year
10: service password-recovery
service password-recovery 可以开启密码恢复功能。如果你在修改config-register的时候丢失了enable-mode模式的密码,可以通过这种方式恢复。

而no service password-recovery 命令很危险,如果你使用了这个命令,一旦丢失了 enable-mode模式的密码就无法恢复了。