Zebra路由软件详细使用教程.docx
- 文档编号:7878424
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:14
- 大小:175.71KB
Zebra路由软件详细使用教程.docx
《Zebra路由软件详细使用教程.docx》由会员分享,可在线阅读,更多相关《Zebra路由软件详细使用教程.docx(14页珍藏版)》请在冰豆网上搜索。
Zebra路由软件详细使用教程
Zebra路由软件详细使用教程
Zebra路由软件详细使用教程[转贴2008-03-2021:
31:
42]
字号:
大中小
前言
Zebra是一个路由软件包,提供基于TCP/IP路由服务,支持RIPv1,RIPv2,RIPng,OSPFv2,OSPFv3,BGP-4,
和BGP-4+等众多路由协议。
Zebra还支持BGP特性路由反射器(RouteReflector)。
除了传统的IPv4路由协议
,Zebra也支持IPv6路由协议。
如果运行的SNMP守护进程(需要ucd-snmp)支持SMUX协议,Zebra还能支持路由
协议MIBs。
由以上可见,Zebra的确是一个很不错的路由系统,但比起真正的路由器就简直是小儿科,所以网络高手就当
这文章是小孩子过家家吧,而对于象我这样的初学者(特别是没有真实设备或足够设备进行实验)也不失为一
个学习和熟悉路由配置、路由协议的好工具。
我没有实际的配置经验,对路由的技术细节也不是十分清晰,完
全是在扔破砖头。
希望路由高手指正概念错误。
安装
Zebra目前最新的版本是,它的安装非常简单,我们只需从下载zebra-
,然后执行以下命令安装(本文环境是):
shell>tarxzfshell>cdshell>./configureshell>makeshell>makeinstall
这样Zebra就安装好了,安装的执行文件:
shell>ls/usr/local/sbinbgpdospfdripdzebra
配置文件:
shell>ls/usr/local/etc运行
编译安装完Zebra后,可以看到有4个可执行文件和5个配置样本文件,我们就使用它的配置样本文件:
shell>cd/usr/local/etcshell>cp
Zebra的各进程有各自的终端接口或VTY,如果我们需要给连接到它们的端口设置别名的话,在/etc/services
文件添加如下内容:
zebrasrv2600/tcp#zebraservicezebra2601/tcp#zebravtyripd2602/tcp#RIPdvtyripngd2603/tcp#RIPngdvtyospfd2604/tcp#OSPFdvtybgpd2605/tcp#BGPdvtyospf6d2606/tcp#OSPF6dvty
然后就可以启动Zebra了:
shell>zebra-d
这样,Zebra就以守护进程启动了,其它的参数请参考zebra-h。
基本路由配置命令
直接用telnet连接:
shell>telnetlocalhost2601Trying...Connectedtolocalhost.Escapecharacteris'^]'.
Hello,thisiszebra(version.Copyright1996-2001KunihiroIshiguro.
UserAccessVerification
Password:
Zebra会提示输入口令,我们通过/usr/local/etc/可以看到口令是zebra,enable口令也是zebra。
输入口令zebra,得到路由器用户模式提示符:
Router>
进入特权模式:
Router>enPassword:
Router#
输入一个问号,看看Zebra提供了多少路由命令:
Router#configureConfigurationfromvtyinterfacecopyCopyconfigurationdebugDebuggingfunctions(seealso'undebug')disableTurnoffprivilegedmodecommandendEndcurrentmodeandchangetoenablemode.exitExitcurrentmodeanddowntopreviousmodehelpDescriptionoftheinteractivehelpsystemlistPrintcommandlistnoNegateacommandorsetitsdefaultsquitExitcurrentmodeanddowntopreviousmodeshowShowrunningsysteminformationterminalSetterminallineparameterswhoDisplaywhoisonvtywriteWriterunningconfigurationtomemory,network,orterminal
提供的命令很少,实际路由器好多命令都没有,我们只能用有限的命令投入到无限的实验中去。
Router#shrun
Currentconfiguration:
!
hostnameRouterpasswordzebraenablepasswordzebra!
interfacelo!
interfaceeth0!
linevty!
end
Zebra把操作系统的网络接口当做路由器的接口,所以在做比较复杂的路由实验,会需要比较多的网卡。
进入全局模式,尽可能把实际可用的配置命令都实验一遍:
Router#conftRouter(config)#
自己取一个路由器名字:
Router(config)#hostnamer1r1(config)#
Zebra比较简单,登陆口令不是在line下修改,而是直接在全局模式下用password修改
r1(config)#password{password}
Zebra不支持enablesecret{password}这种MD5加密口令,只能使用enablepassword{password}来修改
enable口令:
r1#conftr1(config)#enablepassword{password}
在路由器配置中加密所有的口令:
r1(config)#servicepassword-encryption
回到特权模式:
r1(config)#exitr1#shrun
Currentconfiguration:
!
hostnamer1password8enablepassword8ksbxOFN8xcFMcservicepassword-encryption!
interfacelo!
interfaceeth0!
linevty!
end
我们看到刚才的明文密码都进行加密了,给我们的实验机也提高安全性。
Zebra有一点比较恶心,如果我们先
设置了servicepassword-encryption,然后再修改口令,shrun就发现口令又都是明文的了,但是由于有
servicepassword-encryption,所以就无法登陆了。
去掉会话超时,免得10分钟没有动作,就把我们给踢了。
但是在实际的路由器配置中,为安全起见我们最好还
是设上会话超时。
r1#conftr1(config)#linevtyr1(config-line)#exec-timeout00
设置日志记录,Zebra可以把日志记录到标准输出、syslog、以及指定输出文件:
r1(config-line)#exitr1(config)#logstdoutr1(config)#nologstdoutr1(config)#logsyslogr1(config)#nologsyslogr1(config)#logfile/usr/local/etc/
配置接口IP地址:
r1(config)#intlor1(config-if)#ipaddress/8r1(config-if)#exitr1(config)#inteth0r1(config-if)#ipaddress/24
Zebra比较奇怪,不能使用ipaddress这种形式设置IP。
测试一下,就设置成
和Linux中使用的一样。
保存我们刚才的配置:
r1(config-if)#exitr1(config)#exitr1#copyrunstartConfigurationsavedto/usr/local/etc/r1#
2、用Zebra做简单的RIP实验
RIP是应用较早、使用较普遍的IGP,适用于小型同类网络,是典型的距离向量(distance-vector)协议。
RIP通
过广播UDP报文来交换路由信息,每30秒发送一次路由信息更新。
RIP提供跳跃计数(hopcount)作为尺度来衡量
路由距离,跳跃计数是一个包到达目标所必须经过的路由器的数目。
如果到相同目标有二个不等速或不同带宽
的路由器,但跳跃计数相同,则RIP认为两个路由是等距离的。
RIP最多支持的跳数为15,即在源和目的网间所
要经过的最多路由器的数目为15,跳数16表示不可达。
RIPv2支持验证、密钥管理、路由汇总、无类域间路由
(CIDR)和变长子网掩码(VLSMs)。
Zebra支持RIPv2,使用ripd程序实现RIP路由功能,但ripd程序需要在zebra程序读取接口信息,所以zebra一
定要在ripd之前启动。
由于条件所限,下面的RIP实验是在两台单网卡的下做的,所以只是最简单的
演示。
按照上面基本配置的方法初始化第一台机器:
shell_1>cd/usr/local/etcshell_1>cpshell_1>cpshell_1>zebra-d
进入zebra设置IP
shell_1>telnetlocalhost2601Password:
Router>enPassword:
Router#conftRouter(config)#hostnamer1r1(config)#inteth0r1(config-if)#ipaddress/24r1(config-if)#ctrl+zr1#copyrunstart
进入第一台机器的rip设置
shell_1>ripd-dshell_1>telnetlocalhost2602Password:
ripd>enripd#conftripd(config)#hostnamer1_ripd!
改个名字好辨认r1_ripd(config)#routerrip!
启动ripr1_ripd(config-router)#network/24!
RIPv1是有类别路由协议,RIPv2是无类别路由协议,
Zebra默认支持RIPv2,指定网络需要子网掩码。
r1的RIP简单配置这样就可用了,下面来检验一下:
r1_ripd#shipprotocolsRoutingProtocolis"rip"Sendingupdatesevery30secondswith+/-50%,nextduein3secondsTimeoutafter180seconds,garbagecollectafter120secondsOutgoingupdatefilterlistforallinterfaceisnotsetIncomingupdatefilterlistforallinterfaceisnotsetDefaultredistributionmetricis1Redistributing:
Defaultversioncontrol:
sendversion2,receiveversion2InterfaceSendRecvKey-chaineth022RoutingforNetworks:
/24RoutingInformationSources:
GatewayBadPacketsBadRoutesDistanceLastUpdateDistance:
(defaultis120)
我们看到RIP已经起来了,是RIPv2。
r1_ripd#shipripCodes:
R-RIP,C-connected,O-OSPF,B-BGP
NetworkNextHopMetricFromTime
由于就两个接口直连,没有其它网络,所以shiprip看不到什么。
Zebra对log处理可能有些问题,使用logstdout不能显示各种debug信息,所以只能记录到文件,在shell下用
tail命令查看。
r1_ripd#debugripeventsr1_ripd#debugrippacketr1_ripd(config)#logfile/usr/local/etc/
然后我们在shell下查看debug信息
shell_1>tail-f/usr/local/etc/--------------------------------8<---------------------------------------2002/04/2822:
17:
44RIP:
updatetimerfire!
2002/04/2822:
17:
44RIP:
SENDUPDATEtoeth0ifindex22002/04/2822:
17:
44RIP:
multicastannounceoneth02002/04/2822:
17:
44RIP:
updateroutesoninterfaceeth0ifindex22002/04/2822:
18:
23RIP:
updatetimerfire!
2002/04/2822:
18:
23RIP:
SENDUPDATEtoeth0ifindex22002/04/2822:
18:
23RIP:
multicastannounceoneth02002/04/2822:
18:
23RIP:
updateroutesoninterfaceeth0ifindex22002/04/2822:
19:
04RIP:
updatetimerfire!
2002/04/2822:
19:
04RIP:
SENDUPDATEtoeth0ifindex22002/04/2822:
19:
04RIP:
multicastannounceoneth02002/04/2822:
19:
04RIP:
updateroutesoninterfaceeth0ifindex2--------------------------------8<---------------------------------------
RIP每隔30秒发送一次更新,在shipprot可以看到Sendingupdatesevery30secondswith+/-50%
第二台机器的设置
前面的初始化和第一台一样,不过这里名字设成r2便于辨认,IP设成了/24。
进入第二台机器的rip设置
shell_2>ripd-dshell_2>telnetlocalhost2602Password:
ripd>enripd#conftripd(config)#hostnamer2_ripdr2_ripd(config)#routerripr2_ripd(config-router)#network/24
执行完network命令,我们看到第一台机器的tail-f/usr/local/etc/输出下面的信息:
--------------------------------8<---------------------------------------2002/04/2822:
19:
15RIP:
RECVpacketfromport520oneth02002/04/2822:
19:
15RIP:
RECVREQUESTversion2packetsize242002/04/2822:
19:
15RIP:
/0->family0tag0metric162002/04/2822:
19:
15RIP:
updateroutestoneighbor2002/04/2822:
19:
35RIP:
updatetimerfire!
2002/04/2822:
19:
35RIP:
SENDUPDATEtoeth0ifindex22002/04/2822:
19:
35RIP:
multicastannounceoneth02002/04/2822:
19:
35RIP:
updateroutesoninterfaceeth0ifindex2--------------------------------8<---------------------------------------
r1通过UDP广播接收到的更新包,并且把设为neighbor。
保存一下配置
r1_ripd#copyrunstartConfigurationsavedto/usr/local/etc/r2_ripd#copyrunstartConfigurationsavedto/usr/local/etc/
Zebra还支持很多RIP功能,如果FilteringRIPRoutes,RIProute-map,RIPAuthentication等,有条件有时
间的话可以做更复杂的实验。
3、用Zebra做OSPF实验
OSPF(开放最短路径优先)路由协议是一项链路状态型技术,是目前IGP中应用最广、性能最优的一个协议,
解决了RIP不能解决的大型、可扩展的网络需求而写的,适用于大规模的网络。
Zebra支持OSPFv2和OSPFv3(用于IPv6的OSPF,CISCO还未对其封装),由于条件所限,下面的OSPF实验同样是
在两台单网卡的下做的。
Zebra使用ospfd程序实现OSPF路由功能,但ospfd需要从zebra程序获得接口信息,所以zebra程序必须在ospfd
程序之前运行。
ospfd不支持多个OSPF进程,我们不能指定OSPF进程号。
初始化第一台机器:
shell_1>cd/usr/local/etcshell_1>cpshell_1>cpshell_1>zebra-d
进入zebra设置IP
shell_1>telnetlocalhost2601Password:
Router>enPassword:
Router#conftRouter(config)#hostnamer1r1(config)#inteth0r1(config-if)#ipaddress/24r1(config-if)#ctrl+zr1#copyrunstart
进入第一台机器的ospf设置
shell_1>ospfd-dshell_1>telnetlocalhost2604Password:
ospfd>enospfd#conftospfd(config)#hostnamer1_ospfd!
改个名字好辨认r1_ospfd(config)#routerospf!
启动ospfr1_ospfd(config-router)#ospfrouter-id!
设置router-idr1_ospfd(config-router)#network/24area0!
最关键的,来标识路由器上哪些IP网络号是OSPF的一部分,对于每个网络,我们必须标识该网络所属的区域
。
由于我们只有两台机器,当然只有一个网络,所以只需执行一个network命令就够了。
对于我们的小网络,ospf就算配好了,下面来检验一下:
r1_ospfd(config-router)#ctrl+zr1_ospfd#shipospfroute============OSPFnetworkroutingtable============N/24[10]area:
directlyattachedtoeth0
============OSPFrouterroutingtable=============
============OSPFexternalroutingtable===========
r1_ospfd#shipospfdatabase
OSPFRouterwithID()
RouterLinkStates(Area)
LinkIDADVRouterAgeSeq#CkSumLinkcount1260x0x85841
r1_ospfd#shipospfinteth0eth0isup,lineprotocolisup
InternetAddress/24,AreaRouterID,NetworkTypeBROADCAST,Cost:
10TransmitDelayis1sec,StateDR,Priority1DesignatedRouter(ID),InterfaceAddressNobackupdesignatedrouteronthisnetworkTimerintarvalsconfigured,Hello10,Dead40,Wait40,Retransmit5Helloduein00:
00:
07NeighborCountis0,Adjacentneighborcountis0
由于网络里没有其它的路由器,r1就把自己选为DR(指定路由器)了。
Zebra对log处理可能有些问题,使用
logstdout不能显示各种debug信息,所以只能记录到文件,在shell下用tail命令查看。
而且debug命令和实
际路由器也有不同。
r1_ospfd#debugospfeventr1_ospfd(config)#logfile/usr/local/etc/
然后我们在shell下查看debug信息
shell_1>tail-f/usr/local/etc/--------------------------------8<---------------------------------------2002/04/2814:
24:
27OSPF:
make_hello:
options:
2,int:
eth0:
2002/04/2814:
24:
37OSPF:
make_hello:
options:
2,int:
eth0:
2002/04/2814:
24:
47OSPF:
make_hello:
options:
2,in
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Zebra 路由 软件 详细 使用 教程