,
Quagga使用及实验说明
                使用平台:Fedora 7
修订日期:20105
前言
认识Quagga
Quagga是一个路由软件包,提供基于TCP/IP路由服务,支持RIPv1RIPv2 RIPng OSPFv2OSPFv3BGP等众多路由协议。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官方文档:
www.quagga/docs.php
一、Quagga整体介绍,以及如何虚拟网卡
(一)安装Quagga
1.在终端下输入命令rpm –q quagga,检查本地计算机是否已安装Quagga。若列表为空,表示软件未安装。
2.安装Quagga
Fedora下安装软件比较方便,可直接使用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.用f.sample查看zebra示例文件:
说明:
1)“!”是注释标识,红圈内是路由器名称、登陆密码和enable密码
2)输入“:q”可回到命令行模式
3.我们可以直接使用zebra的示例文件,将其保存在quagga文件夹中,取名为f
注意:在通常情况下,quagga文件夹里面是有f这个文件的,但是里面一般是空白的,同学们感兴趣可以自己先打开一次f,再使用cp命令覆盖掉原文件
4然后就可以启动zebra了
输入命令:service zebra start
这样,zebra就以守护进程启动了,其它的参数请参考zebra -h
5.配置zebra
前面在介绍Quagga的时候已经提到过了,配置zebra其实就是配置路由器,命令格式跟我们用Packet Tracer做路由器实验的时候大同小异。
1)进入路由器配置模式:
在services中可以看到,zebra的进程号是2601,我们可以直接用telnet连接:
zebra会提示输入口令,我们在/etc/f中可以看到口令是zebra,enable口令也是zebra
2)输入问号,查看zebra提供了多少路由命令:
Router# ?
提供的命令比实际路由器少了很多,这里也就显示出仿真软件和实际设备的差距了。
3)配置接口IP地址:
Router(config)# interface eth0
Router(config-if)# ip address 192.168.2.1/24
说明:zebra比较奇怪,不能使用ip address 192.168.2.1 255.255.255.0这种形式设置IP,必须使用ip address 192.168.2.1/24这种形式
4)感兴趣的同学还可以参考以下命令查看或者配置路由器,命令格式与Packet Tracer基本一致:
查看运行配置:
Router# show running-config
修改路由器名称:
Router(config)# hostname R1
修改口令:
R1(config)# password {password}
R1(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进程,然后按照前面介绍的方法初始化R1
1)设置hostname为R1,以及eth0的ip address为172.18.186.107/23
注意:eth0的IP地址也可以设置为其他的,但是要注意,这里使用的IP地址必须与本地主机实际的IP地址一致。可以在root模式下用ifconfig查看本地主机的IP地址,然后根据本地主机的IP地址配置eth0
2)同样的,设置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 172.16.1.2 255.255.255.0
如果要更改IP地址的配置,要先取消这条命令,只需在上面命令前加上no就可以,命令如下:
R0(config-if)#no ip address 172.16.1.2 255.255.255.0
然后重新配置IP地址,命令如下:
R0(config-if)#ip address 192.168.16.1.2 255.255.255.0
这样用show running-config 查看运行配置就不会有一个接口上配置了多个IP地址的情况。
注意:其他类似的配置命令也是用同样的处理方法,即如果用了一条配置命令,只需在同样的命令前加上no,就可以取消所用命令的操作。
(三)配置ripdR1ripd为例,R2ripd请自行配置
1.我们利用ripd的示例文件来配置ripd
vi可以查看f的内容:
输入“:q”可以退出文件查看
2.启动ripd
3.进入ripd进程,并修改名称:
ripd的进程号是2602,于是我们可以使用命令telnet localhost 2602进入R1的ripd设置,登陆口令默认是zebra,可以在/etc/f里面看到
将ripd的名字改为ripd_1,方便辨认
4启动rip协议,并指定哪个网络使用rip协议:
说明:Packet Tracer是使用network 172.18.186.0,不用指定掩码位数
5.使用show ip rip查看路由表:
说明:Packet Tracer使用的是show ip route
6.查看运行配置,并将运行配置保存到startup-config中:
(四)通过debug查看路由器之间的通信状况
1分别将R1和R2都配置好之后,可以在ripd进程中使用debug rip event和debug rip packet来查看路由器之间的通信状况:
2.将通信结果保存至/etc/quagga/ripd.log

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。