安装使用quagga

好吧, 因为某些原因, 需要学习一下quagga. 感觉对于网络通信不那么了解的我来说还是蛮困难的, 这里简单记录备忘一下;)

quagga简单说就是一个路由套件, 可以让普通机器像路由器一样工作(实现很多网络相关的协议bgp, ospf, rip等等). 因为牵扯到bgp建邻居和路由之类的问题, 统一使用vagrant提供的多台ubuntu虚拟机上做实验~

安装

起初我以为安装和运行quagga是一件比较容易的事情, 但事实证明我我错了~ 先下载最新的源码包, 一上来configure就出错:

1
2
3
./configure

configure: error: cannot find install-sh, install.sh, or shtool in "." "./.." "./../.."

好吧, 网上查了一下, 发现需要安装下libtool(这里有个简单的说明), 然后跑一下autoreconf:

1
2
3
aptitude install libtool

autoreconf -vif

成功安装后, 会有许多相关的程序, 包含bgpd, vtysh等等. 之前遇到的一个问题是启动vtysh会报错:

1
Exiting: failed to connect to any daemons.

具体原因是vtysh的用户和用户组不对. 用strace跟踪下发现是权限的问题, 这个跟configure有关, 推荐设置一下configure选项的user和group. 详细的可以参考这里.

使用

因为一开始是需要研究bgp路由, 一上来就以为启动bgpd程序, 使用vtysh配置下就万事大吉了, 后来发现无论怎么改都没有达到预期的效果~ 后来发现是必须要启动zebra这个程序滴:

zebra is an IP routing manager. It provides kernel routing table updates, interface lookups, and redistribution of routes between different routing protocols.

至于具体的使用就不多说了, 可以参考学习资料~

学习资料

有关bgp, qugga, 黑洞路由还是有很多学习资料的, 有时间再学习下

  1. quagga手册: http://www.nongnu.org/quagga/docs/quagga.html
  2. 搭建使用教程: http://xmodulo.com/centos-bgp-router-quagga.html
  3. bgp相关内容: http://www.cisco.com/c/en/us/support/docs/ip/border-gateway-protocol-bgp/26634-bgp-toc.html
  4. 黑洞路由: http://packetlife.net/blog/2009/jul/6/remotely-triggered-black-hole-rtbh-routing/
  5. 黑洞路由: http://www.cisco.com/web/about/security/intelligence/blackhole.pdf

Comments