Quagga是一个开源软件,用于在linux上模拟路由器的配置,将一台普通的linux服务器实现一台简单的路由器/交换机的功能。它的操作命令保持和思科网络设备一致,和常用的shell命令有较大区别。对于网络工程师来说可能比较友好,但是对于普通用户,就比较脑壳疼了。
本文的配置以Centos6.10系统为例。
一、通过配置文件进行配置
1. 安装quagga
# yum install quagga
当然也可以通过下载源码编译,好处是变成出来的包可以通过发布工具进行批量部署。
2. 配置zebra.conf
!
! Zebra configuration saved from vty
! 2018/10/24 17:03:04
!
hostname Router
password zebra
enable password zebra
log file /data/services/quagga/quagga.log
!
interface eth0
!
interface eth1
!
interface lo
!
interface wlan
!
!
line vty
!
3. 配置ospfd.conf
!
! Zebra configuration saved from vty
! 2018/10/24 17:03:04
!
hostname ospfd
password zebra
log file /data/services/quagga/quagga.log
log stdout
!
!
!
interface eth0
!
interface eth1
!
interface lo
!
interface wlan
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 $password
ip ospf hello-interval 1
ip ospf dead-interval 3
ip ospf area 0.0.0.0
!
router ospf
ospf router-id192.168.1.1
network192.168.1.1/27 area 0.0.0.0
network192.168.1.2/32 area 0.0.0.0
!
line vty
!
4. 重启quagga
#service quagga restart
如果是编译源码部署的,没有service启动脚本,则kill重启zebra和ospfd进程。
二、通过vtysh工具进行配置
1. 执行vtysh进入路由配置界面。
2. 下面是一些常用配置命令。
–显示当前运行的配置
localhost.localdomain# show running-config
–进入配置模式
localhost.localdomain# configure terminal
localhost.localdomain(config)#
–配置网卡参数
localhost.localdomain(config)# interface wlan
localhost.localdomain(config-if)#
–配置ospf
localhost.localdomain(config)# router ospf
localhost.localdomain(config-router)#
–配置ospf路由id
localhost.localdomain(config-router)# router-id xxx
–配置要宣告的网段和ip
localhost.localdomain(config-router)# network 192.168.1.1/27 area 0
–退出当前一层的配置界面
localhost.localdomain(config-router)# exit
–在配置模式下显示当前已修改的配置
localhost.localdomain(config-router)# do show running-config
–删除一条配置
localhost.localdomain(config-router)# no network192.168.1.1/27area 0
–保存修改的配置(注意是要退出配置模式下才能执行write操作写入配置文件并动态加载生效,无需重启进程)
localhost.localdomain# write
–查看ospf邻居(正常情况下应该能在邻居列表里看到交换机和其他ospf邻居)
localhost.localdomain# show ip ospf neighbor
三、注意事项
1. 交换机上可能会开启秘钥认证,这种情况下需要在interface中配置秘钥鉴权
2. ospf消息走组播地址224.0.0.5、224.0.0.6通信,注意iptables要放通这两个地址。