好吧, 因为某些原因, 需要学习一下. 感觉对于网络通信不那么了解的我来说还是蛮困难的, 这里简单记录备忘一下;)
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, 黑洞路由还是有很多学习资料的, 有时间再学习下
- quagga手册:
- 搭建使用教程:
- bgp相关内容:
- 黑洞路由: http://packetlife.net/blog/2009/jul/6/remotely-triggered-black-hole-rtbh-routing/
- 黑洞路由: http://www.cisco.com/web/about/security/intelligence/blackhole.pdf