本文覆盖了使用命令行界面的基本的Cisco路由器IP地址配置
感谢
以下的资源非常有用:
Leinwand、Pinsky和Culpepper。Cisco路由器的配置。印第安纳州印第安纳波利斯:Cisco公司出版,1998。
Cisco系统公司,http://www.cisco.com
感谢Newman给我上了配置Cisco路由器的第一节课。
本文的信息原先搜集于,或者说得自于James Hart先生所完成的计划。他在Albuquerque,NM(美国新墨西哥州)的技术/职业学院教师。非常感谢他答应我参加该计划的工作。
弃权书
本文的传播无须明确或含蓄的授权,对本文包含的信息的正确性亦不作任何担保。本文仅提供给需要帮助的人使用,但使用者必须自己承担风险。假如使用者由于使用本文而造成的任何损失作者和TVI(技术/职业学院)概不负责。
约定
在介绍重要的术语和概念时,或许以粗体显示。正文所包含的命令以常体显示,用于实例的所有名称或地址亦是这样,同时不应该用到你的实际网络中。配置你的系统时不要一字不差地输入名称或地址。最后,在某些例子中,在命令要求IP地址作为参数的地方,IP地址可能以xx.xx.xx.xx或aa.bb.cc.dd这种方式来表示。实际上,配置你的系统时永远不会用到这些字符串。本文的约定指出你应该把指明的地方替换成适当的IP地址。
-----------------------------------------------------------------
1. 本文档覆盖的东西
有好几种方法可用来配置Cisco路由器。配置可以由TFTP服务器通过网络来完成;可以通过启动时提供的菜单界面来完成;并且可以由运行setup命令所提供的菜单界面来完成;还可以由保存到内存中的配置来完成。本教程不会覆盖这几种方法,它仅覆盖由IOS命令行界面来进行的配置。
注重:本教程不覆盖路由器与它要路由的网络在物理上的连接,它仅覆盖操作系统配置。
1.1 使用命令行的原因
使用命令行界面而不使用菜单驱动界面的原因有两个:
一个是速度。一旦你已花费时间去了解命令行命令,就可以比通过使用菜单更加迅速地完成许多操作。基本上,相对于菜单的所有命令行来说,这点是真的。对于了解Cisco IOS的命令行界面来说它是非凡有效的东西,而Cisco IOS是跨越一切Cisco路由器的标准。
其次,可以配置单个接口而不必中断其它接口上的服务。根据定义,路由器有多个接口。例如,在 Cisco 7200系列路由器中,路由器有多个端口,每个端口有几个可热插拔模块。这些模块能够经由命令行来单独配置是一种颇有价值的技术。
1.2 文档结构
本文的第一部分将介绍IOS的命令模式和Cisco路由器基本配置所必需的命令。文档的第二部分将在个案研究里示范这些命令的用法。个案研究是由本文作者完成的实际配置。
2. 预备开始
初时,你或许会通过终端来配置你的路由器。假如路由器已经配置过,而且至少一个端口已经用IP地址配置好,同时它与网络有物理连接的话,你也许能够telnet到路由器,通过网络来配置它。假如路由器未曾做过配置,那么你将不得不用终端和一条串口电缆直接和它连接。对于任何一台Windows主机来说,你都可以用超级终端(Hyperterminal)轻易地连接路由器。把串口电缆插入PC机上的串口(COM),另一端插入Cisco路由器上的控制台端口。启动超级终端,告诉它所用的COM口并点击OK。把连接速率设置为 9600 波特,点击 OK。假如路由器未开机,启动它。
假如你想由Linux主机来配置路由器,要运行Seyon或Minicom。至少它们中的一个,也许两个都在你的Linux分发套件中。
通常,你需要敲Enter(回车)键来观看路由器所作的提示。假如路由器未做过配置,它看起来象这样:
Router>
假如路由器预先用hostname(主机名)配置过,它看起来象这样:
hostname of router>
假如你刚刚开启路由器,引导之后它会向你发问,假如你想开始初始配置,回答no 。假如你回答yes,它会把你带入菜单界面。所以回答 no。
2.1模式(Modes)
Cisco IOS命令行界面是围绕模式(Modes)这个概念来进行组织的。在配置路由器的时候,你要在几个不同的模式之间进进出出,而所处模式决定所用的命令。每个模式都有一整套可用于该模式的命令,并且其中的某些命令只能用于该模式。在任何模式中,输入问号将显示用于该模式的命令列表。
Router>?
2.2 非特权与特权模式
当你第一次连接路由器并提供口令(假如必要的话)时,进入EXEC模式。在第一个模式里,你可以由命令行来运行命令。在这里,你可以使用如ping、telnet和rlogin这样的非特权命令。你也可以使用一组show命令来获取有关的系统信息。在非特权模式里,你可以使用如show version这样的命令来显示路由器正在运行的IOS的版本号。输入show ? 将会显示所有用于当前模式的show命令。
Router>show ?
你要配置路由器就必须进入特权模式。你可以通过使用enable命令来做到这点。特权模式通常是口令保护,除非路由器未配置好。你有无口令保护特权模式的选择,但极力推荐你选择有口令保护的特权模式。在你运行命令enable并提供口令之后,你就会进入特权模式。
为了帮助用户看清所处的模式,每次进入不同的模式,命令行的提示都会发生改变。当你从非特权模式切换到特权模式时,提示由:
Router>
变成
Router#
这也许并不是最好的处理方式,假如只有两种模式的话。事实上,有数目众多的模式,这样的特点或许是绝对必要的。任何时候都要密切注重提示。
特权模式里有许多子模式。 在本文中,我不会紧跟该模式层次的Cisco术语。坦白的说,我认为我的解释更加清楚。Cisco描述了两种模式,非特权模式与特权模式,然后是用在特权模式的命令层次。我的理由非常清楚,要弄明白你是否只考虑特权模式的许多子模式。特权模式,我又叫它作父模式。一旦你进入特权模式(父模式),提示就以井号(#)作为结束。只有在进入特权模式之后,你才能进入数目众多的模式。每种模式的提示方式为:
Router(参数)#
所有子模式仍然以#号作结束,它们包含于特权模式之中。大多数模式都有自己的子模式。一旦你进入特权模式,你就有权访问所有的配置信息。而配置信息可选择由IOS提供,或者直接由父模式提供,或者由其中的一个子模式提供。
3. 配置
假如你刚刚开启路由器,它将是完全未配置过的。假如它已经配置过,你也许想查看它当前的配置。即使它先前未曾配置过,在开始配置路由器之前,你自己应该熟悉show命令的用法。通过运行命令enable进入特权模式,然后运行几个show命令来查看它们所显示的信息。记住,命令show ? 将显示所有可用于当前模式的show命令。干脆试验以下命令:
Router#show interfaces
Router#show ip protocols
Router#show ip route
Router#show ip arp
当你通过使用命令enable进入特权模式时,你处在特权模式的顶层模式,也就是本文认为的“父模式”。在该顶层或父模式中,你可以显示很多有关路由器的信息。正如你现在所了解的,你可以用show命令来做到这点。在这里,你可以了解接口的配置和接口是否开或关。你可以显示正在使用的IP协议的信息,如动态路由协议。你可以查看路由和ARP表,而这些正是非常重要的几个选项。
当配置路由器时,你要进入各种子模式来设置选项,然后返回到父模式来显示命令结果。你还要返回到父模式来进入其它的子模式。为了返回父模式,按ctrl-z键。这时,你刚才运行的任何命令都会发生影响,并把你带回到父模式中。
3.1 共用配置(config)
配置路由器的任何特性,必须进入配置模式,这就是父模式的第一个子模式。在父模式中,运行 config命令。
Router#config
Router(config)#
如上所示,提示的改变表明你现在所处的模式。
在配置模式中,你可以设置适用广泛的系统选项,也称作“共用配置”。例如,为了易于识别你的路由器,命名你的路由器是一个好主意。在配置模式中,用hostname命令你可以做到这点。
Router(config)#hostname ExampleName
ExampleName(config)#
如上所示,当你用hostname命令来设置主机名时,提示立即发生改变,用ExampleName替换Router。(注重:用一个组织化的命名方案来命名路由器是一个好主意。)
另一个由配置模式来运行的有用命令是指定路由器所用的DNS服务器的命令:
ExampleName(config)#ip name-server aa.bb.cc.dd
ExampleName(config)#ctrl-Z
ExampleName#
这也是你为特权模式设置口令的地方。
ExampleName(config)#enable secret examplepassWord
ExampleName(config)#ctrl-Z
ExampleName#
直到你按下ctrl-Z键(或输入exit直到你到达父模式),命令尚未产生影响。你可以进入配置模式,运行几个不同的命令,然后按ctrl-Z键激活所有命令。每次你按下ctrl-Z键返回到父模式并提示:
ExampleName#
在这里,你可以用show命令来验证你在config模式里所运行命令的效果。为了验证ip name-server 命令的结果,运行命令show host。
3.2 配置接口
命名Cisco接口是直发的,个别接口由本约定指定:
media type slot#/port#
“介质类型”是指端口为诸如Ethernet、Token Ring、FDDI、串口等接口的介质类型。插槽数只适用于为你提供可以安装模块的插槽的路由器。这些模块包括几个特定介质的端口,7200系列就是一个例子。这些模块甚至是可热插拔的。你可以从插槽中移去一个模块并用一块不同的模块来代替它,而不必中断由安装在路由器里的其它模块所提供的服务。这些插槽在路由器中是被编号的。
端口数涉及到的端口与该模块里的其它端口有关。编号方式是从左到右,所有编号都是从0开始,而不是1。
例如,Cisco 7206是带有6个插槽的7200系列路由器。提到的一个接口是安装在第六插槽的Ethernet模块的第三个端口,它应是以太网6/2接口。因此,为了显示该接口的信息,你可以使用命令:
ExampleName#show interface ethernet 6/2
假如你的路由器没有插槽,如1600,那么接口名的组成只有:
media type port#
例如:
ExampleName#show interface serial 0
这里有一个用一个IP地址来配置一系列端口的例子:
ExampleName#config
ExampleName(config)#interface serial 1/1
ExampleName(config-if)#ip address 192.168.155.2 255.255.255.0
ExampleName(config-if)#no shutdown
ExampleName(config-if)#ctrl-Z
ExampleName#
然后验证配置:
ExampleName#show interface serial 1/1
注重no shutdown命令。一个接口在正确配置及物理连接后,也许仍是“在治理上关掉”。在这种情形下,它不会起作用。引起一个接口在治理上关掉的命令是shutdown。
ExampleName(config)#interface serial 1/1
ExampleName(config-if)#shutdown
ExampleName(config-if)#ctrl-Z
ExampleName#show interface serial 1/1
在Cisco IOS中,相反的情形或者删除任何命令的结果是简单地把no放在该命令的前面。例如,假如我们想取消已经赋给interface serial 1/1 的IP地址:
ExampleName(config)#interface serail 1/1
ExampleName(config-if)#no ip address 192.168.155.2 255.255.255.0
ExampleName(config-if)ctrl-Z
ExampleName#show interface serial 1/1
为LAN(局域网)连接配置的多数接口可能仅有分配网络层地址和确定在治理上没有关掉的接口构成。它通常不需要规定数据链层封装。注重,为WAN(广域网)连接规定适当的数据链层封装通常是必要的,如贞中继和ATM。系列接口缺省使用HDLC。数据链层协议的讨论超出了本文范围。想知道更多的具体资料你需要查找IOS命令封装。
3.3 路由
在Cisco路由器上,IP路由是自动激活的。在你的路由器上,假如IP路由先前一直是关闭的话,你可以用命令ip routing返回到config模式中。
ExampleName(config)#ip routing
ExampleName(config)#ctrl-Z
有两种主要的方式让路由器知道把包发送到什么地方,网管可以指定静态路由(static routes),或者路由器可以通过使用动态路由协议(dynamic routing protocol)来知悉路由。
如今,静态路由通常被用在很简单的网络上,或者在必须使用静态路由的非凡情形下使用。为了创建静态路由,网管告知路由器操作系统,任何流向一个指定的网络层地址的网络通信流量应转发给另一个类似的指定网络层地址。在Cisco IOS中,用ip route命令来做到这点。
ExampleName#config
ExampleName(config)#ip route 172.16.0.0 255.255.255.0 192.168.150.1
ExampleName(config)#ctrl-Z
ExampleName#show ip route
关于本例子讲了两件事。第一,包目标地址必须包含目标网络的子网掩码。第二,被转发的IP地址是下一个路由器沿着这条路径到达目标所指定的地址。这是安装静态路由的多数通用方法,而本文覆盖的只有一种方法。不过,应该知道还有其它方法。
动态路由协议,运行于已连接的路由器,使得那些路由器可以共享路由信息。这使到路由器能够知悉路由并可利用它们。在网络拓扑中,这种方法的好处是路由器能够适应变化。假如路由在物理上已删除,或者邻近的路由器关机,路由协议会搜索新的路由。在基于如网络拥塞或网络可靠性变化的可能路由之间,路由协议甚至能够被动态地选择。
有许多不同的路由协议,它们使用不同的变量,通称为“量度(metrics)”,决定适用的路由。不幸的是,路由器需要运行与相邻路由器一样的协议。不过,许多路由器可运行多重协议。还有,许多协议被设计成能够把路由信息传递给其它的路由协议,这叫做“重新分配(redistribution)”。作者没有尝试过进行重新分配工作的经验。有一个IOS重新分配命令你可以研究,假如你认为这是你需要的东西的话。本文的合作者的个案研究描述了一个在某种情况下处理不同的路由协议的可选方案。
路由协议是一个复杂的主题,本文的内容只是对它们作了肤浅的描述。如要对路由协议作更深入的了解,有很多有关的资源可利用。关于该主题极好的信息资源是Cisco站点http://www.cisco.com。
本文描述了如何配置关于Cisco路由器的路由信息协议(RIP)。通过命令行,我们必须明确告知路由器使用的协议,什么网络协议将要路由。
ExampleName#config
ExampleName(config)#router rip
ExampleName(config-router)#network aa.bb.cc.dd
ExampleName(config-router)#network ee.ff.gg.hh
ExampleName(config-router)#ctrl-Z
ExampleName#show ip protocols
现在,当你运行show ip protocols命令时,你将会看到一个描述RIP配置的入口。
3.4 保存配置
一旦你在路由器上配置好路由和个别接口,你的路由器就应该能够进行路由通信。给片刻的时间让路由器与它相邻的路由器交谈,然后运行命令show ip route和show ip arp。在通过路由协议所获知的这些路由表里,现在应该有了入口。
假如你马上关掉路由器并再次开启,你将不得不重新配置一遍。运行时配置(running configuration)不会保存到任何可存储介质。你可以用命令show running-config来查看该配置。)
ExampleName#show running-config
假如你确实想保存成功的运行时配置,运行命令copy running-config startup-config。
ExampleName#copy running-config startup-config
现在你的配置被保存到非挥发性随机存储器(NVRAM)中。运行命令show startup-config可查看结果。
ExampleName#show startup-config
现在,任何时候你需要把路由器返回到配置模式的话,运行命令copy startup-config running-config。
ExampleName#copy startup-config running-config
3.5 配置实例
1. Router>enable
2. Router#config
3. Router(config)#hostname N115-7206
4. N115-7206(config)#interface serial 1/1
5. N115-7206(config-if)ip address 192.168.155.2 255.255.255.0
6. N115-7206(config-if)no shutdown
7. N115-7206(config-if)ctrl-z
8. N115-7206#show interface serial 1/1
9. N115-7206#config
10. N115-7206(config)#interface ethernet 2/3
11. N115-7206(config-if)#ip address 192.168.150.90 255.255.255.0
12. N115-7206(config-if)#no shutdown
13. N115-7206(config-if)#ctrl-z
14. N115-7206#show interface ethernet 2/3
15. N115-7206#config
16. N115-7206(config)#router rip
17. N115-7206(config-router)#network 192.168.155.0
18. N115-7206(config-router)#network 192.168.150.0
19. N115-7206(config-router)#ctrl-z
20. N115-7206#show ip protocols
21. N115-7206#ping 192.168.150.1
22. N115-7206#config
23. N115-7206(config)#ip name-server 172.16.0.10
24. N115-7206(config)#ctrl-z
25. N115-7206#ping archie.au
26. N115-7206#config
27. N115-7206(config)#enable secret password
28. N115-7206(config)#ctrl-z
29. N115-7206#copy running-config startup-config
30. N115-7206#exit
4. 疑问解答
不可避免将会出现问题。通常,它将会以用户向你通报的形式出现,这些通报根本不可能达到一定的目的,或任何目的。你需要能够查出路由器是如何尝试进行路由通信的,同时你必须能够捕捉到故障点。
你已经熟悉了show命令,两个非凡的命令,并知道了其它的show命令是如何运用的。,你用来解难析疑的最基本、最有用几个命令是:
ExampleName#show interfaces
ExampleName#show ip protocols
ExampleName#show ip route
ExampleName#show ip arp
4.1 测试连接
故障点很有可能不在路由器的配置里,或者根本在路由器上。假如你检查路由器的配置和操作,一切看起来毫无问题的话,问题也许在更远的线路上。实际上,也许是它本身的线路,或者可能是另一台路由器,哪种可能或不可能处于你的管控之下。
一个非常有用而简单的检测工具是ping命令。Ping是一个IP信息控制协议工具(ICMP)。Ping发送一个ICMP,并把请求回送给目标IP地址。假如目标机器收到请求,它用ICMP回应做应答。这是很简单的交换,其组成为:
Hello, are you alive?(喂,你在吗?)
Yes, I am.(我在!)
ExampleName#ping xx.xx.xx.xx
假如ping检测成功,你就知道你存在有难于到达的目标,而该目标在物理上是可到达的。
假如有路由器处在你的路由器和你难于到达的目标之间,问题也许在其它路由器中的一个。即使你ping一个路由器而它有响应,路由器也许有其它的接口是关掉的,它的路由表可能被破坏,或者任何数量的其它问题都可能存在。
为了查看包离开非凡目的的路由器到达什么地方,有多远,用trace命令。
ExampleName#trace xx.xx.xx.xx
该实用程序的结束可能要花几分钟,因此应给它一些时间。它会显示一张在目标的路途上产生的所有路程段的列表。
4.2 调试命令
IOS提供了几个调试命令,这些命令没包含在这里。欲知更多的信息,请浏览Cisco站点。
4.3 硬件和物理连接
不要忽视故障点是硬件或者物理连接故障的可能性。任何事情都可以出错,从主板故障到电缆断裂到电源故障。本文不会描述这些问题的疑难解答,除了这些简单的东西。
查看路由器是否开机,确定电缆是否松动或者损坏,最后确定电缆是否插入正确的端口。建议过于简单,或者你需要检查其它故障源。
4.4 超出你的控制
假如故障点是线路的远端,问题也许系于不在你管控下的设备。你仅有的选择可能是与设备治理员联系,把你的问题向他们通报,向他们寻求帮助。你要注重的是谦虚有礼。其他网管有他们自己的问题、自己的工作量和他们自己的优先权。他们的议程甚至可能直接与你的问题相冲突,如改变动态路由协议的意图等等。你必须与他们一起工作,即使在感到灰心的情形之下。疏远拥有权力的某个人使到重要的路由阻塞,对你的网络来说不是一个好主意。
5. 个案研究(正在构建中)
6. 参考资料
Leinwand、Pinsky和Culpepper。Cisco路由器的配置。印第安纳州印第安纳波利斯:Cisco公司出版,1998。
Cisco系统公司,http://www.cisco.com/
7. 更多的文档
总之,欲知更多有关Cisco产品的信息和大量有关网络的文档,请浏览:http://www.cisco.com/
由本文作者所写的更多文档:http://www.swcp.com/~jgentry
下一篇 CISCO路由器DHCP技术