自由路由软件Zebra基本配置完全攻略.docx
- 文档编号:3837306
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:27
- 大小:26.98KB
自由路由软件Zebra基本配置完全攻略.docx
《自由路由软件Zebra基本配置完全攻略.docx》由会员分享,可在线阅读,更多相关《自由路由软件Zebra基本配置完全攻略.docx(27页珍藏版)》请在冰豆网上搜索。
自由路由软件Zebra基本配置完全攻略
自由路由软件Zebra基本配置完全攻略
前言
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目前最新的版本是0.92a,它的安装非常简单,我们只需从http:
//www.zebra.org/下载zebra-0.92a.tar.gz,然后执行以下命令安装(本文环境是RedHat7.2):
shell>tarxzfzebra-0.92a.tar.gz
shell>cdzebra-0.92a
shell>./configure
shell>make
shell>makeinstall
这样Zebra就安装好了,安装的执行文件:
shell>ls/usr/local/sbin
bgpd ospfd ripd zebra
配置文件:
shell>ls/usr/local/etc
bgpd.conf.sample ospfd.conf.sample zebra.conf.sample
bgpd.conf.sample2 ripd.conf.sample
运行
编译安装完Zebra后,可以看到有4个可执行文件和5个配置样本文件,我们就使用它的配置样本文件:
shell>cd/usr/local/etc
shell>cpzebra.conf.samplezebra.conf
Zebra的各进程有各自的终端接口或VTY,如果我们需要给连接到它们的端口设置别名的话,在/etc/services文件添加如下内容:
zebrasrv 2600/tcp #zebraservice
zebra 2601/tcp #zebravty
ripd 2602/tcp #RIPdvty
ripngd 2603/tcp #RIPngdvty
ospfd 2604/tcp #OSPFdvty
bgpd 2605/tcp #BGPdvty
ospf6d 2606/tcp #OSPF6dvty
然后就可以启动Zebra了:
shell>zebra-d
这样,Zebra就以守护进程启动了,其它的参数请参考zebra-h。
基本路由配置命令
直接用telnet连接:
shell>telnetlocalhost2601
Trying127.0.0.1...
Connectedtolocalhost.
Escapecharacteris'^]'.
Hello,thisiszebra(version0.92a).
Copyright1996-2001KunihiroIshiguro.
UserAccessVerification
Password:
Zebra会提示输入口令,我们通过/usr/local/etc/zebra.conf可以看到口令是zebra,enable口令也是zebra。
输入口令zebra,得到路由器用户模式提示符:
Router>
进入特权模式:
Router>en
Password:
Router#
输入一个问号,看看Zebra提供了多少路由命令:
Router#?
configure Configurationfromvtyinterface
copy Copyconfiguration
debug Debuggingfunctions(seealso'undebug')
disable Turnoffprivilegedmodecommand
end Endcurrentmodeandchangetoenablemode.
exit Exitcurrentmodeanddowntopreviousmode
help Descriptionoftheinteractivehelpsystem
list Printcommandlist
no Negateacommandorsetitsdefaults
quit Exitcurrentmodeanddowntopreviousmode
show Showrunningsysteminformation
terminal Setterminallineparameters
who Displaywhoisonvty
write Writerunningconfigurationtomemory,network,orterminal
提供的命令很少,实际路由器好多命令都没有,我们只能用有限的命令投入到无限的实验中去。
Router#shrun
Currentconfiguration:
!
hostnameRouter
passwordzebra
enablepasswordzebra
!
interfacelo
!
interfaceeth0
!
linevty
!
end
Zebra把操作系统的网络接口当做路由器的接口,所以在做比较复杂的路由实验,会需要比较多的网卡。
进入全局模式,尽可能把实际可用的配置命令都实验一遍:
Router#conft
Router(config)#
自己取一个路由器名字:
Router(config)#hostnamer1
r1(config)#
Zebra比较简单,登陆口令不是在line下修改,而是直接在全局模式下用password修改r1(config)#password{password}
Zebra不支持enablesecret{password}这种MD5加密口令,只能使用enablepassword{password}来修改enable口令:
r1#conft
r1(config)#enablepassword{password}
在路由器配置中加密所有的口令:
r1(config)#servicepassword-encryption
回到特权模式:
r1(config)#exit
r1#shrun
Currentconfiguration:
!
hostnamer1
password8alA5.vcyMAwXQ
enablepassword8ksbxOFN8xcFMc
servicepassword-encryption
!
interfacelo
!
interfaceeth0
!
linevty
!
end
我们看到刚才的明文密码都进行加密了,给我们的实验机也提高安全性。
Zebra有一点比较恶心,如果我们先设置了servicepassword-encryption,然后再修改口令,shrun就发现口令又都是明文的了,但是由于有servicepassword-encryption,所以就无法登陆了。
去掉会话超时,免得10分钟没有动作,就把我们给踢了。
但是在实际的路由器配置中,为安全起见我们最好还是设上会话超时。
r1#conft
r1(config)#linevty
r1(config-line)#exec-timeout00
设置日志记录,Zebra可以把日志记录到标准输出、syslog、以及指定输出文件:
r1(config-line)#exit
r1(config)#logstdout
r1(config)#nologstdout
r1(config)#logsyslog
r1(config)#nologsyslog
r1(config)#logfile/usr/local/etc/zebra.log
配置接口IP地址:
r1(config)#intlo
r1(config-if)#ipaddress127.0.0.1/8
r1(config-if)#exit
r1(config)#inteth0
r1(config-if)#ipaddress192.168.5.121/24
Zebra比较奇怪,不能使用ipaddress192.168.5.121255.255.255.0这种形式设置IP。
测试一下,就设置成和Linux中使用的一样。
保存我们刚才的配置:
r1(config-if)#exit
r1(config)#exit
r1#copyrunstart
Configurationsavedto/usr/local/etc/zebra.conf
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实验是在两台单网卡的RedHat7.2下做的,所以只是最简单的演示。
按照上面基本配置的方法初始化第一台机器:
shell_1>cd/usr/local/etc
shell_1>cpzebra.conf.samplezebra.conf
shell_1>cpripd.conf.sampleripd.conf
shell_1>zebra-d
进入zebra设置IP
shell_1>telnetlocalhost2601
Password:
Router>en
Password:
Router#conft
Router(config)#hostnamer1
r1(config)#inteth0
r1(config-if)#ipaddress192.168.5.121/24
r1(config-if)#ctrl+z
r1#copyrunstart
进入第一台机器的rip设置
shell_1>ripd-d
shell_1>telnetlocalhost2602
Password:
ripd>en
ripd#conft
ripd(config)#hostnamer1_ripd!
改个名字好辨认
r1_ripd(config)#routerrip!
启动rip
r1_ripd(config-router)#network192.168.5.0/24!
RIPv1是有类别路由协议,RIPv2是无类别路由协议,Zebra默认支持RIPv2,指定网络需要子网掩码。
r1的RIP简单配置这样就可用了,下面来检验一下:
r1_ripd#shipprotocols
RoutingProtocolis"rip"
Sendingupdatesevery30secondswith+/-50%,nextduein3seconds
Timeoutafter180seconds,garbagecollectafter120seconds
Outgoingupdatefilterlistforallinterfaceisnotset
Incomingupdatefilterlistforallinterfaceisnotset
Defaultredistributionmetricis1
Redistributing:
Defaultversioncontrol:
sendversion2,receiveversion2
Interface Send Recv Key-chain
eth0 2 2
RoutingforNetworks:
192.168.5.0/24
RoutingInformationSources:
Gateway BadPacketsBadRoutes DistanceLastUpdate
Distance:
(defaultis120)
我们看到RIP已经起来了,是RIPv2。
r1_ripd#shiprip
Codes:
R-RIP,C-connected,O-OSPF,B-BGP
Network NextHop MetricFrom Time
由于就两个接口直连,没有其它网络,所以shiprip看不到什么。
Zebra对log处理可能有些问题,使用logstdout不能显示各种debug信息,所以只能记录到文件,在shell下用tail命令查看。
r1_ripd#debugripevents
r1_ripd#debugrippacket
r1_ripd(config)#logfile/usr/local/etc/ripd.log
然后我们在shell下查看debug信息
shell_1>tail-f/usr/local/etc/ripd.log
--------------------------------8<---------------------------------------
2002/04/2822:
17:
44RIP:
updatetimerfire!
2002/04/2822:
17:
44RIP:
SENDUPDATEtoeth0ifindex2
2002/04/2822:
17:
44RIP:
multicastannounceoneth0
2002/04/2822:
17:
44RIP:
updateroutesoninterfaceeth0ifindex2
2002/04/2822:
18:
23RIP:
updatetimerfire!
2002/04/2822:
18:
23RIP:
SENDUPDATEtoeth0ifindex2
2002/04/2822:
18:
23RIP:
multicastannounceoneth0
2002/04/2822:
18:
23RIP:
updateroutesoninterfaceeth0ifindex2
2002/04/2822:
19:
04RIP:
updatetimerfire!
2002/04/2822:
19:
04RIP:
SENDUPDATEtoeth0ifindex2
2002/04/2822:
19:
04RIP:
multicastannounceoneth0
2002/04/2822:
19:
04RIP:
updateroutesoninterfaceeth0ifindex2
--------------------------------8<---------------------------------------
RIP每隔30秒发送一次更新,在shipprot可以看到Sendingupdatesevery30secondswith+/-50%
第二台机器的设置
前面的初始化和第一台一样,不过这里名字设成r2便于辨认,IP设成了192.168.5.123/24。
进入第二台机器的rip设置
shell_2>ripd-d
shell_2>telnetlocalhost2602
Password:
ripd>en
ripd#conft
ripd(config)#hostnamer2_ripd
r2_ripd(config)#routerrip
r2_ripd(config-router)#network192.168.5.0/24
执行完network命令,我们看到第一台机器的tail-f/usr/local/etc/ripd.log输出下面的信息:
--------------------------------8<---------------------------------------
2002/04/2822:
19:
15RIP:
RECVpacketfrom192.168.5.123port520oneth0
2002/04/2822:
19:
15RIP:
RECVREQUESTversion2packetsize24
2002/04/2822:
19:
15RIP:
0.0.0.0/0->0.0.0.0family0tag0metric16
2002/04/2822:
19:
15RIP:
updateroutestoneighbor192.168.5.123
2002/04/2822:
19:
35RIP:
updatetimerfire!
2002/04/2822:
19:
35RIP:
SENDUPDATEtoeth0ifindex2
2002/04/2822:
19:
35RIP:
multicastannounceoneth0
2002/04/2822:
19:
35RIP:
updateroutesoninterfaceeth0ifindex2
--------------------------------8<---------------------------------------
r1通过UDP广播接收到192.168.5.123的更新包,并且把192.168.5.123设为neighbor。
保存一下配置
r1_ripd#copyrunstart
Configurationsavedto/usr/local/etc/ripd.conf
r2_ripd#copyrunstart
Configurationsavedto/usr/local/etc/ripd.conf
Zebra还支持很多RIP功能,如果FilteringRIPRoutes,RIProute-map,RIPAuthentication等,有条件有时间的话可以做更复杂的实验。
3、用Zebra做OSPF实验
OSPF(开放最短路径优先)路由协议是一项链路状态型技术,是目前IGP中应用最广、性能最优的一个协议,解决了RIP不能解决的大型、可扩展的网络需求而写的,适用于大规模的网络。
Zebra支持OSPFv2和OSPFv3(用于IPv6的OSPF,CISCO还未对其封装),由于条件所限,下面的OSPF实验同样是在两台单网卡的RedHat7.2下做的。
Zebra使用ospfd程序实现OSPF路由功能,但ospfd需要从zebra程序获得接口信息,所以zebra程序必须在ospfd程序之前运行。
ospfd不支持多个OSPF进程,我们不能指定OSPF进程号。
初始化第一台机器:
shell_1>cd/usr/local/etc
shell_1>cpzebra.conf.samplezebra.conf
shell_1>cpospfd.conf.sampleospfd.conf
shell_1>zebra-d
进入zebra设置IP
shell_1>telnetlocalhost2601
Password:
Router>en
Password:
Route
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自由 路由 软件 Zebra 基本 配置 完全 攻略