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 时没配置好。
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配置
#telnet localhost 2601
Router>en
输入密码
我这里启动密码一样zebra
Router#:conf t进入配置模式
Router(config)#interface f0/0 (进入接口f0/0)
Router(config-if)#ip address 192.168.1.1/24 (设置接口ip地址和子网掩码)
Router(config-if)#no shutdown (启用接口)
以上完成了接口IP地址的配置。然后手动添加一条路由。
Router(config)#ip route 192.168.3.0/24 192.168.2.2 (目标网段ip地址 目标子网掩码 下一路由器接口ip地址)
7. 开启RIP协议
对于结构比较简单的网络来说,手动配置路由的方法是可行的,但是对于具有一定规模的网络来说,就应该使用自 动配置的方法了,同时,自动配置还能在网络结构出现变化的情况下及时自动反应,避免在我们搂着小姑娘的时候还老板叫去维护网络。RIP协议的配置文件默认存放在/usr/local/etc/下,执行以下命令
#cp /usr/local/etc/ripd.conf.sample /usr/local/etc/ripd.conf
#vi /usr/local/etc/ripd.conf
加入如下内容
router rip
version 2
network eth0 ----网卡1,可以ifconfig看下
network eth0:0 ----网卡2 我这里时虚拟网卡。
保存退出
ripd配置完成,执行
#zebra –d
#ripd –drip正常启动后,可以用ip route show看路由是否已经建立
参考/转载
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