对于网络互联工程师们来说,建立一个互联网动态路由是非常重要的。这不仅需要了解路由的概念,而且还必须知道如何付诸实践。就目前而言,网络设备主要由Cisco这样的大公司来提供。大多数独立的路由开发者们常常受到学校或实验室环境的制约,无法充分利用现有的资源。而利用Cisco技术设备打造网络需要大量的成本。为了打破这种局面,我们利用一个小型的实验网络,应用路由信息协议(RIP)和开放式最短路径优先(OSPF)两种技术,展示各自不同的平衡加载方案。
在我们使用的三个路由器中,有一个是利用Linux技术模拟的。最初,我们试图利用传统的路由和选通无交互后台程序来组建测试网络,但很快发现这种方法设置起来十分复杂而且功能有限。最后,我们决定找一个更先进的方法建立测试网络,幸运的是我们找到了Zebra。
什么是Zebra
Zebra是一种TCP/IP路由软件,它支持BGP-4、BGP-4+、OSPFv2、OSPFv3、RIPv1、RIPv2和RIPng。它符合GNU的GPL标准,可以运行在Linux和其它Unix变体系统上。Zebra是最先进的路由软件之一,最新版本可以从GUN Zebra Web站点上下载。
最早的Zebra套件是由Kunihiro Ishiguro和Yoshinari Yoshikawa在1996年开发的。目前,Zebra套件主要由IP Infusion公司负责维护,软件的创始人之一Ishiguro是公司的CTO。
Zebra可以利用模块法对各种协议进行管理,这种设计是独一无二的。它可以根据网络的需要激活或者停止协议。到目前为止,我们发现Zebra最有用的地方在于它与Cisco IOS设置格式十分相近。尽管它与IOS之间存在着一些差异,但是那些熟悉IOS的网络工程师们会很快适应Zebra网络环境的。目前,Zebra 1.0还没有推出,最新的版本是Zebra 0.93b,它对于一个小型网络已经足够了。
Zebra的安装
我们选择了性能稳定的ThinkPad X20作为Zebra的硬件测试平台,Red Hat Linux 9作为其软件测试平台。ThinkPad X20拥有一个内置的以太网接口。为了使其能充当路由器使用,我们为它增加了一个PCMCIA以太网卡。在安装Zebra前,首先要确定所有的网卡都能被Linux系统识别。
Red Hat 9中已经集成了Zebra 0.93b的RPM。当然,你也可以从网上下载Zebra 软件。为了方便起见,我们决定安装 Zebra 0.93b RPM。Zebra RPM的安装过程与其它软件基本相同。安装的项目包括二进制设置命令、小型程序、配置文件以及必需项目菜单、实例和文档等。
Zebra的基本设置
Zebra无后台交互程序是实实在在的路由管理程序。它控制着其它的软件模块,同时还提供与客户交互的主端口。Zebra RPM套件中包括一个完整的参考设置文件。但是,我们只需要建立一个包括以下内容的/etc/zebra/zebra.conf文件就可以对Zebra进行设置了。
最简单的Zebra设置文件:
hostname speedmetal
password zebra
enable password zebra
无论何时,当你进入交互式设置模式时,Hostname指令将指定路由器的名称。该名称可以任意设置,不一定和主机的名称相符。Password指令则确定交互式Zebra终端的登陆密码。
/etc/zebra/zebra.conf建立后,我们可以执行下列指令来启动zebra无后台交互程序:
# service zebra start
现在我们可以通过连接机器的2601端口进入Zebra交互对话模式。
Zebra对话模式实例:
[root@speedmetal zebra]# telnet 127.0.0.1 2601
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
Hello, this is zebra (version 0.93b).
Copyright 1996-2002 Kunihiro Ishiguro.
User Access Verification
Password: zebra
speedmetal enable
Password: zebra
speedmetal# ?
configure
Configuration from vty interface
copy
Copy configuration
debug
Debugging functions (see also 'undebug')
disable
Turn off privileged mode command
end
End current mode and change to enable mode.
exit
Exit current mode and down to previous mode
help
Description of the interactive help system
list
Print command list
no
Negate a command or set its defaults
quit
Exit current mode and down to previous mode
show
Show running system information
terminal
Set terminal line parameters
who
Display who is on vty
write
Write running configuration to memory, network, or terminal
speedmetal#
我们很容易就能对此了如指掌,因为可以通过点击屏幕上的?键随时了解某一命令的含义。如果有过配置Cisco路由器的经验,相信对这一设置过程并不陌生。
到目前为止,我们只完成了Zebra自身的设置和运行,对各种协议的设置还没有开始,如果你准备好了,就让我们继续吧。