【原】开源路由软件zebra系列之一 — 介绍和安装

标签: 开源 路由 软件 | 发表时间:2012-11-22 20:33 | 作者:Tsihang
出处:http://www.cnblogs.com/

zebra介绍和安装   

  说到路由软件,我第一印象就想起了Cisco的IOS。这是一款由Cisco自主开发的闭源路由器软件;说到开源路由软件,比较有意思的是这样两款难兄弟软件:Zebra(斑马)和Quagga(斑驴)。做过防火墙,交换机或者路由器的人应该明白CLI,命令行接口是什么意思。操作者通过命令行接口,将设备的配置(ACL等)、状态查询(流量统计等)操作,以命令的方式下发给设备,从而配置其工作状态(如隔离端口,过滤数据流、抑制风暴,防止各类攻击等)。这些接口通过CLI的形式呈现,口语化的配置,使得复杂的配置变得简单起来。

  前面介绍的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安装

1、 下载zebra源码

       地址: https://www.mangob2b.com/en/zebra/download-zebra下载源码。

2、 解压

1 tar -xvf zebra-0.95a.tar.gz
2
3 cd zebra-0.95a/

3、 修改zebra.h

vi ./lib/zebra.h +103

  增加:

1 #ifdef GNU_LINUX
2
3 #define __USE_GNU
4
5 #endif

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

4、 配置

./configure

5、 编译和安装

make;Make install【如果需要权限,请sudo】
如果编译过程中,出现个别库文件没有安装,请先安装依赖库文件,在后面配置vtysh的时候,可能会要求安装quagga支持;
服务程序将被默认安装在/usr/local/sbin下,有:bgpd ospf6d ospfd ripd ripngd zebra六个服务程序。

二、配置zebra运行环境

1、 配置zebra

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

sudo cp zebra.conf.sample /usr/local/etc/zebra.conf

2、配置vtysh

sudo cp vtysh.conf.sample /usr/local/etc/vtysh.conf

3、启动zebra demo程序

./zebra –d

4、远程登陆

telnet 127.0.0.1 2601
1 2601是zebra demo的服务端口号,其他协议的端口号自行查找相关文件获悉。
2 如果需要启动Zebra提供的其他服务,在/usr/local/etc/下生成特定服务的配置文件。例如,希望启动RIP协议服务,则将rip相关的配置文件和上例一样拷贝到/usr/local/etc/下,在控制台运行:ripd –d,然后ps查看,会发现ripd已经在后台运行。

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

 

 

 

本文链接

相关 [开源 路由 软件] 推荐:

【原】开源路由软件zebra系列之一 — 介绍和安装

- - 博客园_首页
  说到路由软件,我第一印象就想起了Cisco的IOS. 这是一款由Cisco自主开发的闭源路由器软件;说到开源路由软件,比较有意思的是这样两款难兄弟软件:Zebra(斑马)和Quagga(斑驴). 做过防火墙,交换机或者路由器的人应该明白CLI,命令行接口是什么意思. 操作者通过命令行接口,将设备的配置(ACL等)、状态查询(流量统计等)操作,以命令的方式下发给设备,从而配置其工作状态(如隔离端口,过滤数据流、抑制风暴,防止各类攻击等).

软件路由器破速度记录

- flypen - 弯曲评论
韩国的研究人员们建立了一个由端台式电脑组件组成的网络路由器,可以以创记录的速度传输数据. 来自韩国高等科技研究院的团队创造的这款路由器,传输数据的 速度是每秒40千兆比特(gigabits ),比类似装置的前纪录快出许多倍. 研究人员们使用的技术可能会带来很多方面的突破,包括在高性能路由器中使用廉价的芯片——如英特尔和Nvidia制造 的——以代替定制的硬件.

开源跟踪软件 Prey

- bin - 开源中国社区最新软件
Prey 可让你全时跟踪你的电话和笔记本,如果它丢了或者被偷了,可以帮你找到它们.

盛大开源软件

- - kernelchina
盛大研究院在其网站 http://www.sndacode.com/projects开源了不少应用. 很多都是上层应用相关,我感兴趣的有如下几个:. 在手机上看code的人估计是个傻帽,但是在PAD上面还可能是一件爽快的事情. 作为google reader的中毒使用者,这个功能还是很有价值的,是盛大电子书的亮点.

4大开源路由器操作系统

- - 鲁塔弗的博客
openwrt 最早,是第三方固件的鼻祖,诞生于2004年.是Linksys开源了WRT54G/GS的源代码,促使各种开源固件出现.2005年,openwrit放弃了这个方案,直接使用Linux ( kernel 2.4.30). dd-wrt 目前最热,由openwrt发源而来,中继性能强,多语言包.

WMRouter:美团外卖Android开源路由框架

- - 美团点评技术团队
WMRouter是一款Android路由框架,基于组件化的设计思路,功能灵活,使用也比较简单. WMRouter最初用于解决美团外卖C端App在业务演进过程中的实际问题,之后逐步推广到了美团其他App,因此我们决定将其开源,希望更多技术同行一起开发,应用到更广泛的场景里去. Github项目地址与使用文档详见 https://github.com/meituan/WMRouter.

RouterPassView – 路由密码查看器 | 小众软件 > 实用工具

- D_u - 小众软件
RouterPassView 是 NirSoft 出品的一款路由密码恢复软件,可以查看绝大多数家用路由的配置文件中保存的密码,使用时只需要用 RouterPassView 打开导出的路由配置文件即可. 官方网站 | 来自小众软件. NirSoft 还有很多的密码恢复工具,比如大名鼎鼎的 dialupass 就经常被用于刷钻.

狗日的开源软件许可证

- Michael - 酷壳 - CoolShell.cn
你知道这个世上有多少种开源软件的许可证吗. GNU上有个网页,上面记录了几乎所有的开源软件的许可证,真TMD的多,有开源的,有商用的,有软件的,有文档的,多得你都不想看了,天杀的,程序员们还真能鼓捣啊. 不过,主流的也就几种——GPL、BSD、MIT、Mozilla、Apache等等. 这里有一张比较复杂的图,在调侃这些纷繁的许可证(我不翻译了,这个图属于是发泄不满).

开源软件中的彩蛋们

- 加州旅客 - Wow! Ubuntu
嘿嘿,卖个关子.用DEB系的Linux同学自己看下吧. 还有aptitude help的超级牛力(Super Power),参考最后一行. 来看看apt-get能搞出来什马东西. Gentoo党:emerge moo. 来自:The Hitchhiker's Guide to the Galaxy.

2010年最佳开源软件

- 钊炜 - Solidot
InfoWorld公布了2010年的最佳开源软件名单,名单分为几大类别: 最佳企业开源应用程序:企业资源管理软件Openbravo ERP,SugarCRM,Pentaho BI Suite,Alfresco,Drupal,WordPress,LogicalDoc,Tiki Wiki CMS Groupware,Apache Solr.