Quagga安装
首先要求探测机服务器能够连接外网源,Centos能够使用外网yum源,Ubuntu能够使用外网apt源,能够使用外网源直接下载运行相关软件。
1、首先查看探测机服务器的系统类型:
# cat /etc/issue
2、如果是Centos/RedHat类系统,使用#yum install -y quagga命令安装quagga,如果是Ubuntu系统,使用#sudo apt-get install quagga quagga-doc的命令安装quagga。
3、检查telnet工具是否可用,如无可用的telnet,则使用yum install -y telnet或者sudo apt-get install telnet安装该工具。
Quagga 基本配置
现以Ubuntu系统为例,介绍后续的配置过程。
1、 开启数据包转发功能:
在Linux系统中,路由表和转发数据包的功能都是Linux内核所提供。在我们的Ubuntu16系统中,默认情况下是没有开启数据包转发功能的。开启方式:
Echo "net.ipv4.conf.all.forwarding=1" | sudo tee -a /etc/sysctl.conf
Echo "net.ipv4.conf.default.forwarding=1" | sudo tee -a /etc/sysctl.conf
sysctl –p
2、 为quagga各种功能分配对应的配置文件
Quagga配置文件例子在/usr/share/doc/quagga/examples/中,每个功能对应各自配置文件,需将其拷贝至/etc/quagga并改名及权限
cp /usr/share/doc/quagga/examples/*.sample /etc/quagga/
mv babeld.conf.sample babeld.conf
mv isisd.conf.sample isisd.conf
mv ospfd.conf.sample ospfd.conf
mv ripngd.conf.sample ripngd.conf
mv zebra.conf.sample zebra.conf
mv bgpd.conf.sample bgpd.conf
mv ospf6d.conf.sample ospf6d.conf
mv ripd.conf.sample ripd.conf
mv vtysh.conf.sample vtysh.conf
[email protected]:/etc/quagga# chown quagga:quagga *
3、 上述配置完成后,重启quagga服务状态。
# service quagga start/restart
4、 重启后查看quagga状态,active表示正常运行。
# service quagga status
5、 查看相应的端口号,结果中如果存在2601/2604,则表示quagga基本功能与quagga ospf功能可用:
netstat -anp | egrep "ospfd|zebra"
6、 检查能否使用telnet工具连接,默认密码是zebra
测试zebra进程:
telnet 127.0.0.1 2601
测试ospf进程:
telnet 127.0.0.1 2604
7、 查看vtysh基本功能:
# vtysh
显示黑屏end时按q返回到quagga shell
返回到quagga shell,使用# show running-config进行检测。
按q返回至系统的Linux shell,注意quagga shell和Linux shell的不同。
至此,quagga基本配置与检查已经完成。
Quagga ospf配置
1、 首先登录与探测机直连的交换机,查看整个直连交换机的ospf配置,以及与探测机直连端口的ip地址设置。
2、 由上图可知,直连端口ip地址是1.10.4.1。先查看对应area的ospf路由设置:
3、 此时可知ospf中还没有与直连接口相关的路由,先进到探测机的quagga ospf简单查看一下此时的ospf邻居:
命令行依次输入如下命令:
# telnet localhost 2604
ospfd> enable
ospfd# show ip ospf neighbor
此时由于探测机直连交换机与探测机quagga都未进行相应配置,所以ospf邻居显示为空,如下所示:
4、 配置两侧(探测机、探测机直连交换机)的ospf路由。
直连交换机配置如下:
[~serverleaf3]ospf 1
[~serverleaf3-ospf-1]area 1
[~serverleaf3-ospf-1-area-0.0.0.1]network 1.10.4.0 0.0.0.255
[~serverleaf3-ospf-1-area-0.0.0.1]commit
探测机quagga配置如下:
[email protected]:~# telnet localhost 2604
ospfd> enable
ospfd# terminal length 0 // 该命令的目的是设置一次全部输出到屏幕,以便后续Python脚本一次获取输出内容
ospfd# configure terminal
ospfd(config)# router ospf
ospfd(config-router)# network 1.1.1.0/24 area 0.0.0.1
ospfd(config-router)# network 1.1.2.0/24 area 0.0.0.1
ospfd(config-router)# network 1.10.4.0/24 area 0.0.0.1
ospfd(config-router)# write
此时再次查看ospf邻居,与ospf lsdb,应该能够获取到对应的数据条目。
ospfd(config-router)# do show ip ospf neighbor
ospfd(config-router)# do show ip ospf database network
至此ospf qugga配置完毕。