【Linux实践】Linux服务器下的动态路由实践篇

路由协议如静态路由、动态路由 大家都知道,大家也知道linux下用的路由软件zebra。今天给大家普及一下Linux下的路由开源软件quagga,介绍quagga的原理及实现方法。

zebra和quagga是两款开源的路由软件,是由日本的一个开发团队编写的发布软件版本;命令格式和cisco的IOS很接近,有力的阻止了cisco的对路由软件市场的垄断。
目前zebra 于2005年就停止维护更新了,zebra变成一个守护进程,目前只有quagga在维护更新,目前是由 savannah.gnu.org这个组织维护。Quagga能够同时支持RIPv1、RIPv2、RIPng、OSPFv2、OSPFv3、BGP-4和 BGP-4+等诸多路由协议。

01实现原理

02 Zebra提供的功能

1、监听内核的netlink消息,创建接口、ip、路由等消息2、为OSPF/RIP/BGP路由程序提供接口,添加/删除路由3、内核事件发生时及时通知OSPF/RIP/BGP路由程序

03 动态路由程序的功能:

1、接收zebra通知的事件(如接口、路由、ip等消息)2、为相应的动态路由协议创建socket,收发相应的协议报文完成协议功能

04 Linux下模拟路由器

通过Linux搭建quagga的环境:1、安装一台真实的Linux系统(centos/Ubuntu或其他)或虚拟机的操作系统2、下载相应的quagga软件

05  CENTOS 搭建quagga路由器的办法

1、查看是否自带相应的quagga软件2、安装相应的quagga软件yum install quagga3、安装成功之后,会在/usr/sbin/目录下生成zebra、ospfd、ripd等程序

4、关闭selinux的策略,避免造成软件的服务无法启动setsebool -P zebra_write_config 1

为什么要关闭selinux服务呢?

原因:1、服务的兼容性 2、会引起很多不必要的麻烦 3、NSA主导开发,对服务、文件权限、网络端口控制极其严格

另外一种关闭方式,在/etc/selinux/config中把相应的选项修改为disabled。

5、在/etc/quagga目录下创建相应的服务的配置文件

把系统安装默认的举例文件zebra.conf.sample,复制到服务启动目录

6、启动相应的服务如zebra/rip/ospf/bgp等

7、开启vtysh chekconfig zebra on

8、通过本地的telnet方式登录

在相应的etc/quagga的配置文件中,增加password xxx, 然后重启相应的程序进程,zebra本地的端口是2601 rip:2602  ospf:2604

9、登录相应程序进行路由配置

10、记录日志的配置信息

在相应的程序当中开启日志记录:log file /var/log/quagga/xxx.log

以上就是linux系统下安装quagga路由程序的方法,对数通路由感兴趣的小伙伴儿可以试试,欢迎交流。

 

Spread the word. Share this post!

Meet The Author

Leave Comment