想玩路由器吗?使用 Quagga 将你的 CentOS 变成 OSPF 路由器

想玩路由器吗?使用 Quagga 将你的 CentOS 变成 OSPF 路由器

Quagga是一个开源路由软件套件,可以将Linux变成支持如RIP、OSPF、BGP和IS-IS等主要路由协议的路由器。它具有对IPv4和IPv6的完整支持,并支持路由/前缀过滤。Quagga可以是你生命中的救星,以防你的生产路由器一旦宕机,而你没有备用的设备而只能等待更换。通过适当的配置,Quagga甚至可以作为生产路由器。

本教程中,我们将连接假设之间具有专线连接的两个分支机构网络(例如,192.168.1.0/24和172.17.1.0/24)。

我们的CentOS位于所述专用链路的两端。两台主机名分别设置为“site-A-RTR”和“site-B-RTR'。下面是IP地址的详细信息。

  • Site-A: 192.168.1.0/24
  • Site-B: 172.16.1.0/24
  • 两个 Linux 路由器之间的对等网络: 10.10.10.0/30

Quagga包括了几个协同工作的守护进程。在本教程中,我们将重点建立以下守护进程。

  1. Zebra: 核心守护进程,负责内核接口和静态路由。
  2. Ospfd: IPv4 OSPF 守护进程。

在CentOS上安装Quagga

我们使用yum安装Quagga。


  1. # yum install quagga

在CentOS7,SELinux默认会阻止quagga将配置文件写到/usr/sbin/zebra。这个SELinux策略会干扰我们接下来要介绍的安装过程,所以我们要禁用此策略。对于这一点,无论是关闭SELinux(这里不推荐),还是如下启用“zebrawriteconfig”都可以。如果你使用的是CentOS 6的请跳过此步骤。


  1. # setsebool -P zebra_write_config 1

如果没有做这个修改,在我们尝试在Quagga命令行中保存配置的时候看到如下错误。


  1. Can't open configuration file /etc/quagga/zebra.conf.OS1Uu5.

安装完Quagga后,我们要配置必要的对等IP地址,并更新OSPF设置。Quagga自带了一个命令行称为vtysh。vtysh里面用到的Quagga命令与主要的路由器厂商如思科和Juniper是相似的。

步骤 1: 配置 Zebra

我们首先创建Zebra配置文件,并启用Zebra守护进程。


  1. # cp /usr/share/doc/quagga-XXXXX/zebra.conf.sample /etc/quagga/zebra.conf
  2. # service zebra start
  3. # chkconfig zebra on

启动vtysh命令行:


  1. # vtysh

首先,我们为Zebra配置日志文件。输入下面的命令进入vtysh的全局配置模式:


  1. site-A-RTR# configure terminal

指定日志文件位置,接着退出模式:


  1. site-A-RTR(config)# log file /var/log/quagga/quagga.log
  2. site-A-RTR(config)# exit

永久保存配置:


  1. site-A-RTR# write

接下来,我们要确定可用的接口并按需配置它们的IP地址。


  1. site-A-RTR# show interface


  1. Interface eth0 is up, line protocol detection is disabled
  2. . . . . .
  3. Interface eth1 is up, line protocol detection is disabled
  4. . . . . .

配置eth0参数:


  1. site-A-RTR# configure terminal
  2. site-A-RTR(config)# interface eth0
  3. site-A-RTR(config-if)# ip address 10.10.10.1/30
  4. site-A-RTR(config-if)# description to-site-B
  5. site-A-RTR(config-if)# no shutdown

继续配置eth1参数:


  1. site-A-RTR(config)# interface eth1
  2. site-A-RTR(config-if)# ip address 192.168.1.1/24
  3. site-A-RTR(config-if)# description to-site-A-LAN
  4. site-A-RTR(config-if)# no shutdown

现在验证配置:


  1. site-A-RTR(config-if)# do show interface


  1. Interface eth0 is up, line protocol detection is disabled
  2. . . . . .
  3. inet 10.10.10.1/30 broadcast 10.10.10.3
  4. . . . . .
  5. Interface eth1 is up, line protocol detection is disabled
  6. . . . . .
  7. inet 192.168.1.1/24 broadcast 192.168.1.255
  8. . . . . .


  1. site-A-RTR(config-if)# do show interface description


  1. Interface Status Protocol Description
  2. eth0 up unknown to-site-B
  3. eth1 up unknown to-site-A-LAN

永久保存配置:


  1. site-A-RTR(config-if)# do write

在site-B上重复上面配置IP地址的步骤。

如果一切顺利,你应该可以在site-A的服务器上ping通site-B上的对等IP地址10.10.10.2了。

注意:一旦Zebra的守护进程启动了,在vtysh命令行中的任何改变都会立即生效。因此没有必要在更改配置后重启Zebra守护进程。

步骤 2: 配置OSPF

我们首先创建OSPF配置文件,并启动OSPF守护进程:


  1. # cp /usr/share/doc/quagga-XXXXX/ospfd.conf.sample /etc/quagga/ospfd.conf
  2. # service ospfd start
  3. # chkconfig ospfd on

现在启动vtysh命令行来继续OSPF配置:


  1. # vtysh

输入路由配置模式:


  1. site-A-RTR# configure terminal
  2. site-A-RTR(config)# router ospf

可选配置路由id:


  1. site-A-RTR(config-router)# router-id 10.10.10.1

添加在OSPF中的网络:


  1. site-A-RTR(config-router)# network 10.10.10.0/30 area 0
  2. site-A-RTR(config-router)# network 192.168.1.0/24 area 0

永久保存配置:


  1. site-A-RTR(config-router)# do write

在site-B上重复和上面相似的OSPF配置:


  1. site-B-RTR(config-router)# network 10.10.10.0/30 area 0
  2. site-B-RTR(config-router)# network 172.16.1.0/24 area 0
  3. site-B-RTR(config-router)# do write

OSPF的邻居现在应该启动了。只要ospfd在运行,通过vtysh的任何OSPF相关配置的改变都会立即生效而不必重启ospfd。

下一节,我们会验证我们的Quagga设置。

验证

1. 通过ping测试

首先你应该可以从site-A ping同site-B的LAN子网。确保你的防火墙没有阻止ping的流量。


  1. [root@site-A-RTR ~]# ping 172.16.1.1 -c 2

2. 检查路由表

必要的路由应该同时出现在内核与Quagga理由表中。


  1. [root@site-A-RTR ~]# ip route


  1. 10.10.10.0/30 dev eth0 proto kernel scope link src 10.10.10.1
  2. 172.16.1.0/30 via 10.10.10.2 dev eth0 proto zebra metric 20
  3. 192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.1


  1. [root@site-A-RTR ~]# vtysh
  2. site-A-RTR# show ip route


  1. Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
  2. I - ISIS, B - BGP, > - selected route, * - FIB route
  3.  
  4. O 10.10.10.0/30 [110/10] is directly connected, eth0, 00:14:29
  5. C>* 10.10.10.0/30 is directly connected, eth0
  6. C>* 127.0.0.0/8 is directly connected, lo
  7. O>* 172.16.1.0/30 [110/20] via 10.10.10.2, eth0, 00:14:14
  8. C>* 192.168.1.0/24 is directly connected, eth1

3. 验证OSPF邻居和路由

在vtysh命令行中,你可以检查必要的邻居是否在线与是否已经学习了合适的路由。


  1. [root@site-A-RTR ~]# vtysh
  2. site-A-RTR# show ip ospf neighbor

本教程中,我们将重点放在使用Quagga配置基本的OSPF。在一般情况下,Quagga能让我们能够轻松在一台普通的Linux机器上配置动态路由协议,如OSPF、RIP或BGP。启用了Quagga的机器可以与你网络中的其他路由器进行通信和交换路由信息。由于它支持主要的开放标准的路由协议,它或许是许多情况下的首选。更重要的是,Quagga的命令行界面与主要路由器厂商如思科和Juniper几乎是相同的,这使得部署和维护Quagga机器变得非常容易。

希望这些对你们有帮助。

原文发布时间:2014-11-15

本文来自云栖合作伙伴“linux中国”

时间: 2024-11-08 22:16:08

想玩路由器吗?使用 Quagga 将你的 CentOS 变成 OSPF 路由器的相关文章

想玩 BGP 路由器么?用 CentOS 做一个

想玩 BGP 路由器么?用 CentOS 做一个 在之前的教程中,我对如何简单地使用Quagga把CentOS系统变成一个不折不扣地OSPF路由器做了一些介绍.Quagga是一个开源路由软件套件.在这个教程中,我将会重点讲讲如何把一个Linux系统变成一个BGP路由器,还是使用Quagga,演示如何建立BGP与其它BGP路由器对等. 在我们进入细节之前,一些BGP的背景知识还是必要的.边界网关协议(即BGP)是互联网的域间路由协议的实际标准.在BGP术语中,全球互联网是由成千上万相关联的自治系统

窃目的仅仅是因为想玩网游

荆楚网消息(见习记者付韵 通讯员吴铁龙)日前,咸宁市通城县警方成功告破一起2.2万元现金盗窃案,另人唏嘘的是,小偷竟然是一名只有11岁的小学男生,其盗窃目的仅仅是因为想玩http://www.aliyun.com/zixun/aggregation/4824.html">网游,买游戏装备. 5月26日,黎女士发现2万元钱不翼而飞,而在一周前,她放在家中的两千元钱也曾被盗.通城县公安局刑侦大队城区中队接警后随即展开调查,发现此案是熟人所为,随即对能接触到黎女士房门钥匙的人展开调查,并最终怀疑

阿里巴巴邵晓锋:电子商务要想玩好不容易

1月14消息,"我是很坦率的告诉大家,电子商务是门槛不高,试一试,玩一玩的代价不高,可以一试.但是我想跟大家说,电子商务要想玩好,真不容易."近日,阿里巴巴中国事业部总经理邵晓锋在2010中小企业网络营销年会上对广大小企业客户和网商如此强调. 邵晓锋在会上回忆说,自己几年前逢人便说"电子商务一定是未来的趋势.电子商务的门槛很低,成本很小,掌握非常容易,大家都可以尝试." 于是,他成功"忽悠"了一帮同学做电子商务,每个人至少投资了几千万,后来只有一

B2C不是想玩就能玩,寻找出路能做什么

听到B2C这个词,特别是前面加了"独立"的,相信大部分人都会表示"没有钱不要找死!"."有了钱也是等死!"诚然,独立的B2C平台不是想玩就能玩的,一来建设成本高昂,二来有效流量奇贵,三来竞争优势不明显,好比大海中的孤岛,随时有可能被海啸淹没.如果不是想着自己要占领一个岛屿的,那成为依附在大的电商平台上的B2C商家倒也还不错,比如天猫.京东.凡客上的,虽然是做人家的身上的"寄生虫",但倒也福祸相依,赚点钱生存下来不是问题. 一个

2014年还有人想玩电商么?

不必说京东天猫苏宁的平台大战,也不必说B2C.B2B或者时髦的O2O,更加不必说大佬之间的口水战,互联网评论人士的闲吃萝卜淡操心,只要看看双十一期间数百亿的销售额,只要看看互联网中无处不在的电商平台广告,只要看看电商制造的各种促销噱头,想必谁也经不起这样的诱惑,要试图在电商的浑水里面去摸上一两条鱼.于是乎,本来只够做淘宝集市的资本,也要在天猫.京东里面游一游,本来只够开个网上商店的货源,非得要弄个电商平台试一试.2013年,很多人都在拼电商.拼包括了很多内容,首先应该是插,横插一脚,保证脚先迈进

gns3-GNS3安装后路由器列表是空的?需要怎么导入各种路由器?

问题描述 GNS3安装后路由器列表是空的?需要怎么导入各种路由器? 我安装完GNS3 ,但是不知道为什么路由器列表是空的,如下图,我已经点击了路由 ,但是列表是空的????

《OSPF网络设计解决方案(第2版)》一2.6 案例分析:为网络添加一台新的OSPF路由器

2.6 案例分析:为网络添加一台新的OSPF路由器 OSPF网络设计解决方案(第2版)本节案例分析所提供的情景涵盖了本章所涉及的大部分信息内容.情景中,假设你需要为网络添加一台新的 OSPF 路由器.这里的案例分析详细地阐述了添加一台新的 OSPF 路由器到网络中会对当前网络产生哪些影响.以下是对添加新的路由器到网络中将发生的事件的顺序描述,你可以对照图2-12到图2-15,以便更加直观地理解这一过程. 1.一台新的OSPF路由器被添加到网络中. 2.新的路由器立即使用代表所有OSPF路由器的多

tenda路由器为什么输入192.168.1.1进不去路由器

设置路由器无线上网时,在浏览器中输入192.168.1.1 进不去路由器的问题 访问路由器IP(通常是http://192.168.1.1或http://192.168.0.1/) 但却打不开网页,这到底是什么原因呢? 下面来看看哪些会导致路由器管理页面无法打开: 检查是否输入错误导致打不开 不少网友在浏览器地址栏中输错了地址,结果进不去路由器,输入下面这些错误地址都无法进入路由器: www.192.168.1.1 http 192.168.1.1 192.168.1.0 192.168.11

不想玩大数据的厨子都不是冒险家

湘鄂情抛弃餐饮主业,角逐大数据,号称要用互联网思维改造广电,上演了年度商业界最看不懂的转型.关于创始人孟凯,有人说他飞蛾扑火,有人说他病急乱投医,但他的回复是:你说我傻逼,其实不知道我有多牛逼. 湘鄂情董事长孟凯的面前齐刷刷摆着四部手机. "昨天约了一个事,因为部长不在,要推迟到周末,到时候约好时间我告诉你." "我怀疑这孙子是不是昨天出门就出事了,事情能办,你跟他说." 微信.短信.电话,坐在我们面前的孟凯在不同手机的不同应用之间频繁切换,以至于已经很难有整块时间