Linux下建立网络路由器( 二 )



我们很轻易就能对此了如指掌,因为可以通过点击屏幕上的?键随时了解某一命令的含义 。假如有过配置Cisco路由器的经验,相信对这一设置过程并不生疏 。
到目前为止,我们只完成了Zebra自身的设置和运行,对各种协议的设置还没有开始,假如你预备好了,就让我们继续吧 。
设置和使用MRLG
MRLG(Multi-Router Looking Glass)是EnterZone公司John Frazier编写的一种网基工具 。它可以用来显示可被Zebra识别的接口和路径 。MRLG实际上只是一个由有限命令组成的Zebra指定命令行处理程序的Web接口 。但是我们在测试过程中,发现它可以快速显示路径 。这一点对于网络协议来说十分重要,因此,在设置协议前要先安装MRLG 。
MRLG需要Net::Telnet Per套件才能与Zebra指定命令行处理程序进行通信 。不幸的是我们在Red Hat 9 中无法找到Net::Telnet Per套件,因此只有在网上下载了 。
由于MRLG是作为一个CGI应用程序来运行的,因此我们还需要安装一个网络服务器软件 。用户可以作用Red Hat 9中集成的HTTPD RPM 。
我们将/usr/share/doc/zebra-0.93b/tools中的mrlg.cgi文件复制到/var/www/cgi-bin中,然后再对mrlg.cgi的第36行进行修改,由$url="http://www.sample.com/mrlg.cgi";改为$url=http://127.0.0.1/cgi-bin/mrlg.cgi 。另外,我们还要对168到174行间的指令块进行修改,修改后的指令块如下:
if ($Form{"router"} eq "router1"){$server = "127.0.0.1";$login_pass = "zebra";$bgpd = "2605";$zebra = "2601";$full_tables=1;
最后,要连接MRLG,还要将浏览器中的地址栏中输入http://127.0.0.1/cgi-bin/mrlg.cgi.,结果如图1所示 。

图1 连接MRLG,输入地址的显示
【Linux下建立网络路由器】
实验室配置
我们的实验室配置包括2台Cisco 3620路由器和一台ThinkPad X20 。ThinkPad X20除了具备内置以太网端口,还装有一个Home-and-Away PCMCIA以太网卡 。两台Cisco 3620路由器之间的通信主要靠串口连接来实现,它们与ThinkPad X20的连接则是靠以太网来实现的,总体架构如图2所示 。

图2 总体架构示意图
利用Zebra设置网络端口
我们利用Zebra软件对网络进行治理首先要靠RIP来实现 。上文提到我们已经在ThinkPad上安装了Zebra 。由于我们需要在ThinkPad上建立另外一个网络接口,为此我们必须首先设置一个虚拟网络设备,如:
# modprobe dummy# ifconfig dummy0
接下来,我们就可以连接进入Zebra程序端口开始设置 。我们与Zebra的对话须按下列顺序进行 。
端口设置顺序:
User Access VerificationPassword: zebraspeedmetal> enablePassword: zebraspeedmetal# configure terminalspeedmetal(config)# interface eth0speedmetal(config-if)# ip address 192.168.2.1/30speedmetal(config-if)# quitspeedmetal(config)# interface eth1speedmetal(config-if)# ip address 192.168.1.1/30speedmetal(config-if)# quitspeedmetal(config)# interface dummy0speedmetal(config-if)# ip address 10.0.2.1/24speedmetal(config-if)# writeConfiguration saved to /etc/zebra/zebra.confspeedmetal(config-if)# endspeedmetal# show runCurrent configuration:!hostname speedmetalpassword zebraenable password zebra!interface lo!interface eth0 ip address 192.168.2.1/30!interface dummy0 ip address 10.0.2.1/24!interface eth1 ip address 192.168.1.1/30!!line vty!end
注重:我们并没有按照常规方法在ThinkPad上设置IP地址,而是通过Zebra来设置它们的 。这些设置保存在/etc/zebra/zebra.conf文件中,因此每当Zebra服务启动时,这些设置便被激活 。
zebra.conf文件的主要内容如下:
/etc/zebra/zebra.conf文件的内容

!! Zebra configuration saved from vty!2003/08/20 00:07:51!hostname speedmetalpassword zebraenable password zebra!interface lo!interface eth0 ip address 192.168.2.1/30!interface dummy0 ip address 10.0.2.1/24!interface eth1 ip address 192.168.1.1/30!!line vty!

推荐阅读