zebra介绍和安装

zebra介绍和安装   

 

前面介绍的zebra到2005年发行zebra-0.95a后停止更新。后来修改版本将 zebra作为守护进程,发行新的版本改名Quagga,由savannah.gnu.org这个组织维护。

而我最早接触Zebra是刚毕业那年,即2011年四月份,在第一家公司做基于MIPS和Intel Xscale的 络分析仪(专门提供给 络安全部门,集监控、采集和分析为一体的智能 络监控设备)。又因为我在Cisco的模拟器:Cisco Packet Tracer 上做过基于Cisco产品的 络架构项目。所以当得知有一款能和Cisco IOS媲美的路由软件,而且代码是开放的的时候,我很兴奋,于是赶紧学习起来。公司用的是zebra,版本我忘记了,遗憾的是当时没有写博的习惯,以致学习源码设计的各类辅助理解的图,都遗失了。如今只能根据自己的理解,加上温故源码慢慢回忆。

到目前为止,zebra和Quagga与Cisco IOS的命令架构,配置格式十分相近,同时它们的开源性,有力阻止了闭源的Cisco的IOS对整个路由软件市场的垄断。尽管它与IOS之间存在着一些差异,但是熟悉IOS的 络工程师们会很快适应zebra和Quagga的 络环境的。Zebra和Quagga可以利用模块法对各种协议进行管理,这种设计是独一无二的。它可以根据 络的需要激活或者停止协议。而且安装有这款路由软件的主机,通过适当配置可以变成一个路由设备,这点让我很兴奋。目前,zebra已经停止发行,Quagga今年五月份推出quagga-0.99.21。不过对于国内的设备开发,这款开源软件已经足够了。

废话少说,进入正题

环境:ubuntu 12.04;

我只粗略看过Quagga的源码,框架上和zebra类似,所以下面就只介绍zebra的安装和使用,以及安装编译过程中可能出现的问题,和大家一起探讨。但是Quagga的源码,我在这里给出连接,希望好学之士能够学习。后面我尝试使用,有问题一起解决。

Quagga 源码:http://download.savannah.gnu.org/releases/quagga/

zebra安装

下载zebra源码

  地址:https://www.mangob2b.com/en/zebra/download-zebra

解压

修改zebra.h

增加:

告知在编译的时候使用GNU标准编译,同时这样做是因为增加了zebra对IPV6的支持。在系统头文件的in.h中定义了一个结构体:struct in6_pktinfo等结构,在zebra中被引用,所以增加定义宏以支持ipv6。

配置

编译和安装

配置zebra运行环境

配置zebra

生成zebra配置文件。因为系统中有简单的例子,于是就用现有的配置文件,配置登陆和进入特权模式的密码,主机名等。

配置vtysh

启动zebra demo程序

远程登陆

 

最后,你可以大肆修改这个工程,增加自己的实现,这工程里面也有好多漂亮的代码,如日志管理,内存管理等,是一款不可多得的学习代码。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2014年11月19日
下一篇 2014年11月19日

相关推荐