路由软件是很强大的,目前项目中不要求路由功能,但是我为了在项目中引用这个漂亮而强大的CLI,所以初次尝试编译和安装Zebra,打算后期将其移植到ARM上。
一、在确保ubuntu已经安装编译工具的前提下,我们来初步尝试编译安装Zebra路由软件:
1、下载zebra源码
代码: 全选
zebra-0.95a.tar.gz,该版本是目前使用最广泛的,相关资料也很多。
代码: 全选
tar -xvf zebra-0.95a.tar.gz
代码: 全选
cd zebra-0.95a.tar.gz/
代码: 全选
vi ./lib/zebra.h +103
代码: 全选
#ifdef GNU_LINUX
#define __USE_GNU
#endif
所以增加定义宏以支持ipv6
5、配置
代码: 全选
./configure
6、编译
代码: 全选
make
代码: 全选
make install(如果需要权限,请sudo)
服务程序将被默认安装在/usr/local/sbin下,有:bgpd ospf6d ospfd ripd ripngd zebra六个服务程序。
二、配置zebra运行环境
1、配置zebra
代码: 全选
cd /usr/local/etc/
代码: 全选
sudo cp zebra.conf.sample zebra.conf
代码: 全选
hostname -- (需要使用的主机名)
password -- (Telnet访问时使用的密码)
enable password -- (进入全局配置模式时使用的密码)
2.1、生成vtysh配置文件
代码: 全选
sudo cp vtysh.conf.sample vtysh.conf
代码: 全选
zebra -d
在新打开的shell中运行:
代码: 全选
telnet 127.0.0.1 2601
如果需要启动Zebra提供的其他服务,在/usr/local/etc/下生成特定服务的配置文件,然后执行:
代码: 全选
例如:ripd -d等
代码: 全选
vi /etc/services +510
最后,你可以大肆修改这个工程,增加自己的实现,这工程里面也有好多漂亮的代码,如日志管理,内存管理等,是一款不可多得的学习代码。