Ubuntu10.04 下 quagga(zebra)环境搭建

1.官网下载Quagga
http://download.savannah.gnu.org/releases/quagga/

2.编译&安装

首先下载Quagga 0.99.23到硬盘,然后在终端输入

tar –zxvf quagga-0.99.23.tar.gz

进入目录

#cd quagga-0.99.23

配置
#./configure --enable-vtysh

--enable-user=root

--enable-group=root

--enable-vty-group=root

上述命令为打开vty功能(CLI功能)并给予相应用户权限,另有一些初始化配置见文档中.配置完成后会有一些信息 表明quagga安装完成后相关文件所在位置。

编译与安装

#make

#make install

因为Quagga需要libreadline支持,而我的电脑默认没有安装libreadline,所以需要执行

sudo apt-get install libreadline6-dev

3.配置Quagga

修改文件/etc/services,添加如下内容(某些版本Ubuntu已有,就不用添加了)

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

quagga文件夹下/usr/local/etc有一个zebra.conf.sample文件,需建立一个 zebra.conf文件并把zebra.conf.sample内容copy进去.-----增加zebra路由功能。

4.启动Quagga

在终端输入zebra -d即可启动quagga。有可能出现以下错误:

zebra: error while loading shared libraries: libzebra.so.0: cannot open shared object file: No such file or directory

解决方法:

在/usr/local/lib下有

lrwxrwxrwx 1 root root 17 2010-06-21 01:52 libzebra.so -> libzebra.so.0.0.0

lrwxrwxrwx 1 root root 17 2010-06-21 01:52 libzebra.so.0 -> libzebra.so.0.0.0

-rwxr-xr-x 1 root root 778556 2010-06-21 01:52 libzebra.so.0.0.0

这可能是由于/lib库出现问题:则

root@ubuntu:/usr/local/lib# cp libzebra.* /lib -----将开源软件的库copy到/lib下

root@ubuntu:/usr/local/lib# rm libzebra.*

到目前为止,Quagga已经正常启动。

5.启动/配置Zebra

首先启动Quagga的守护进程

#sudo zebra –d

启动过程可能出现privs_init: could not lookup user quagga
没有add the user/group quaggga

groupadd quaggga
useradd quaggga -g quaggga

chown quaggga:quaggga /var/run/
chmod 777 /var/run/   
chown quaggga:quaggga /usr/local/etc/ 编辑配置文件
chmod 777 /usr/local/etc/
也可能使前面./configure 时没配置好。

ps -aux | grep zebra 可以看到守护进程在运行。  

vim /usr/local/etc/zebra.conf 
可以看到启动密码
hostname Router
password zebra
enable password zebra
6.利用telnet进入zebra
配置telnet:
首先安装openbsd-inetd: sudo apt-get install openbsd-inetd
然后检查文件/etc /inetd.conf,确保有这一行
telnet        stream    tcp    nowait    root    /usr/sbin/tcpd    /usr/sbin/in.telnetd
然后启动:sudo /etc/init.d/openbsd-inetd restart
就可以了
查看telnet服务是否启动: netstart -a | grep telnet
如果已经启动,可以得到如下信息:
tcp        0      0 *:telnet                *:*                     LISTEN
可以通过登录本机,测试 telnet服务是否可用:telnet localhost

利用telnet进入zebra配置

  1. #telnet localhost 2601

  2. Router>en

  3. 输入密码
    我这里启动密码一样zebra

  4. Router#:conf t进入配置模式

  5. Router(config)#interface f0/0 (进入接口f0/0)

  6. Router(config-if)#ip address 192.168.1.1/24 (设置接口ip地址和子网掩码)

  7. Router(config-if)#no shutdown (启用接口)

  8. 以上完成了接口IP地址的配置。然后手动添加一条路由。

  1. Router(config)#ip route 192.168.3.0/24 192.168.2.2 (目标网段ip地址 目标子网掩码 下一路由器接口ip地址)

7. 开启RIP协议

  对于结构比较简单的网络来说,手动配置路由的方法是可行的,但是对于具有一定规模的网络来说,就应该使用自 动配置的方法了,同时,自动配置还能在网络结构出现变化的情况下及时自动反应,避免在我们搂着小姑娘的时候还老板叫去维护网络。RIP协议的配置文件默认存放在/usr/local/etc/下,执行以下命令

  1. #cp /usr/local/etc/ripd.conf.sample /usr/local/etc/ripd.conf

  2. #vi /usr/local/etc/ripd.conf

  3. 加入如下内容

  4. router rip

  5. version 2

  6. network eth0  ----网卡1,可以ifconfig看下

  7. network eth0:0  ----网卡2 我这里时虚拟网卡。

  8. 保存退出

  9. ripd配置完成,执行

#zebra –d

#ripd –drip正常启动后,可以用ip route show看路由是否已经建立

    ps -aux | grep rip
    可以通过添加路由来观察路由表的变化

参考/转载  

http://blog.chinaunix.net/uid-25513153-id-212328.html

http://blog.chinaunix.net/uid-25513153-id-212353.html

截图工具http://www.cnblogs.com/joeyupdo/archive/2012/11/13/2768444.html

虚拟网卡 http://www.2cto.com/os/201209/157784.html

你可能感兴趣的:(Ubuntu10.04 下 quagga(zebra)环境搭建)