萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> 使用Quagga軟件配置CentOS設備的方法詳解

使用Quagga軟件配置CentOS設備的方法詳解

  Quagga是一款路由軟件,能夠將Linux設備打造成路由器,實現強大的真正路由器功能,那麼具體該怎麼做呢?下面隨小編一起來了解下如何使用Quagga配置CentOS設備的方法。

  Quagga支持幾種主要的路由協議,比如RIP、OSPF、BGP或ISIS路由器。它完全為IPv4和IPv6作好了准備,還支持路由/前綴過濾。萬一你生產環境中的路由器出現了故障,手頭又沒有備用的路由器,死等替換件送來,Quagga就能派得上大用場。只要配置得當,Quagga甚至可以配置成生產環境中的路由器。

  我們在本教程中將連接兩個假設的分支機構網絡(比如192.168.1.0/24和172.17.1.0/24),這兩個網絡之間采用了一條專用的鏈路。

   使用Quagga軟件配置CentOS設備的方法詳解

  我們的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軟件包含有幾個協同運行的後台程序。我們在本教程中將著重介紹設置下列後台程序。

  Zebra:核心後台程序,負責內核接口和靜態路由。

  Ospfd:IPv4 OSPF後台程序。

  將Quagga安裝到CentOS上

  我們首先使用yum來安裝Quagga。

  # yum install quagga

  在CentOS 7上,SELinux在默認情況下阻止/usr/sbin/zebra寫入到其配置目錄中。這個SELinux策略干擾了我們所要描述的安裝過程,於是我們想禁止該策略。為此,關閉SELinux(不推薦),或者啟用“zebra_write_config”布爾表達式,如下所示。如果你使用CentOS 6,可以跳過這一步。

  # setsebool -P zebra_write_config 1

  要是不進行這種更改,我們在試圖從Quagga的命令外殼裡面保存Zebra配置時,就會看到下列錯誤。

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

  (無法打開配置文件/etc/quagga/zebra.conf.OS1Uu5。)

  Quagga安裝完畢後,我們就配置必要的對等IP地址,並更新OSPF設置。Quagga隨帶一個名為vtysh的命令行外殼。vtysh裡面使用的Quagga命令類似思科或瞻博等各大路由器廠商的那些命令。

  第一個階段:配置Zebra

  我們首先創建一個Zebra配置文件,然後啟動Zebra後台程序。

  # cp /usr/share/doc/quagga-XXXXX/zebra.conf.sample /etc/quagga/zebra.conf

  # service zebra start

  # chkconfig zebra on

  啟動vtysh命令外殼:

  # vtysh

  首先,我們為Zebra配置日志文件。為此,輸入下列內容,進入vtysh中的全局配置模式:

  site-A-RTR# configure terminal

  並指定日志文件位置,然後退出該模式:

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

  site-A-RTR(config)# exit

  永久性保存配置:

  site-A-RTR# write

  下一步,我們在必要時確定可用接口,然後配置IP地址。

  site-A-RTR# show interface

  Interface eth0 is up, line protocol detection is disabled

  。 。 。 。 。

  Interface eth1 is up, line protocol detection is disabled

  。 。 。 。 。

  配置eth0參數:

  site-A-RTR# configure terminal

  site-A-RTR(config)# interface eth0

  site-A-RTR(config-if)# ip address 10.10.10.1/30

  site-A-RTR(config-if)# description to-site-B

  site-A-RTR(config-if)# no shutdown

  繼續配置eth1參數:

  site-A-RTR(config)# interface eth1

  site-A-RTR(config-if)# ip address 192.168.1.1/24

  site-A-RTR(config-if)# description to-site-A-LAN

  site-A-RTR(config-if)# no shutdown

上一頁12下一頁共2頁

  現在驗證配置:

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

  Interface eth0 is up, line protocol detection is disabled

  。 。 。 。 。

  inet 10.10.10.1/30 broadcast 10.10.10.3

  。 。 。 。 。

  Interface eth1 is up, line protocol detection is disabled

  。 。 。 。 。

  inet 192.168.1.1/24 broadcast 192.168.1.255

  。 。 。 。 。

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

  Interface Status Protocol Description

  eth0 up unknown to-site-B

  eth1 up unknown to-site-A-LAN

  永久性保存配置:

  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後台程序:

  # cp /usr/share/doc/quagga-XXXXX/ospfd.conf.sample /etc/quagga/ospfd.conf

  # service ospfd start

  # chkconfig ospfd on

  現在啟動vtysh外殼,繼續進行OSPF配置:

  # vtysh

  進入路由器配置模式:

  site-A-RTR# configure terminal

  site-A-RTR(config)# router ospf

  還可以手動設置router-id:

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

  添加將參與OSPF的網絡:

  site-A-RTR(config-router)# network 10.10.10.0/30 area 0

  site-A-RTR(config-router)# network 192.168.1.0/24 area 0

  永久性保存配置:

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

  針對site-B,也重復類似的OSPF配置:

  site-B-RTR(config-router)# network 10.10.10.0/30 area 0

  site-B-RTR(config-router)# network 172.16.1.0/24 area 0

  site-B-RTR(config-router)# do write

  OSPF鄰居現在應該會出現。只要ospfd在運行,通過vtysh外殼所作的任何與OSPF有關的配置變更都會立即生效,沒必要重啟ospfd。

  在下一個部分,我們將驗證已安裝的Quagga環境。

  驗證

  1. 用ping來測試

  首先,你應該能夠從site-A來ping檢測site-B的局域網了網。確保你的防火牆沒有阻止ping檢測流量。

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

  2. 檢查路由表

  內核和Quagga路由表裡面應該都有必要的路由。

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

  10.10.10.0/30 dev eth0 proto kernel scope link src 10.10.10.1

  172.16.1.0/30 via 10.10.10.2 dev eth0 proto zebra metric 20

  192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.1

  [root@site-A-RTR ~]# vtysh

  site-A-RTR# show ip route

  Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,

  I - ISIS, B - BGP, 》 - selected route, * - FIB route

  O 10.10.10.0/30 [110/10] is directly connected, eth0, 00:14:29

  C》* 10.10.10.0/30 is directly connected, eth0

  C》* 127.0.0.0/8 is directly connected, lo

  O》* 172.16.1.0/30 [110/20] via 10.10.10.2, eth0, 00:14:14

  C》* 192.168.1.0/24 is directly connected, eth1

  3. 驗證OSPF鄰居和路由器

  在vtysh外殼裡面,你可以檢查必要的鄰居有沒有出現,是否記住合適的路由。

  [root@site-A-RTR ~]# vtysh

  site-A-RTR# show ip ospf neighbor

   使用Quagga軟件配置CentOS設備的方法詳解

  通常來說,Quagga讓我們很容易配置普通的Linux設備,以便支持OSPF、RIP或BGP等動態路由協議

copyright © 萬盛學電腦網 all rights reserved