4.4 路由器配置基础
路由器与其他网络接入设备不一样,不仅在硬件结构上相当复杂,而且集成了相当丰富的软件系统,路由器的主要功能通过软件来实现。路由器的软件配置相对它的硬件来说要复杂得多。
路由器有自己独立的、功能强大的嵌入式操作系统,而且这个操作系统的比较复杂。各种不同品牌的路由器,嵌入的操作系统也不完全相同,所以配置方法也有所区别,本节主要以锐捷系列路由器为例,介绍路由器的管理方式、配置模式和基本配置方法。
4.4.1 路由器的管理方式
路由器提供了5种管理方式,用于对路由器进行配置,硬件连接方法如图4-16所示。
图4-16 路由器的管理方式
⊙ 通过Console端口进行本地管理。
⊙ 通过AUX端口连接Modem进行远程管理。
⊙ 通过Telnet程序进行本地或远程管理。
⊙ 预先编辑好配置文件,通过TFTP服务器进行远程管理。
⊙ 通过Ethernet上的SNMP网管工作站进行远程管理。
第一种方式与交换机类似,具体操作参见交换机相关章节的描述。
第二方式是路由器的AUX端口接Modem,通过电话线与远方的终端或运行终端仿真软件的微机相连。
第三种方式是在用户对路由器已经配置好相应接口的IP地址,并可以正常进行网络通信的前提下,通过局域网或者广域网,使用Telnet客户端登录到路由器上,对路由器进行本地或者远程的配置。如果建立本地Telnet配置环境,则只需将计算机上的网卡接口通过局域网与路由器的以太网口连接;如果建立远程Telnet配置环境,则将计算机通过Internet和路由器的广域网口连接。
4.4.2 路由器配置命令简介
路由器的配置和管理可以通过多种方式实现,可以使用命令行方式或菜单方式,也可以使用Web浏览器方式或专门的网管软件来实现。本节介绍命令行方式的基本概念。
1.命令模式
在进行路由器配置时,经常可见到多种不同的命令提示状态,其实这些不同的命令状态对应不同的命令模式,也代表当前所处的不同配置位置,不同位置也代表着不同的配置权限和能够使用的配置命令。正确理解这些不同的命令状态,对正确配置路由器非常重要。
(1)用户模式
当用户访问路由器时,自动进入用户模式。在该模式下,用户只具有最低层的权限,可以查看路由器的当前连接状态和信息,但不能看到和处理路由器的设置内容。用户模式的提示符为设备的名称后紧跟“>”,如“Red-Giant>”。
(2)特权模式
用户在特权模式下不但可以执行所有的用户命令,还可以看到和处理路由器的设置内容。在用户模式下使用“enable”命令可进入特权模式。特权模式的提示符为设备的名称后紧跟“#”,如“Red-Giant #”。例如:
Red-Giant>enable Red-Giant#
要返回到用户模式,可输入“disable”命令。
(3)全局配置模式
在全局模式下,用户可以对路由器的运行产生影响的全局性参数进行配置,如对路由器的名称、密码进行设置等。在特权模式下,使用“configure terminal”命令进入全局配置模式。全局模式的提示符为设备的名称后紧跟“(config)#”。例如:
Red-Giant#configure terminal Red-Giant(config)#
要返回到特权模式,可输入“end”或“exit”命令。
(4)路由配置模式
在路由配置模式下,用户可以对要启用的路由协议进行具体的配置。在全局配置模式下,使用“router protocol”命令进入路由配置模式。路由配置模式的提示符为设备的名称后紧跟“(config-router)#”。例如:
Red-Giant(config)#router RlP Red-Giant(config-router)#
输入“exit”命令,可返回到全局配置模式,输入“end”命令,可返回到特权模式。
(5)接口配置模式
在接口配置模式下,用户可以对路由器的某个接口进行配置,如设置IP地址、启用及禁用接口等。在全局模式下,根据要配置的接口,使用“interface [type] [module/port]”命令进入该接口配置模式。接口配置模式的提示符为设备的名称后紧跟“(config-if)#”。例如:
Red-Giant(config)#interface ethernet 0/0 Red-Giant(config-if)#
参数:type表示端口的类型,可以是ethernet(10Mbps以太网)、fastethernet(100Mbps或10/100Mbps快速以太网)、gigabitethernet(1000Mbps、100/1000Mbps或10/100/1000Mbps千兆位以太网)、Serial(串口)、loopback(回路端口);module/port指定接口的模块号和端口号。
输入“exit”命令,可返回到全局配置模式,输入“end”命令,可返回到特权模式。
(6)子接口配置模式
在子接口配置模式下,用户可以对路由器的某个子接口进行配置,如设置IP地址、启用及禁用接口等。在全局模式下,根据要配置的子接口,使用“interface”命令进入该模式。子接口配置模式的提示符为“Red-Giant (config-subif)#”,其中,Red-Giant为路由器的名称。
输入“exit”命令,可返回到全局配置模式,输入“end”命令,可返回到特权模式。
(7)线路配置模式
在线路配置模式下,用户可以对路由器的控制台访问及远程登录访问等进行配置。在全局模式下,根据要配置的线路类型,使用“line”命令进入线路配置模式。线路配置模式的提示符为设备的名称后紧跟“(config-line)#”。例如:
Red-Giant(config)#line console 0 配置控制台线路,0是控制台线路的编号 Red-Giant(config-line)# Red-Giant(config)#line vty 0 4 配置远程登录线路,0~4是远程登录线路的编号 Red-Giant(config-line)#
输入“exit”命令,可返回到全局配置模式,输入“end”命令,可返回到特权模式。
表4.1汇总了锐捷路由器各种命令模式的进入与离开方法、提示符及其可执行的操作。这里假定路由器的名字默认为“Red-Giant”。如果想执行某个命令,必须先进入相应的配置模式,否则可能出现错误的结果。这在路由器的配置中很重要。对于不同类型的路由器,所具有的功能不同,其命令模式还有拨号对等体配置模式、语音服务配置模式、语音端口配置模式、安全转换配置模式、IKE策略配置模式、安全策略配置模式和ROM监控模式等。
2.命令行编辑快捷键
RGNOS提供了强大的命令行编辑功能,使用快捷键,可以方便地编辑命令行。
⊙ Ctrl+B或←键:向左移动光标,最多可以移动到系统提示符。
⊙ Ctrl+F或→键:向右移动光标,最多可以移动到行末。
⊙ Esc+B:向左回退一个词,直到系统提示符。
⊙ Esc+F:向右前进一个词,最多到行末。
⊙ Ctrl+A:光标直接移动到命令行的最左端。
⊙ Ctrl+E:光标直接移动到命令行的末端。
⊙ Delete或Backspace键:删除光标左边的一个字符,最多到系统提示符。
⊙ Ctrl+D:删除光标所在的一个字符。
⊙ Ctrl+K:删除光标以右的所有命令行字符。
⊙ Ctrl+U或Ctrl+X:删除光标以左的所有命令行字符。
⊙ Ctrl+W:向左删除一个词。
⊙ Esc+D:向右删除一个词。
表4.1 锐捷路由器命令模式列表
3.命令行自动补齐功能
如果忘记了一个完整的命令,或者希望减少输入的字符的数量,可以采用RGNOS提供的命令行自动补齐功能,只需输入少量的字符,然后按Tab键,或按Ctrl+I键,由RGNOS自动补齐成为完整的命令。当然,必要条件是输入的少量字符,已经可以确定一个唯一的命令了。例如:
Red-Giant#abbreviated-command<Tab> 自动补齐以指定字符开始的命令
4.获得帮助
RGNOS提供了丰富的在线帮助功能,只需输入一个“?”,就可以得到详细的帮助信息,为了得到有效的命令模式、指令名称、关键字、指令参数等方面的帮助,可以使用如下方法:
Red-Giant#help 显示简短的系统帮助描述信息 Red-Giant#? 列出当前命令模式下的所有的命令
对于一些命令,用户可能知道这个命令是以某些字符开头的,但是完整的命令又不知道,这时可以用RGNOS提供的模糊帮助功能,只需输入开头的少量的字符,同时紧挨着这些字符再输入“?”,RGNOS便会列出以这些字符开头的所有的指令了。例如:
Red-Giant#c? clear clock configure connect copy 显示以“c“开头的所有命令
对于某些命令,不知道后面可以跟哪些参数或后续命令选项,RGNOS也提供了强大的帮助功能,只需输入对应的命令,同时输入一个空格后,再输入“?”,RGNOS便显示该命令的所有参数或后续命令选项,并且列出参数类型、各参数的取值范围以及对各个后续命令选项给予简短的说明。例如:
Red-Giant#command? 列出这个命令开头的所有的参数或后续命令选项
5.命令行错误提示信息
RGNOS对于用户输入的命令和参数进行严格的检查判断,对于错误的命令或不合法的参数会做出相应的错误提示,方便用户找出问题,常见的错误提示如表4.2所示。
表4.2 常见的命令行错误提示信息
4.4.3 路由器基本配置
路由器的操作系统是一个功能非常强大的系统,特别是在一些高档的路由器中,它具有相当丰富的操作命令。正确掌握这些命令的格式、功能和使用方法对配置路由器是很关键的一步,因为在实际应用中,一般都是以命令方式对路由器进行配置。下面以锐捷系列路由器为例,介绍路由器的常用配置命令。
1.配置路由器名称
路由器的名称(又称为主机名)用于标识路由器,通常会作为提示符的一部分显示在命令提示符的前面。路由器的默认名称一般是“Router”,锐捷路由器的默认名称为“Red-Giant”。可以用命令重新设置路由器的名称。
(1)给路由器命名
模式:全局配置模式。
命令:hostname name
参数:name是要设置的路由器名称,必须由可打印字符组成,长度不能超过255字符,但显示时最多只显示22字符。
(2)删除配置的路由器名,恢复默认值
模式:全局配置模式。
命令:no hostname
【配置举例】配置路由器的名字为RGNOS。
Red-Giant>enable 进入特权配置模式 Red-Giant#configure terminal 进入全局配置模式 Red-Giant(config)#hostname RGNOS 给路由器取名为:RGNOS teacher(config)#no hostname 恢复到默认值名字
2.设置路由器的日期和系统时钟
(1)设置路由器的日期和系统时钟,但重启路由器后该设置将失效。
模式:特权模式。
命令:clock set hh:mm:ss day month year 或 clock set hh:mm:ss month day year
(2)设置路由器的日期和系统时钟,但重启路由器后该设置仍有效。
模式:特权模式。
命令:calendar set hh:mm:ss day month year
或calendar set hh:mm:ss month day year
(3)依据当前时钟更新路由器实时时钟
模式:特权模式。
命令:clock update-calendar
【配置举例】把路由器的系统时间改成2011-2-25,10:10:54。
Red-Giant>enable 进入特权配置模式 Red-Giant#show clock 显示当前系统时间 clock: 2010-1-20 11:11:34 Red-Giant#clock set 10:10:54 25 february 2011 设置路由器系统时间和日期 Red-Giant#show clock 确认修改系统时间生效 clock: 2011-2-25 10:10:54 Red-Giant#clock update-calendar 将设置的时钟更新到路由器内部
有些路由器由于内部没有电池供电,关机重启后,时钟会自动复位。另外,在配置月份的时候,注意输入为月份英文单词的缩写,各月份的英文单词如下:
(4)查看系统时间
模式:特权模式。
命令:show clock
3.设置访问路由器的口令
控制网络上的终端访问路由器的简单办法,是使用口令保护和划分特权级别。口令可以控制对网络设备的访问,防范非法人员登录到路由器修改设备的配置;命令特权级别可以在用户登录成功后,控制用户可以使用的命令。
对于口令(密码),可以在几个不同位置进行设置,以达到多重保护的目的。默认没有设置任何级别的口令,口令有以下几种形式。
① 控制台口令:从连接在Console端口的控制台(计算机)登录路由器时,需要输入控制台口令。由于控制台是一种本地配置方式,所以不设置这个口令影响也不大。
② 远程登录口令:从网络中的计算机通过Telnet命令登录路由器时,需要输入远程登录口令。远程登录是一种远程配置方式,这个口令应该设置。在锐捷路由器中,若没有设置远程登录口令,则不能用Telnet命令登录。
③ 特权口令:登录路由器后,从用户模式进入特权模式,需要输入特权口令。由于特权模式是进入各种配置模式的必经之路,在这里设置口令可有效防范非法人员对路由器的配置进行修改。在锐捷路由器中,特权模式可设置多个级别,每个级别可设置不同的口令和操作权限,可以根据实际情况让不同人员使用不同的级别。若没有设置特权口令,也不能用Telnet命令登录。
在实际应用中,特权口令和远程登录口令是必须设置的,并且口令不应该太简单,不同位置的口令也不应该相同。
(1)设置控制台口令
模式:控制台线路配置模式。
命令:password password
参数:password是要设置的控制台口令,其最大长度为25字符。
说明:设置的口令中不能有问号和其他不可显示的字符。如果口令中有空格,则空格不能位于最前面,只有中间和末尾的空格可作为口令的一部分。
【配置举例】设置控制台口令为123456。
Red-Giant>enable Red-Giant#configure terminal Red-Giant(config)#line console 0 配置控制台线路,0是控制台线路的编号 Red-Giant(config-line)#login 打开登录认证功能 Red-Giant(config-line)#password 123456 设置控制台口令为:123456 Red-Giant(config-line)#end Red-Giant#
说明:如果没有设置login,即使配置了口令,登录时口令认证会被忽略。
(2)删除配置的控制台口令
模式:控制台线路配置模式。
命令:no password
(3)设置远程登录口令
模式:远程登录线路配置模式。
命令:password password
参数:password是要设置的远程登录口令,其最大长度为25字符。
说明:设置的口令中不能有问号和其他不可显示的字符。如果口令中有空格,则空格不能位于最前面,只有中间和末尾的空格可作为口令的一部分。
【配置举例】为路由器设置远程登录密码为123456。
Red-Giant>enable Red-Giant#configure terminal Red-Giant(config)#line vty 0 4 配置远程登录线路,0~4是远程登录线路的编号 Red-Giant(config-line)#login 打开登录认证功能 Red-Giant(config-line)#password 123456 设置远程登录口令为:123456 Red-Giant(config-line)#end Red-Giant#
说明:远程登录口令是用Telnet登录路由器的必备条件。
(4)删除配置的远程登录口令
模式:远程登录线路配置模式。
命令:no password
(5)设置特权口令
模式:全局配置模式。
命令:enable password [level level] {password | encryption-type encrypted-password}
enable secret [level level] { password | encryption-type encrypted- password}
参数:level表示口令的等级,其范围为0~15。0~14等级为普通用户级别,15等级为特权用户级别。一般情况下不需要定义级别,默认为15,即最高授权级别。
password表示普通形式口令,以明文输入,口令的最大长度为25字符(包括数字字符)。口令中不能有空格(单词的分隔符),不能有问号或其他不可显示字符。
encryption-type表示加密类型,0表示不加密,目前只有5,即锐捷私有的加密算法。如果选择了加密类型,则必须输入加密后的密文形式的口令。
encryption-password表示密文形式口令,密文固定长度为32字符。
功能:创建一个新的特权口令或者修改一个已经存在的用户级别的口令。
【配置举例】设置特权口令为123456,使用安全加密的密文存放。
Red-Giant>enable Red-Giant#configure terminal Red-Giant(config)#enable secret 123456 设置特权口令为:123456
enable password命令配置的口令在配置文件中是用简单加密方式存放的(有些种类的路由器是用明文存放的)。enable secret命令配置的口令在配置文件中是用安全加密方式存放的。这两种口令只需要配置一种,如果两种都配置了,则两个口令不应该相同,且用secret定义的口令优先。
如果使用带level关键字时,则为指定特权级别定义口令。设置了特定级别的口令后,给定的口令只适用于那些需要访问该级别的用户。配置命令privilege level可以指定在不同级别访问的命令。如果在配置password命令中使用level关键字,则自动被转换为secret形式的配置。如果启用了加密口令服务配置命令service password-encryption,则所输入的口令被加密,在查看配置时,只能看到口令的加密形式。例如:
Red-Giant(config)#enable secret level 2 5 %3tj9=G1W47R:>H.51u_;C,tU8U0<D+S
其中,命令中的2表示用户级别为2级,5表示加密类型,“%3tj9=G1W47R:>H.51u_;C,tU8U0<D+S”为加密后的32字符。整个命令表示对用户级别为2的用户设置加密口令。
(6)删除配置的特权口令
模式:全局配置模式。
命令:no enable password [level]
no enable secret [level]
(7)配置线路口令
配置line口令的方法是在全局配置模式下执行以下命令。
模式:全局模式。
命令:line vty line-number[ending-line-number] 配置VTY接口,并进入line配置模式 login 启用密码认证 password{password|encryption-type encrypted-password} 指定line口令
说明:如果没有配置login或者login没有启用,即使配置了line口令,登录时,line层口令认证会被忽略。
(8)启用加密口令服务
由于协议分析软件(如sniffer之类)可以检查报文从而读取口令,且口令不加密会在配置中明文显示导致口令泄露,RGNOS提供了对口令加密服务功能,对口令进行加密显示,防止口令泄露。
模式:全局模式。
命令:service password-encryption 启用加密口令服务
4.配置命令的特权级别
在默认情况下,系统只有两个受口令保护的授权级别:普通用户级别(1级)和特权用户级别(15级),以上所配置的特权口令是15级设置口令。RGNO为每个模式的命令划分了16个授权级别(0~15)。给不同的级别设置口令,就可以通过不同的授权级别使用不同的命令集合。如果将一条命令的权限授予某个级别,则该命令的所有参数和子命令都同时被授予该级别。
如果想要使用多级别的特权模式,需要先用privilege命令为相应级别授权,再用enable secret命令配置该级别的口令。
(1)设置命令的特权级别
模式:全局配置模式。
命令:privilege mode level level command
参数:mode表示命令的模式,configure为全局配置模式,exec为特权命令模式,interface为接口配置模式等。
level表示授权级别,范围为0~15。level 0~14是普通用户级别,level 15是特权用户级别,在各用户级别间切换可以使用enable命令。
command表示要授权的命令。
【配置举例】将configure命令授予级别14并设置级别14为有效级别(通过设置口令)。
Red-Giant(config)#privilege exec level 14 configure 设置级别14 Red-Giant(config)#enable secret level 140123456 设置口令123456
若想让更多的授权级别使用某一条命令,则可以将该命令的使用权授予较低的用户级别;若想让命令的使用范围小一些,则可以将该命令的使用权授予较高的用户级别。
(2)登录或离开某个授权级别
模式:用户模式或特权模式。
命令:enable level 登录到指定的授权级别 disable level 离开指定的授权级别
参数:level为指定的级别,范围为0~15。
(3)显示命令的特权级别
模式:用户模式或特权模式。 命令:show privilege 显示当前特权级别
5.重新启动路由器
重启动路由器命令在执行效果上,与路由器断电关机然后重新上电开机的效果相同,不过重启路由器命令允许远程维护路由器时,重启动路由器,而不要到路由器旁边关开机,方便维护。在实际操作过程中,尽量不要重新启动路由器,否则会造成网络处于短暂的瘫痪状态;另外在重启路由器时,要确保路由器配置文件是否需要保存。
模式:特权模式。
命令:reload
6.网络控制命令
因为路由器有时要进行网络管理,所以也必须具有一些网络进入命令,常用的有关网络控制命令如下:
telnet hostname/ip address 登录远程主机 ping hostname/ip address 侦测网络的连通性 traceroute hostname/ip address 跟踪远程主机的路径信息
7.路由器的配置文件管理
路由器的配置文件是包含了一组命令的集合体,不同的用户通过各自的配置文件来定制路由器,使之满足不同的业务需求,配置文件在文件格式上是一个文本文件,系统启用后,配置文件中的命令解释执行。配置文件有以下特点:配置文件在文件格式上为文本文件,包含了一组命令。命令的组织以命令模式为基本框架,同一命令模式的命令组织在一起,形成一节,节与节之间通常用空行或注释行隔开(以“!”开始的为注释行)。配置文件仅仅保存非默认参数的命令,对于已经是默认值的命令不加以保存。配置文件以“end”为结束符。
以下是一个简单的配置文件的例子:
! Hostname"myrouter" Enable secret 5 $ 1 $ rL8a$/JOR5dq0jptxqOZYb,lpl Enable password star lp subnet-zero no ip domain-lookup lnterface Ethernet0 lp address 192.168.12.1255.255.255.0
路由器有两个配置文件,一个为当前正在使用的配置文件,叫running-config,另一个是初始配置文件,叫startup-config。其中,running-config是保存在DRAM中,如果没有保存,路由器关机后便丢失了;而startup-config是保存在NVRAM中,路由器断电后文件内容也不会丢失,这两套配置文件的内容可以不一样。在系统启动时,对startup-config配置文件逐条命令解释执行,并且在执行的同时把startup-config复制到running-config中;在系统运行期间,可以随时利用系统提供的命令行接口,进入配置模式,对running-config进行修改。running-config和startup-config两套配置文件之间,可以相互复制,也可以通过网络接口,复制到网络上的服务器上,也可以先用计算机将配置文件编辑好,然后通过网络,从服务器上将配置文件复制到路由器上。系统提供了多种方式来方便地管理配置文件。
(1)显示配置文件的内容
模式:特权模式。
命令:show running-config 显示当前配置文件的内容 show startup-config 显示初始配置文件的内容
(2)保存当前配置
该操作也就是将当前配置文件复制到初始配置文件中。
模式:特权模式。
命令:write
或write memory
或copy running-config startup-config
(3)删除初始配置文件
模式:特权模式。
命令:write erase
或erase startup-config
(4)管理配置文件的其他管理方式
在特权模式下,RGNOS还提供了其他一些管理配置文件的方式,如表4.3所示。
表4.3 配置文件的管理方式
8.基本配置方法举例
【例4-2】Telnet管理方式的配置。
如果用户对路由器已经配置好各接口的IP地址,同时可以正常地进行网络通信,则可以通过局域网或者广域网,使用Telnet客户端登录到路由器上,对路由器进行本地或者远程的配置。作为路由器基本配置的一个例子,下面详细介绍具体的配置步骤。
第一步:如图4-17所示,将Telnet客户机接入路由器所在的局域网,建立本地Telnet配置环境。
图4-17 Telnet管理配置环境
第二步:配置路由器的名称和fastethernet 0端口的IP地址。
Red-Giant>enable 进入特权模式 Red-Giant#configure terminal 进入全局配置模式 Red-Giant(config)#hostname RouterA 配置路由器名称为“RouterA” RouterA(config)#interface fastethernet 0 进入路由器接口配置模式 RouterA(config-if)#ip address 192.168.0.138 255.255.255.0 ! 配置路由器管理接口lP地址 RouterA(config-if)#no shutdown 开启路由器fastethernet0接口
第三步:认证路由器接口fastethernet 0的IP地址已经配置和开启。
RouterA#show ip interface fastethernet 0 认证接口fastethernet0的lP地址已经配置和开启 FastEthernet 0 is up,line protocol is up lnternet address is 192. 168. 0. 138/24 Broadcast address is 255.255.255.255 ...... RouterA#show ip interface brief认证接口fastethernet0的lP地址已经配置和开启
第四步:配置路由器远程登录密码。
RouterA(config)#line vty 04 进入路由器线路配置模式 RouterA(config-line)#login 配置远程登录 RouterA(config-line)#password star 设置路由器远程登求密的为star RouterA(config-line)#end
第五步:配置路由器特权用户模式密码。
RouterA(config)#enable secret star 设置路由器特权用户模式密码为“star” 或 RouterA(config)#enable password star
第六步:在Windows的DOS命令提示符下,直接输入“Telnet a.b.c.d”。这里的a.b.c.d为路由器的fastthernet 0端口的IP地址(如果是远程Telnet配置模式,则为路由器的广域网口的IP地址),与路由器建立连接,提示输入登录密码。如果出现错误提示“Password required,but none set”或“% No password set”,则说明没有配置相应的登录密码。
【例4-3】路由器的文件操作。
router#copy running-config startup-config 保存配置 router#copy running-config tftp 保存配置到tftp router#copy startup-config tftp 开机配置存到tftp router#copy tftp flash: 下传文件到flash router#copy tftp startup-config 下载配置文件ROM状态