在Linux上构建专业网络路由器Word文档下载推荐.docx
- 文档编号:20372884
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:20
- 大小:153.85KB
在Linux上构建专业网络路由器Word文档下载推荐.docx
《在Linux上构建专业网络路由器Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《在Linux上构建专业网络路由器Word文档下载推荐.docx(20页珍藏版)》请在冰豆网上搜索。
安装Zebra
我们的Zebra测试平台是一台旧的但是依然很好用的ThinkPadX20,其运行的是RedHatLinux9。
ThinkPad有一个内置的以太网接口,我们又给它加了一块PCMCIA以太网卡,使之可以完成路由器的功能。
在安装Zebra之前,我们确认两块网卡都已经被Linux认出并且正常工作。
在RedHat9中已经附带了Zebra-0.93b的RPM安装包。
这个版本与Zebra网站上提供的版本相同,因此我们决定直接使用它,而不再去从网上下载并自己编译。
ZebraRPM将安装二进制文件、脚本和配置文件,以及必需的手册、例子和文档文件。
Zebra基本配置
zebra守护进程是实际的路由管理者,控制着其他模块;
而且用户主要通过它进行交互。
我们最先需要配置Zebra守护进程,对应的配置文件是/etc/zebra/zebra.conf。
ZebraRPM包中有一个完整的配置文件样例。
不过,就最简化的情形来说,我们实际上只需要创建一个包含以下几行的/etc/zebra/zebra.conf文件:
清单1.一个最简的Zebra配置
hostnamespeedmetal
passwordzebra
enablepasswordzebra
hostname指定了当您进入交互式配置方式时的路由器名。
它可以是任何一个标识,不一定要和机器的主机名相同。
password指定了登录进入交互式Zebra终端时需要的密码。
enablepassword指定了当您想要改变配置时以较高级别身份访问Zebra所需要的密码。
创建了/etc/zebra/zebra.conf文件以后,我们现在可以执行下面的命令来启动zebra守护进程:
#servicezebrastart
现在通过telnet到我们的机器的2601端口就可以进入Zebra交互式会话。
清单2.一个Zebra会话样例
[root@speedmetalzebra]#telnet127.0.0.12601
Trying127.0.0.1...
Connectedto127.0.0.1.
Escapecharacteris'
^]'
.
Hello,thisiszebra(version0.93b).
Copyright1996-2002KunihiroIshiguro.
UserAccessVerification
Password:
zebra
speedmetal>
enable
speedmetal#?
configureConfigurationfromvtyinterface
copyCopyconfiguration
debugDebuggingfunctions(seealso'
undebug'
)
disableTurnoffprivilegedmodecommand
endEndcurrentmodeandchangetoenablemode.
exitExitcurrentmodeanddowntopreviousmode
helpDescriptionoftheinteractivehelpsystem
listPrintcommandlist
noNegateacommandorsetitsdefaults
quitExitcurrentmodeanddowntopreviousmode
showShowrunningsysteminformation
terminalSetterminallineparameters
whoDisplaywhoisonvty
writeWriterunningconfigurationtomemory,network,orterminal
speedmetal#
在交互式终端中操作很简单。
要获得可用命令的提示,您可以在任何时刻按?
键,然后命令的选项就会出现在屏幕上。
如果您正在构建您自己的Zebra路由器,而且您有配置Cisco路由器的经验的话,您会觉得这个配置过程非常熟悉。
到现在为止,还只有Zebra被配置好并且运行起来了,但是还没有任何其他的协议。
接下来将开始配置的实质内容,我们将向您介绍我们的这一过程。
MRLG的配置和使用
Multi-RouterLookingGlass,简称MRLG,由EnterZone的JohnFrazier开发,是一个基于Web的工具,可以用来显示Zebra识别出来的接口和路由。
MRLG其实仅仅是Zebrashell的一个Web界面,只能使用有限的命令集,但是在我们的测试过程中,我们发现使用它是显示路由的一个快速而有效的途径。
所以,在开始配置Zebra协议之前,我们先向您介绍如何安装MRLG。
MRLG需要Net:
:
TelnetPerl软件包的支持才能与Zebrashell通信。
不过,这个软件包没有包含在常规的RedHat9发行版本中,所以我们只好自己去下载它。
由于MRLG是作为一个CGI应用程序来运行,因此我们还需要安装一个Web服务器。
如果您是自己在尝试这些事情,您可以直接使用RedHat9自带的httpdRPM。
我们将/usr/share/doc/zebra-0.93b/tools目录中的mrlg.cgi文件拷贝到/var/www/cgi-gin目录下。
然后,我们修改mrlg.cgi文件的第36行,将
$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.Multi-RouterLookingGlass
基本的实验室配置
我们的实验室配置包括两个Cisco3620路由器和一个ThinkPadX20(有一个内置的以太网接口和一个Home-and-AwayPCMCIA以太网卡)。
两个路由器通过串行线联接起来,并且每个路由器通过以太网连接到ThinkPad。
见我们的连接图:
图2.实验室连接图
使用Zebra配置接口
我们首先从RIP协议开始讲述使用Zebra来管理路由。
如前所述,我们已经在ThinkPad上安装了Zebra。
由于我们在ThinkPad上还需要另一个网络接口,我们安装了一个虚拟的网络设备,如下:
#modprobedummy
#ifconfigdummy0
我们telnet到Zebra端口来开始配置。
我们按照以下顺序与Zebra会话:
清单3.配置IP接口
speedmetal#configureterminal
speedmetal(config)#interfaceeth0
speedmetal(config-if)#ipaddress192.168.2.1/30
speedmetal(config-if)#quit
speedmetal(config)#interfaceeth1
speedmetal(config-if)#ipaddress192.168.1.1/30
speedmetal(config)#interfacedummy0
speedmetal(config-if)#ipaddress10.0.2.1/24
speedmetal(config-if)#write
Configurationsavedto/etc/zebra/zebra.conf
speedmetal(config-if)#end
speedmetal#showrun
Currentconfiguration:
!
interfacelo
interfaceeth0
ipaddress192.168.2.1/30
interfacedummy0
ipaddress10.0.2.1/24
interfaceeth1
ipaddress192.168.1.1/30
linevty
end
要注意的是我们没有用常规的方法设置ThinkPad的IP地址;
而是通过Zebra来设置它们。
这些设置保存在/etc/zebra/zebra.conf配置文件中,因此每次当Zebra服务启动时,这些设置就会生效。
Zebra.conf文件中由Zebra修改的部分如下:
清单4.由Zebra修改过的/etc/zebra/zebra.conf文件
Zebraconfigurationsavedfromvty
2003/08/2000:
07:
51
我们还可以用MRLG来检查接口的状态,方法是:
选择默认值,"
router1"
,选中单选按钮"
showinterface"
,然后点击"
Execute"
。
使用Zebra安装配置RIP路由
我们已经在ThinkPad/router上安装配置了网络接口,接下来我们再对它进行配置,使之可以与RIP更新协同工作。
正如我们已经提到过的,Zebra使用单独的守护进程来实现路由协议,所以我们必须首先为RIP守护进程在/etc/zebra目录下创建一个简单的配置文件ripd.conf。
清单5.一个基本的/etc/zebra/ripd.conf文件
hostnamespeedmetal-rip
然后我们启动ripd守护进程:
#serviceripdstart
完成后,我们可以telnet到我们的Zebra路由器的2602端口来配置RIP守护进程。
清单6.配置RIP
speedmetal-rip>
speedmetal-rip#configureterminal
speedmetal-rip(config)#routerrip
speedmetal-rip(config-router)#network10.0.0.0/8
speedmetal-rip(config-router)#network192.168.0.0/16
speedmetal-rip(config-router)#end
speedmetal-rip#showrun
routerrip
network0.0.0.0/0
network192.168.0.0/16
speedmetal-rip#write
Configurationsavedto/etc/zebra/ripd.conf
speedmetal-rip#
生成的ripd.conf配置文件如下所示:
清单7.生成的/etc/zebra/ripd.conf文件
2003/08/1913:
50:
30
network10.0.0.0/8
在Cisco路由器上安装配置RIP路由
我们将两个Cisco路由器称为"
A"
和"
B"
,为了简化这两个路由器的配置,我们只配置了一些让路由器能正常运行的基本设置,包括设置接口的IP地址、环回地址,以及用于串口通信的串口时钟频率。
清单8.配置路由器A
Router#configterminal
Router(config)#hostnameRouterA
RouterA(config)#ints0/0
RouterA(config-if)#ipaddress192.168.0.1255.255.255.252
RouterA(config-if)#noshut
RouterA(config-if)#interfacefastEthernet0/0
RouterA(config-if)#ipaddress192.168.2.2255.255.255.252
RouterA(config-if)#intloopback0
RouterA(config-if)#ipaddress10.0.0.1255.255.255.0
RouterA(config-if)#end
RouterA#write
类似地,我们配置好路由器"
清单9.配置路由器B
Router#configureterminal
Router(config)#hostnameRouterB
RouterB(config)#ints0/0
RouterB(config-if)#ipaddress192.168.0.2255.255.255.252
RouterB(config-if)#noshut
RouterB(config-if)#intfastEthernet0/0
RouterB(config-if)#ipaddress192.168.1.2255.255.255.252
RouterB(config-if)#intloopback0
RouterB(config-if)#ipaddress10.0.1.1255.255.255.0
RouterB(config-router)#end
RouterB#write
在3620路由器上配置RIP与Zebra中的命令极其类似。
我们通过控制台线缆访问两台3620,执行如下命令:
清单10.在路由器A上完成RIP所需的配置
RouterA#conft
Enterconfigurationcommands,oneperline.EndwithCNTL/Z.
RouterA(config)#routerrip
RouterA(config-router)#network10.0.0.0
RouterA(config-router)#network192.168.0.0
RouterA(config-router)#network192.168.2.0
RouterA(config-router)#version2
RouterA(config-router)#end
然后是路由器B:
清单11.在路由器B上完成RIP所需的配置
RouterB#conft
RouterB(config)#routerrip
RouterB(config-router)#network10.0.1.0
RouterB(config-router)#network192.168.0.0
RouterB(config-router)#network192.168.1.0
RouterB(config-router)#version2
routerrip命令启动配置RIP的过程。
network命令告诉路由器哪些是RIP要传播的网段。
RIP传播路由
现在Cisco路由器和Zebra都已经配置好,我们接下来检验传播的路由。
在MRLG中,我们选择"
showiproute"
然后点击"
生成如下报告:
清单12.Zebra反映的RIP路由
Codes:
K-kernelroute,C-connected,S-static,R-RIP,O-OSPF,
B-BGP,>
-selectedroute,*-FIBroute
R>
*10.0.0.0/24[120/2]via192.168.2.2,eth0,00:
11:
05
*10.0.1.0/24[120/2]via192.168.1.2,eth1,00:
02:
08
C>
*10.0.2.0/24isdirectlyconnected,dummy0
K*127.0.0.0/8isdirectlyconnected,lo
*127.0.0.0/8isdirectlyconnected,lo
*192.168.0.0/30[120/2]via192.168.2.2,eth0,00:
*192.168.1.0/30isdirectlyconnected,eth1
*192.168.2.0/30isdirectlyconnected,eth0
通过RIP得到的路由用一个R来标记。
要注意的是,通过路由器A和路由器B的广播,Zebra现在知道了10.0.0.0/24和10.0.1.0/24两个网段。
测试时,我们从ThinkPadZebra路由器上ping10.0.0.1和10.0.1.1,并从两个路由器上ping10.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 构建 专业 网络 路由器