linux开源路由软件,开源路由软件Quagga 源代码 安装运行

安装:

0) 安装依赖软件包(--enable-vtysh需要)

#sudo apt-get install libreadline6-dev (Ubuntu)

#sudo yum install readline-devel (CentOS)

创建用户(可选)

#sudo groupadd quaggga

#sudo useradd quaggga -g quaggga

1) 下载软件包,解压缩, 编译并安装

#tar xzf quagga-0.99.21.tar.gz

#cd quagga-0.99.21

#sudo mkdir /var/run/quagga

#sudo chmod 777 /var/run/quagga

#./configure --enable-vtysh --localstatedir=/var/run/quagga --enable-user=root --enable-group=root (默认运行用户为quagga, 确保运行的localstatedir对用户有读写的权限,建议配置)

#./configure --enable-vtysh --localstatedir=/var/run/quagga

#./configure --localstatedir=/var/run/quagga

#make

#sudo make install

#sudo ldconfig (加载库文件路径)

注意: 配置文件路径, 默认为/usr/local/etc; 可执行文件路径, 默认为/usr/local/sbin

2) 修改文件/etc/services (某些linux平台可能不需要), 添加如下内容:

zebrasrv 2600/tcp # zebra service

zebra 2601/tcp # zebra vty

ripd 2602/tcp # RIPd vty

ripngd 2603/tcp # RIPngd vty

ospfd 2604/tcp # OSPFd vty

bgpd 2605/tcp # BGPd vty

ospf6d 2606/tcp # OSPF6d vty

ospfapi 2607/tcp # ospfapi

isid 2608/tcp # ISISd vty

3) 使用如下脚本启动/停止quagga: sudo ./run_quagga.sh start|stop|restart

或者直接启动停止:

#sudo /../zebra -u 用户 -g 用户组 -d   (确保编译时设置的localstatedir对用户有读写权限即可)

#sudo ospfd -u 用户 -g 用户组 -d

......

4) 登录控制台:

#telnet localhost 2601    //zebra

#telnet localhost 2604    //ospf

......

5) 问题解决

如果遇到zebra库文件未找到错误,则到目录 /etc/ld.so.conf.d下面新建个文件,

内容为quagga安装的库路径,例如: /usr/local/lib

然后 sudo ldconfig即可。

6) 如果要启用quagga的vtysh控制台:

#./configure --enable-vtysh --localstatedir=/var/run/quagga --sysconfdir=/etc/quagga --enable-vtysh-group=root

#make

#sudo make install

然后配置/etc/quagga/vtysh.conf文件内容即可。

====================================

run_quagga.sh

#!/bin/bash

EXEC_DIR=/usr/local/sbin

CONF_DIR=/usr/local/etc

LIB_DIR=/usr/local/lib

PID_DIR=/var/run/quagga

DAEMON=(zebra bgpd)

USER=quagga

#DAEMON=(zebra ospfd ospf6d ripd bgpd)

#set librery path

export LD_LIBRARY_PATH=$LIB_DIR:$LD_LIBRARY_PATH

#

echo make sure user \"$USER\" has directory \"$PID_DIR\"\'s read-write privileges !

start()

{

for d in ${DAEMON[*]}; do

$EXEC_DIR/$d -f $CONF_DIR/$d.conf -i $PID_DIR/$d.pid -u $USER -g $USER -d

ps -ef | grep $d

done

echo "start \" ${DAEMON[*]} \" finished!"

}

stop()

{

for d in ${DAEMON[*]}; do

killall $d

#rm -f $PID_DIR/$d.pid

done

rm -f $PID_DIR/*

echo "stop \" ${DAEMON[*]} \" finished!"

}

case $1 in

start)

start ;;

stop)

stop ;;

restart)

stop

start ;;

*)

echo "Usage: $0 start | stop | restart"

esac

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Quagga软件原名是Zebra是由一个日本开发团队编写的一个以GNU版权方式发布的软件Quagga项目开始与1996年,当前版本是0.98.4版 可以使用Quagga将linux机器打造成一台功能完备的路由器。 Quagga支持的路由协议 Quagga能够同时支持RIPv1、RIPv2、RIPng、OSPFv2、OSPFv3、BGP-4和 BGP-4+等诸多TCP/IP协议。其中: RIPv1、RIPv2、OSPFv2适用于Ipv4的自治域系统内部网络路由协议。 BGP-4是用于Ipv4的自治域系统之间 的外部网络路由协议。 RIPng、OSPFv3、BGP-4+主要扩展对Ipv6的支持。 Quagga的特性 模块化设计:Quagga基于模块化方案的设计,即对每一个路由协议使用单独的守护进程。 运行速度快:因为使用了模块化的设计,使得Quagga的运行速度比一般的路由选择程序要快。 可靠性高:在所有软件模块都失败的情况下,路由器可以继续保持连接并且daemons也会继续运行。故障诊断不必离线的状态下被诊断和更正 支持Ipv6:Quagga不仅支持Ipv4,还支持Ipv6。 Quagga的运行机制 由于Quagga采用模块化的设计,因此Quagga运行时要运行多个守护进程,包括ripd ripngd ospfd ospf6d bgpd 和Zebra。 其中,Zebra守护进程用来更新内核的路由表,而其他的守护进程负责进行相应路由选择协议的路由更新。 Quagga的好处 就路由器而论,虽然有各种硬件可用,但是费用较高。所以想到用一个运行Linux系统构件的功能丰富的路由器作为代替。Quagga路由守护程序已经使这一切变为现实。因为Quagga支持Ipv4、Ipv6和其他各式各样的协议,所以能够满足通常所有的路由需要。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值