Quagga使用及实验说明_第1页
Quagga使用及实验说明_第2页
Quagga使用及实验说明_第3页
Quagga使用及实验说明_第4页
Quagga使用及实验说明_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Quagga使用及实验说明使用平台:Fedora 7修订日期:2010年5月刖言认识 Quagga:Quagga是一个路由软件包,提供基于TCP/IP路由服务,支持 RIPvl, RIPv2, RIPng, OSPFv2, OSPFv3, BGP 等众多路由协议。 Quagga还支持BGP特性路由反射器(Route Reflector)。除了传统的 IPv4路由协议,Quagga也支持IPv6路由协议。如果运行的SNMP 守护进程(需要ucd-snmp)支持SMUX协议,Quagga还能支持路由 协议MIBs。因此,Quagga是一个很不错的路由仿真软件。但是比起真正的 路由器,在功能上还是会

2、有比较大的差距。本说明将从3个方面对该软件做简单介绍:1. Quagga整体介绍,以及虚拟网卡.使用Quagga做简单的RIP实验.使用Quagga做简单的OSPF实验4.使用Quagga做简单的BGP实验想更详细地了解Quagga,可查阅Quagga官方文档: HYPERLINK /docs.php /docs.php一、Quagga整体介绍,以及如何虚拟网卡(一)安装 Quagga在终端下输入命令rpm q quagga,检查本地计算机是否已安装Quagga。若列表为空,表 示软件未安装。2 .安装 QuaggaFedora下安装软件比较方便,可直接使用yum安装。在终端下输入命令:yum

3、 install quagga,可以自动完成安装在以上对话栏输入“y”即可完成安装安装结果检查:|& hasL = rpm -q quaggsq舟淬9机ST .| roo l如I & host .-(二)查看Quagga配置文件进入etc文件夹查看services,即Quagga的配置文件方法一:在etc下使用vi services查看hosL -.二 cd /eLihosL eLc . = vi services查看结果:rrrootfocalhost:/etc_ X文件(E)编辑查看终端标签)帮助(d)hpstgzmgr2600/tcpzebrasrv二 HPSTGWGPhpstgmgr2

4、60/udp=HFSTGWGRdisc p client260 1 /tc pzebrar? disep clientdtscp-cl ienl2601/udp:disep clientdisep-server202/icpri pddisep serverdisep-server2602/udpdisep serverservicenielsr203/tzpri pngdService Mtllrservicenieter2603/udpService Meternscccs2604/tcpospfdNSC CCSnsc-ccs204/ndpNSC CCSn-sc -posa2605/tcp

5、bgpdNSC FOSAnsc-posa2605/udpN SC POS AEnetmon260/tcpospfGdDell Netmonnetmon260/udpDell Netmondiet262-B/tcpRFC 2229diet262=8/udpRFC 2229corbaloc2803/tcpCORB/V naming service locatoricpv2 uid)313fl/tcpInternet Cac heProt-ocolV2(Sq1Lpv2313-0/udpr? Internet Cac heFrot-ocol(Snuid.)nn-sql330/tcpf MySQLktJ

6、3qi330fi/udp=瞄QL方法二:使用 gedit /etc/services 查看recto deal hot胃汕 L /t?tc/&er ice;.r-_ - *1Tl查看结果:分析配置文件Quagga的各进程有各自的终端接口或VTY,在/etc/ services下可以找到如下内容:ITrootfocafhost:/etc-口X文件旧编辑旧1查看。终端标签稽叫(H)hpstgnigrr_ pzebrasrE1PSTGWGRhpstnigr20C/u-JpEJPSTGWGRdiscp-c 1 ienl20 l/tcpzebradi.scp c tenLdiscp-c: ienl260

7、1/udpdisep c:ienldisep-server2502/teprt pddi.scp serverdiscp-serer202,/ndpdi.scp serverservicemeier203/tzprtpngdService MeierservicenicLer203/udpService M.eLerDSC-CCS204/tcpospfdNSC CCSnsc-ccs24/irJpNSC CCSnsc-posa205/tepbgpdNSC POSAnsc-posa205/udpNSC POSA=ne L nian20ti/tcpospfGcltel Xc Lmonne imon2

8、0i/udptel Xc Lmondie L22/tcpRFC 2229die L22-8/nd pRFC 2229corbaloc280/t cpCORBA namiing service 1 oc.Laricpv2 id J3130/tcp1 nUrne I Cat heFrol :)coY2(Sqtepv? id JSI Wudp:1nlurne L Cat heProL :)coV2:任rr.xsql33071口1与|一匚口口,卢3哩1 e rt pngd .conf . sampl s zebraonl. _ .一 _通过ls可以看到quagga下一共有10个文件,文件后带有.sam

9、ple”的是示例文件用 vi zebra.conf.sample 查看 zebra 示例文件:rQotrQalhosti/etc/quaggd文件(D 糖旧 否煎&)缪耍 标瓮(B)莓助01! -*- zebra!叩- zc hra sjinpl e conf i gura t i nn Fi ! Sid: zebra. cotif.janDl e L m- -1,1,1 2002/12/ 3 20:5:3* 眼 u: Ex 口 Shnjslt rusrie Hou ter阳“2日 xebruJnablis passi-ord zebra I ntcrFacc s. decri pL iici

10、n. q!interfec 1-d! description test of dese.! interf ace s-i 10! nultlcat! Sc.-titiL dcfdul L luirL己,旦ripl仁 nnSp route 0.fl.0,0/0 S03.1BI.89.241n说明:1)“ ! ”是注释标识,红圈内是路由器名称、登陆密码和enable密码2)输入“ :q”可回到命令行模式我们可以直接使用zebra的示例文件,将其保存在quagga文件夹中,取名为zebra.conf:raoLt-:)ci hosL quagga . - cp zebra . conf.-samp 1

11、 c zebra . conf cp:是否聂盖 zebra, coni ? y注意:在通常情况下,quagga文件夹里面是有zebra.conf这个文件的,但是里面一般是空白的,同学们感兴趣可以自己先打开一次zebra.conf,再使用cp命令覆盖掉原文件然后就可以启动zebra 了输入命令: service zebra startroaLlocalhosL quagga.= service zebra sLarL 启动 zebra: Xoching Lo Lish.确定这样,zebra就以守护进程启动了,其它的参数请参考zebra -h配置 zebra前面在介绍Quagga的时候已经提到过了

12、,配置zebra其实就是配置路由器,命令格式跟我们用Packet Tracer做路由器实验的时候大同小异。1)进入路由器配置模式:在services中可以看到,zebra的进程号是2601,我们可以直接用telnet连接:oca hcisL quagga nc L :Ka hcuL 25 cn1wo rd :RoliLst- contig Lzebra会提示输入口令,我们在/etc/quagga/zebra.conf中可以看到口令是zebra, enable 口令也 是 zebra2)输入问号,查看zebra提供了多少路由命令:Router# ?caniEL1c CcrntELiraLtan

13、ram Ly i nLrficc copyCopy conCiLiraLtandebuDebLigging Cunc Lians(see al so undebLi)disabl sTurn off pri vt Iccdmade comnLan JechoEcho a message backL:) Lhe LyenJEnd currcnL mode a nJ. change L:) c nabl 2 made .ext LExt L CLirrenL mode and. down L:) previous modehelpDesert pLion Lhe t nLrac Lic he 1

14、p sysLizni1 isLFinL coninisnd 11 sLSc nd a me5sage L:) cnabl cd 1 :)gging nations noXcgaLc a comnisncl or sc L t Ls de iill L squt LExt L CLirrenL mode and. down L:) previous modeshowShow running sy5Lni t nf:)rmat ionLn&1 Sc L Lcrminal 11 nc parame lets whoDisplay ho is on LywrjLs Uri les ninni ng c

15、onf igLEE.L Lon L:3 meniory . nc tw-ork. or Lermi nal提供的命令比实际路由器少了很多,这里也就显示出仿真软件和实际设备的差距了。3)配置接口 IP地址:Router(config)# interface eth0Router(config-if)# ip address /24说明:zebra比较奇怪,不能使用ip address 这种形式设置IP,必 须使用 ip address /24 这种形式4)感兴趣的同学还可以参考以下命令查看或者配置路由器,命令格式与Packet Tracer基本 一致:查看运行配置:Router# show ru

16、nning-config修改路由器名称:Router(config)# hostname R1修改口令:R1(config)# password passwordR1(config)# enable password password说明:zebra比较简单,登陆口令不是在line下修改,而是直接在全局模式下用password修 改的。并且zebra不支持enable secret password这种 MD5加密口令,只能使用enable password password来修改(四)虚拟网卡一般来说,每一台PC都只有一张网卡,我们可以通过命令行来虚拟出另外一张网卡,这样 才方便我们观察数据

17、包的转发过程:root&l cicil hosL i fconfig c thO: 3 1 兆,1 58.3.1、roo 顷k i 1 hosL 卜ULqnfig dh。:。-一 th(i: 0 .ink cncapi Ether nd - H Mattel r : Lfi : 4L : 7E: 3BicSincL sdtlr : 192.168.3 .1 BcasL : 1 2.1 53.3.255 Mask:255 255 255.0UP BROADCAST RUXMMULTICAST MIL:1500 MeLrtci1 InLcrrupt:17 Base address:0 x2000二

18、使用Quagga做简单的RIP实验实验拓扑:ethOethO07/23172.18186.106/23ethO:OethO:O192.16831/24192.16821/24(一)RIP简介rip是应用较早、使用较普遍的路由协议,适用于小型同类网络,是典型的距离矢量 (distance-vector)协议。RIP通过广播UDP报文来交换路由信息,每30秒发送一次路由信息更新。RIP提供跳跃计数(hop count)作为尺度来衡量路由距离,跳跃计数是一个包到达目标所 必须经过的路由器的数目。对于同一个源路由器而言,如果通向目标路由器有两条或两条以 上的路径,只要路径的跳跃计数相同,RIP就会认为

19、这些路径是等效的。RIP最多支持的跳 数为15,即在源和目的网间所要经过的最多路由器的数目为15,跳数16表示不可达。RIP有2个版本,早期的版本是RIPvl,属于有类路由协议,适用范围非常有限。现在一般 都是使用RIPv2, RIPv2支持验证、密钥管理、路由汇总、无类域间路由CIDR)和可变长 子网掩码(VLSM)。Quagga支持RIPv2,使用ripd进程实现RIP路由功能,但ripd进程需要在zebra进程 读取接口信息,所以zebra 一定要在ripd之前启动。(二)配置zebra (以R1为例,R2的请自行配置)1 .用service zebra start启动zebra进程,然

20、后按照前面介绍的方法初始化R11)设置 hostname 为 R1,以及 eth0 的 ip address 为 07/23注意:eth0的IP地址也可以设置为其他的,但是要注意,这里使用的IP地址必须与本地主机实际的IP地址一致。可以在root模式下用ifconfig查看本地主机的IP地址,然后根据本 地主机的IP地址配置eth02)同样的,设置eth0:0的ip address,注意要与我们在root下虚拟的地址一致:R1 (canfigJ= ini. _ _R1 ccinfig-if)杞质/眼亳旨旨 1 史,1S8 1;-斗 R1 (config-il _)= no shut Jown2

21、.用 show interface description 查看端 口状态(Packet Tracer 使用的是 show ip interface brief):Rl= shci# i nlerface descri pt ion3 .用show running-config查看运行配置:Rl= shofr running-configCLirrcnL canfigLirs.L ion: i hosLnamc R1 password zebra enable password zebra i inLcrfacc c LhOt p address 17218.186.107/23 t pv6

22、nd supprc5s-raiinLcrfacc c LhO:Ot p address 1 ?J2.1.6S i. 1 /24 t pv6 nd supprc5s-rai inLerfijee o i ii nc Ly iend4.将运行配置保存到startup-config中: Rl = jpy running-config el5rlLip-ccinfftConCigLiralion sacLribLiLs-l isL pri va Lc-an 1 y in c LhOiacccss-lisL pri vaLc-anly permit 1.0/i.3/8!acccss-lisl pri v

23、aLc-anly deny any i二滩 fils ri pd . log0输入“:q”可以退出文件查看启动 ripd:roaLlocal hosL quaga . = service rt pd sian启动ripd:确定I I进入ripd进程,并修改名称:ripd的进程号是2602,于是我们可以使用命令telnet localhost 2602进入R1的ripd设 置,登陆口令默认是zebra,可以在/etc/quagga/ripd.conf里面看到Passmore: ri pd cn ri pci= config L ri pdfeant ig)= hoslnanie ripd_l将r

24、ipd的名字改为ripd_1,方便辨认启动rip协议,并指定哪个网络使用rip协议:ri pd_l : ccinlig)= roLiLr ri pri pd_l ccinlig白tietwciirk. I ,,18 : 186 , 粉 ri pd_l :canlig-roLitcirk 1 /24ri pd_l : ccinlig-roLHr )= end说明:Packet Tracer是使用network ,不用指定掩码位数使用show ip rip查看路由表:ri pd_l - show t p ri pCodes: R - RIF, C - conncc LLici. S - Sl?.

25、tic . 0 - OSFF, B - BSP Sub-codes: n) - narmsl . (s) - sL;.L ic . (d) - de ili 1 L . (r) - rcdtsLri HliLl . :t ) - t nLcr ;jcct) /23R:n) 192.16S.2.0/242.16S.3.0/24MetricFromT;.fTi me1scf02172.IS.186.106058: 131scf0说明:Packet Tracer 使用的是 show ip route查看运行配置,并将运行配置保存到startup-config中: ri pd_l= shaff run

26、ning-canfigCurrtnL ccintigLiralion: j hasLname ri pd_l password zebrs log sldoLU j rLiLcr rt pnetwork 17218.186.0/23 nBLark 192.163 3.0/24 j1 inc Lyend ,,-nri pd_l = copy running-can fig stsrL Lip-config Configuration saved to /etc/quagga/ri pdconf rtpc_i=n(四)通过debug查看路由器之间的通信状况1 .分别将R1和R2都配置好之后,可以在

27、ripd进程中使用debug rip event和debug rip packet来查看路由器之间的通信状况:rt pd_lri prt pd_l = cncispc= conCig L将ospfd的名字改为ospfd_1,方便辨认:ci5pficcinfig)= hci5Lnanie ospd_l启动ospf协议,并指定哪个网络使用ospf协议输入命令:ospfd_1(config)#router ospfospfd_1(config-router)#network /23 area 0ospfd_1(config-router)#network /24 area 0ospfd_1(conf

28、ig-router)#exit截图:ospfd_l ! ccinfig)= roulsr ospCospf d_l : 口11土巴一八儿|1.:2= | ik t#侦 1了兰,1、;,1 Xn ,:】1彳 器 Comniand incompl c Lc .ospfd_l : ccinfig-roLiLsr) = |iKt#cikospfd_l ccinfig-!r)LiLsr)= network 192.16S. 3.0/24 area 0ospfd_l ! canfig-!r)LiLsr)= exi Lospfd_l(config)r? exitospfd_l= n注意:与ripd的netw

29、ork, ospfd的network必须指定area,即指定网络所在的区域使用show ip ospf查看路由表:aspfd_l= show i p ospfOS PF Routing Process . RauLcr ID: 1 ?-U . 1 oS /i . 1SuppotLs on y single IOS ITOS。)ran LesThis impl cmentaLi jn con :)rins L:) RFC232SRFC! SSConipaLibi i Ly ag is disabl cdOpaqueCapabi lily lag t s di sabl cdI nit ial S

30、FF schcduli ng deay 200 miliscc(s)Mini rum hod Li me beLecn ccmscculic SFFs 1 300 mi 1 i.scc( s)Maxi rum hod Li me beLecn ccmscculic SFFs 1 3000 mi iscc( s )ll: d L l me ieliI Lip icr is CLirrenL y 1SFF al gori thm la&L cxccliLl-J 21.7S5s agoSFF L i mcr is i nac L icRefresh L i nicr 1 0 seesXLimber

31、)C external LSA 0. Checksum Sum 0 x00000000XLimber )C opaque AS LSA 0. Checksum Sum 0 x00000000X Limber )C areas aL Lac heel L:j this qliI.it: 1Area ID: (Backbone)Xumber of inLcrIaccs i n ihis area- I:)Li : 2 t Ac tic : 2Xumber of Cli y adjaccnL nuighbors in this area : 1Area has no authenLtea LionS

32、FF algorithm cxccuLcd 4 limesdumber of LSA 3Xumber of raLiLcr LS. 2. Checksum Sum 0 x0000be?bXumber of network LSA 1. Checksum Sum 0 x00008ba3Xumber of summary LSA 0. Checksnni Sum 0 x00000000Xumber of ASBR SLininisry LSA 0. ChecksLim Sum 0 x00000000Xumber of XSSA LSA 0. Checksuni Sum 0 x00000000X u

33、mber of opaque : ink LS. 0. ChecksLim Sum 0 x00000000Xumber of opaque area LS. 0. ChecksLim Sum 0 x00000000这里比较奇怪,在ripd的配置中,用show ip rip看到的是路由表;而在这里,用show ip ospf看到的是ospf协议的一些具体信息查看运行配置,并将运行配置保存到startup-config中:ospfJ_1- show runnt nf-configCu/rcnL conftguraLton: ihosLname ospfd_l password zebra log

34、sLJoliL t nLLrfi-.ee cLhOit nLer ;-.cc lairoLilcr ospfnetwork /23 area 0,0,。,。network 192.16S.3.0/24 area 0,0,0,。i11 nc L yienJospfJ_1= copy runospfJ_1= copy runnt ng-cont ig starLospfJ_1= copy runnt -config sLarlup-conl ig Configuration saved to /etc/quagga/ospfd.conf ospfJ_l= 口ospf d_l = copy rLii

35、ininE-conftE s Lar L Lip-con Cig Configuration sacl Lo /c Lz/quagga/ospf J .canf(四)通过debug查看路由器之间的通信状况aspld_l = debugs5写pHOSPF( saOSPFnsmOSPF nssaOSPFLOSPFxebra*的通信状况:1.分别将R1和R2都配置好之后,可以在ospfd进程中使用debug ospf来查看路由器之间口成口 ccnL t.nCjmiatlospfd_l= debug ospf ccnL ospfd_l = -1日1?1_1直 注意:eth0的IP地址也可以设置为其他的

36、,但是要注意,这里使用的IP地址必须与本地主 机实际的IP地址一致。可以在root模式下用ifconfig查看本地主机的IP地址,然后根据本 地主机的IP地址配置eth0将运行配置保存到startup-config中:rl# copy run startConfiguration saued to /etc/quagga/zebra.conf(三)配置bgpd (以R1为例,R2请自行配置)1.利用bgpd的示例文件来配置bgpd:tt Isbgpd.conf.sampleospf6d.conf.sample r ipd.conf.sampleutysh.confzebra.confbgpd.

37、conf.sampleZ ospfd.conf.sampleripngd.conf.sample utysh.conf.sample zebra.conf.samp1ej- - y ii - - - - nroote1oca 1host quaggatt cp bgpd.conf.sample bgpd.conf注意:bgpd.conf.sample配置样例是用于配置IPv4的,而bgpd.conf.sample2配置样例是用于 配置IPv6的。启动 bgpd:rootlocaIhost quagnatt seruice bgpd start|启动bgpd:使定进入bgpd进程,并修改名称:b

38、gpd的进程号是2605,于是我们可以使用命令telnet localhost 2605进入R1的bgpd设 置,登陆口令默认是zebra,可以在/etc/quagga/bgpd.conf里面看到Password:bgpd enbgpdtt conf t bgpd(config)tt hostnamrl_bgpd)使用命令router bgp启动bgp协议,并指定自治系统号(AS)| rl_bqpd(conf iq)坷配置样例里已经指定了 AS为7675,我们懒的改就拿来用。AS是一个16bit的数字,其范 围从1到65535。RFC1930给出了 AS编号使用指南。从64512到65535的

39、AS编号范围是 留作私用的,类似私有IP。指定使用bgp的网络,以及需要通信的另一个自主网络系统(这里远程自主网络自治系统号为7676):r1_bgpd(config-router)# network 23r1_bgpd(config-router)# neighbor 01 remote-as 7676截图如下:-r l_bqpd (con f i g-rouLterttnetworlt /Z3rl_bgpd(config-rou.terlneighbor 17Z. 18.186.161 remote-as 767通过show ip bgp查看R1的bgp情况:fh ip 岫pBGP tab

40、 1c ucrsicm is 0 IoqjI router ID is 17Z,18r196,IGOStatus codes: s suppressed? d danped h history* ualidj bestj i - internal, r EIE-Frti lurr, S atcile, R BenauedOrigin codes: i - IGI c - EGPr ? - incompleteNetiJorkMetric LocPrfFith* 172 -10.188032760 iTntctl lumber uf prefixes 1说明:此时还没配置R2的bgp协议开启de

41、bug功能:rl_bgpd# |dibug bgp 已detid | BGF eu己d己hugging is on rl_bgpd# |d己bugitEupaliu.sBGF己口qliu己s d己bu00iTi0 is onrl_bgpd# d,bug bgp updat己s| BGF updates debugging is on将通信结果保存至/etc/quagga/bgpd.log中rl_bgpd# conf trl_bgpd(config)tt log fill /伫Fc/quagga/Fgpd.log rl_bgpd(config)tt exit对R2进行相似的配置,此处略。以下为R

42、2配置完后的运行配置: bgpd- sb runCurrent configure-.tion: ihost name bpdpassword zebra:口M Ci 1 c /c Ic/qLiaga/bgpd. logend注意:在配置过程中,要确保ip address后面的IP地址与本地IP地址一致。在R1上使用show ip bgp查看bgp协议情况:rl_bgpd# sh ip bgpBGP table uersion is 0, local router ID is 17Z.18.186.100Status codes: s suppressed, d dampedj h histo

43、ry, * ualidj best, i - internalj r RIB-failure, S Stalej R RemouedOrigin codes: i - IGF, e - EGF, ? - incompleteNetworkHopMetric LocPrf Ueight Path* / 17Z.18.186.101 J00 7676 i*G32768 i此时,R1已经学习到7676的下一跳地址了。通过show ip bgp neighbors命令也可以看到R1已经与R2建立起了邻居关系:rl bcrndit sh iu b(n)nEiuhborsBGP n已ighbur is 1

44、72.IB.1B6.101, rEmutE AS 7676, local AS 7675, External linkBGF uersion 4, remote router ID 1?Z.18.186.101BGF state = Estab 1ishedj up for 00:05:37Last read 00:00:37, hold time is 180j keepaliue interual is 60 secondsNeighbor capabi1 ities:Route refresh: aduertised and receiuedtold & neu)Address fami

45、ly IFu4 Unicast: aduertised and receiuedMessage statisties:Inq depth is 0Outq depth is 0SentOpens:2Notifications:0Updates:1Keepaliues:7Route fiefresh:0Capabi1ity:0Total:10Minimum time between aduertisement runs is 30 secondsFor address family: IFu4 UnicastCommunity attribute sent to this neighbor(both) 1 accepted prefixesConnections established 1; dropped 0Last reset neuerLocal host: 17Z.18.1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论