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

下载本文档

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

文档简介

,Quagga使用及实验说明 使用平台:Fedora 7修订日期:2010年5月前言认识Quagga:Quagga是一个路由软件包,提供基于TCP/IP路由服务,支持RIPv1,RIPv2, RIPng, OSPFv2,OSPFv3,BGP等众多路由协议。Quagga还支持BGP特性路由反射器(Route Reflector)。除了传统的 IPv4路由协议,Quagga也支持IPv6路由协议。如果运行的SNMP守护进程(需要ucd-snmp)支持SMUX协议,Quagga还能支持路由协议MIBs。因此,Quagga是一个很不错的路由仿真软件。但是比起真正的路由器,在功能上还是会有比较大的差距。本说明将从3个方面对该软件做简单介绍:1Quagga整体介绍,以及虚拟网卡2使用Quagga做简单的RIP实验3使用Quagga做简单的OSPF实验4使用Quagga做简单的BGP实验想更详细地了解Quagga,可查阅Quagga官方文档:/docs.php一、Quagga整体介绍,以及如何虚拟网卡(一)安装Quagga1在终端下输入命令rpm q quagga,检查本地计算机是否已安装Quagga。若列表为空,表示软件未安装。2安装QuaggaFedora下安装软件比较方便,可直接使用yum安装。在终端下输入命令:yum install quagga,可以自动完成安装在以上对话栏输入“y”即可完成安装3 安装结果检查:(二)查看Quagga配置文件1 进入etc文件夹查看services,即Quagga的配置文件方法一:在etc下使用vi services查看查看结果:方法二:使用gedit /etc/services查看查看结果:2分析配置文件Quagga的各进程有各自的终端接口或VTY,在/etc/ services下可以找到如下内容:对Quagga进行配置,实际上就是对各进程进行配置,并且路由器的配置和路由协议的配置是分开不同进程的。可以通俗点这么理解,Quagga里的zebra进程,相当于一个路由器,对zebra进行配置,就相当于对路由器进行基本配置(注意,这里是说基本配置,路由协议不是在zebra里配置的)。而Quagga里的ripd、ospfd、bgpd等进程,相当于不同的路由协议,要启动哪一种协议,就对协议相应的进程进行配置。注意:Quagga进程的配置命令,有些和Packet Tracer的配置命令不同,使用时注意区别,多用“?”查看所处模式下可以使用的命令及其格式。(三)初探zebra进程1使用命令cd /etc/quagga进入quagga文件夹:通过ls可以看到quagga下一共有10个文件,文件后带有“.sample”的是示例文件2用vi zebra.conf.sample查看zebra示例文件:说明:1)“!”是注释标识,红圈内是路由器名称、登陆密码和enable密码2)输入“:q”可回到命令行模式3我们可以直接使用zebra的示例文件,将其保存在quagga文件夹中,取名为zebra.conf:注意:在通常情况下,quagga文件夹里面是有zebra.conf这个文件的,但是里面一般是空白的,同学们感兴趣可以自己先打开一次zebra.conf,再使用cp命令覆盖掉原文件4然后就可以启动zebra了输入命令:service zebra start这样,zebra就以守护进程启动了,其它的参数请参考zebra -h5配置zebra前面在介绍Quagga的时候已经提到过了,配置zebra其实就是配置路由器,命令格式跟我们用Packet Tracer做路由器实验的时候大同小异。1)进入路由器配置模式:在services中可以看到,zebra的进程号是2601,我们可以直接用telnet连接:zebra会提示输入口令,我们在/etc/quagga/zebra.conf中可以看到口令是zebra,enable口令也是zebra2)输入问号,查看zebra提供了多少路由命令:Router# ?提供的命令比实际路由器少了很多,这里也就显示出仿真软件和实际设备的差距了。3)配置接口IP地址:Router(config)# interface eth0Router(config-if)# ip address /24说明:zebra比较奇怪,不能使用ip address 这种形式设置IP,必须使用ip address /24这种形式4)感兴趣的同学还可以参考以下命令查看或者配置路由器,命令格式与Packet Tracer基本一致:查看运行配置:Router# show running-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都只有一张网卡,我们可以通过命令行来虚拟出另外一张网卡,这样才方便我们观察数据包的转发过程:二、使用Quagga做简单的RIP实验实验拓扑:(一)RIP简介RIP是应用较早、使用较普遍的路由协议,适用于小型同类网络,是典型的距离矢量(distance-vector)协议。RIP通过广播UDP报文来交换路由信息,每30秒发送一次路由信息更新。RIP提供跳跃计数(hop count)作为尺度来衡量路由距离,跳跃计数是一个包到达目标所必须经过的路由器的数目。对于同一个源路由器而言,如果通向目标路由器有两条或两条以上的路径,只要路径的跳跃计数相同,RIP就会认为这些路径是等效的。RIP最多支持的跳数为15,即在源和目的网间所要经过的最多路由器的数目为15,跳数16表示不可达。RIP有2个版本,早期的版本是RIPv1,属于有类路由协议,适用范围非常有限。现在一般都是使用RIPv2,RIPv2支持验证、密钥管理、路由汇总、无类域间路由(CIDR)和可变长子网掩码(VLSM)。Quagga支持RIPv2,使用ripd进程实现RIP路由功能,但ripd进程需要在zebra进程读取接口信息,所以zebra一定要在ripd之前启动。(二)配置zebra(以R1为例,R2的请自行配置)1用service zebra start启动zebra进程,然后按照前面介绍的方法初始化R11)设置hostname为R1,以及eth0的ip address为07/23注意:eth0的IP地址也可以设置为其他的,但是要注意,这里使用的IP地址必须与本地主机实际的IP地址一致。可以在root模式下用ifconfig查看本地主机的IP地址,然后根据本地主机的IP地址配置eth02)同样的,设置eth0:0的ip address,注意要与我们在root下虚拟的地址一致:2用show interface description查看端口状态(Packet Tracer使用的是show ip interface brief):3用show running-config查看运行配置:4将运行配置保存到startup-config中:在配置路由器时,用下面命令配置了IP地址R0(config-if)#ip address 如果要更改IP地址的配置,要先取消这条命令,只需在上面命令前加上no就可以,命令如下:R0(config-if)#no ip address 然后重新配置IP地址,命令如下:R0(config-if)#ip address .2 这样用show running-config 查看运行配置就不会有一个接口上配置了多个IP地址的情况。注意:其他类似的配置命令也是用同样的处理方法,即如果用了一条配置命令,只需在同样的命令前加上no,就可以取消所用命令的操作。(三)配置ripd(以R1的ripd为例,R2的ripd请自行配置)1我们利用ripd的示例文件来配置ripd:用vi可以查看ripd.conf的内容:输入“:q”可以退出文件查看2启动ripd:3进入ripd进程,并修改名称:ripd的进程号是2602,于是我们可以使用命令telnet localhost 2602进入R1的ripd设置,登陆口令默认是zebra,可以在/etc/quagga/ripd.conf里面看到将ripd的名字改为ripd_1,方便辨认4启动rip协议,并指定哪个网络使用rip协议:说明:Packet Tracer是使用network ,不用指定掩码位数5使用show ip rip查看路由表:说明:Packet Tracer使用的是show ip route6查看运行配置,并将运行配置保存到startup-config中:(四)通过debug查看路由器之间的通信状况1分别将R1和R2都配置好之后,可以在ripd进程中使用debug rip event和debug rip packet来查看路由器之间的通信状况:2将通信结果保存至/etc/quagga/ripd.log中3在root下使用vi /etc/quagga/ripd.log查看debug日志:(五)使用wireshark抓包分析路由过程用wireshark抓包可以抓到以下数据包:Request,Response请大家自行分析协议通信过程:注意:request只在路由器冷启动的时候可以抓到,之后只能抓到respone的数据包Quagga还支持很多RIP功能,如果Filtering RIP Routes,RIP route-map,RIP Authentication等,有条件有时间的话同学们可以做更加复杂的实验。三、使用Quagga做简单的OSPF实验实验拓扑:(一)OSPF简介OSPF是一种链路状态路由协议,支持VLSM和手动总结,属于无类路由协议。OSPF的链路状态数据包(LSP)有五种类型,说明如下:1)Hello:发现邻居并与其建立相邻关系;2)数据库说明(DBD):在路由器间检查数据库同步情况;3)链路状态请求(LSR):由一台路由器发往另一台路由器请求特定的链路状态记录;4)链路状态更新(LSU):发送所请求的特定链路状态记录;5)链路状态确认(LSAck):确认其他数据包类型。与ripd进程类似,必须先开启zebra进程,然后才能运行 ospfd进程。(二)配置zebra(此处略)本实验的拓扑图跟RIP实验的一样,也就是说,zebra的配置是完全相同的,需要改变的只是路由协议而已。我们可以在做完RIP实验之后,用service ripd stop关闭RIP协议,然后启动OSPF协议来完成本实验。ospfd的配置过程见下文。(三)配置ospfd(以R1的ospfd为例,R2的ospfd请自行配置)ospfd的配置过程与ripd基本类似,只有network命令有一些小变化而已,其他均相同。下面简单介绍ospfd的配置过程。1我们利用ospfd的示例文件来配置ospfd:用vi可以查看ospfd.conf的内容:输入“:q”可以退出文件查看2启动ospfd:3进入ospfd进程,并修改名称ospfd的进程号是2604,我们可以使用命令telnet localhost 2604进入R1的ospfd设置,登陆口令默认是zebra,可以在/etc/quagga/ospfd.conf里面看到:将ospfd的名字改为ospfd_1,方便辨认:4启动ospf协议,并指定哪个网络使用ospf协议输入命令:ospfd_1(config)#router ospfospfd_1(config-router)#network /23 area 0ospfd_1(config-router)#network /24 area 0ospfd_1(config-router)#exit截图:注意:与ripd的network,ospfd的network必须指定area,即指定网络所在的区域5使用show ip ospf查看路由表:这里比较奇怪,在ripd的配置中,用show ip rip看到的是路由表;而在这里,用show ip ospf看到的是ospf协议的一些具体信息6查看运行配置,并将运行配置保存到startup-config中:(四)通过debug查看路由器之间的通信状况1分别将R1和R2都配置好之后,可以在ospfd进程中使用debug ospf来查看路由器之间的通信状况:先输入debug ospf ? ,查看所有可以使用的debug命令,然后使用debug ospf event和debug ospf packet all来进行通信观察2将通信结果保存至/etc/quagga/ospfd.log中3在root下使用vi /etc/quagga/ospfd.log查看debug日志:(五)使用wireshark抓包分析路由过程用wireshark抓包可以抓到以下数据包:Hello,DBD,LSR,LSU,LSAck请大家自行分析协议通信过程:以上只是演示了最简单的OSPF的配置。在现实中,OSPF广泛应用于大型网络中,配置也将复杂很多。四、使用Quagga做简单的BGP实验实验拓扑:(一)BGP简介BGP(Border Gateway Protocol )边界网关协议,是自主网络系统中网关之间交换器路由信息的协议。边界网关协议常常应用于互联网的网关之间。路由表包含已知路由器的列表、路由器能够达到的地址以及到达每个路由器的路径的跳数。 使用边界网关协议的主机一般也使用传输控制协议(TCP)。当网络检测到某台主机发出变化时,就会发送新的路由表。BGP-4,边界网关协议的最新版本,允许网络管理员在策略描述下配置跳数的规格。BGP是一个距离向量协议,但是与(通告到目的地址跳数的)RIP不同的是,BGP列举了到每个目的地址的路由(自治系统到达目的地址的序列号)。这样就排除了一些距离向量协议的问题。BGP采用16bit数字表示自治系统标识。(二)配置Zebra(以R1为例,R2请自行配置)1用service zebra start启动zebra进程,然后按照前面介绍的方法初始化R11)设置hostname为r1,以及eth0的ip address为00/23注意:eth0的IP地址也可以设置为其他的,但是要注意,这里使用的IP地址必须与本地主机实际的IP地址一致。可以在root模式下用ifconfig查看本地主机的IP地址,然后根据本地主机的IP地址配置eth02) 将运行配置保存到startup-config中:(三)配置bgpd(以R1为例,R2请自行配置)1利用bgpd的示例文件来配置bgpd:注意:bgpd.conf.sample配置样例是用于配置IPv4的,而bgpd.conf.sample2配置样例是用于配置IPv6的。2 启动bgpd:3进入bgpd进程,并修改名称:bgpd的进

温馨提示

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

评论

0/150

提交评论