利用Quagga軟件 將你的CentOS設備變成OSPF路由器的方法

Quagga是一款開源路由軟件套件,它可以用來將你的Linux設備變成一個功能完備的路由器,支持幾種主要的路由協(xié)議,比如RIP、OSPF、BGP或ISIS路由器。它完全為IPv4和IPv6作好了準備,還支持路由/前綴過濾。萬一你生產(chǎn)環(huán)境中的路由器出現(xiàn)了故障,手頭又沒有備用的路由器,死等替換件送來,Quagga就能派得上大用場。只要配置得當,Quagga甚至可以配置成生產(chǎn)環(huán)境中的路由器。
我們在本教程中將連接兩個假設的分支機構網(wǎng)絡(比如192.168.1.0/24和172.17.1.0/24),這兩個網(wǎng)絡之間采用了一條專用的鏈路。
我們的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軟件包含有幾個協(xié)同運行的后臺程序。我們在本教程中將著重介紹設置下列后臺程序。
Zebra:核心后臺程序,負責內(nèi)核接口和靜態(tài)路由。
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
我們首先創(chuàng)建一個Zebra配置文件,然后啟動Zebra后臺程序。
# cp /usr/share/doc/quagga-XXXXX/zebra.conf.sample /etc/quagga/zebra.conf
# service zebra start
# chkconfig zebra on
啟動vtysh命令外殼:
# vtysh
首先,我們?yōu)閆ebra配置日志文件。為此,輸入下列內(nèi)容,進入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參數(shù):
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
繼續(xù)配置eth1參數(shù):
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
現(xiàn)在驗證配置:
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
我們先創(chuàng)建一個OSPF配置文件,然后啟動OSPF后臺程序:
# cp /usr/share/doc/quagga-XXXXX/ospfd.conf.sample /etc/quagga/ospfd.conf
# service ospfd start
# chkconfig ospfd on
現(xiàn)在啟動vtysh外殼,繼續(xù)進行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的網(wǎng)絡:
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鄰居現(xiàn)在應該會出現(xiàn)。只要ospfd在運行,通過vtysh外殼所作的任何與OSPF有關的配置變更都會立即生效,沒必要重啟ospfd。
在下一個部分,我們將驗證已安裝的Quagga環(huán)境。
驗證
1. 用ping來測試
首先,你應該能夠從site-A來ping檢測site-B的局域網(wǎng)了網(wǎng)。確保你的防火墻沒有阻止ping檢測流量。
[root@site-A-RTR ~]# ping 172.16.1.1 -c 2
2. 檢查路由表
內(nèi)核和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外殼里面,你可以檢查必要的鄰居有沒有出現(xiàn),是否記住合適的路由。
[root@site-A-RTR ~]# vtysh
site-A-RTR# show ip ospf neighbor
以上就是使用Quagga配置基本的OSPF。通常來說,Quagga讓我們很容易配置普通的Linux設備,以便支持OSPF、RIP或BGP等動態(tài)路由協(xié)議。支持Quagga的設備能夠與你網(wǎng)絡中可能擁有的其他任何路由器進行聯(lián)系、交換路由。
由于Quagga支持幾種主要的開放標準路由協(xié)議,它在許多場景下可能是優(yōu)先的選擇。更棒的是,Quagga的命令行接口與思科或瞻博等各大路由器廠商的命令行接口幾乎一樣;這樣一來,部署和維護設備Quagga設備就顯得非常容易。謝謝閱讀,希望能幫到大家,請繼續(xù)關注腳本之家,我們會努力分享更多優(yōu)秀的文章。
相關文章
Fedora Linux 42 穩(wěn)定版發(fā)布: 帶來大量新功能和軟件更新
Fedora 42昨日發(fā)布,這是 Red Hat 贊助開發(fā)的杰出前沿 Linux 發(fā)行版的最新版,包含大量新功能和軟件更新,使其成為 2025 年上半年發(fā)布的一款出色的 Linux 操作系統(tǒng)之一,內(nèi)2025-04-16如何在Linux查看硬盤信息? 查看Linux硬盤大小類型和硬件信息的5種方法
使用Linux系統(tǒng)的過程中,查看和了解硬盤信息是非常重要的工作,尤其是對于系統(tǒng)管理員而言,那么在Linux系統(tǒng)中如何查看硬盤信息?以下是具體內(nèi)容介紹2025-03-12如何在 Linux 中查看 CPU 詳細信息? 3招輕松查看CPU型號、核心數(shù)和溫度
在日常運維工作中,獲取 CPU 信息是系統(tǒng)運維管理員常見的工作內(nèi)容,無論是為了性能調(diào)優(yōu)、硬件升級還是僅僅滿足好奇心2025-03-11什么是 Arch Linux? 獨樹一幟的Arch Linux發(fā)行版分析
Arch Linux是為簡化,優(yōu)化,現(xiàn)代化,實用主義,用戶中心和多功能性而創(chuàng)建Linux發(fā)行版,究竟是什么讓 Arch 與眾不同?下面我們就來簡要解讀2025-02-19如何在Linux環(huán)境下制作 Win11裝機U盤?
一直用的linux辦公,想要將筆記本電腦從 Linux 系統(tǒng)切換回 Windows 11,我們可以制作一個win11裝機u盤,詳細如下2025-02-17Rsnapshot怎么用? 基于Rsync的強大Linux備份工具使用指南
Rsnapshot 不僅可以備份本地文件,還能通過 SSH 備份遠程文件,接下來詳細介紹如何安裝、配置和使用 Rsnapshot,包括創(chuàng)建每小時、每天、每周和每月的本地備份,以及如何進2025-02-06Linux Kernel 6.13發(fā)布:附更新內(nèi)容及新特性解讀
Linux 內(nèi)核 6.13 正式發(fā)布,新版本引入了惰性搶占支持,簡化內(nèi)核搶占邏輯,通過減少與調(diào)度器相關的調(diào)用次數(shù),讓內(nèi)核在運行時表現(xiàn)更優(yōu),從而提高效率2025-01-23五大特性引領創(chuàng)新! 深度操作系統(tǒng) deepin 25 Preview預覽版發(fā)布
今日,深度操作系統(tǒng)正式推出deepin 25 Preview版本,該版本集成了五大核心特性:磐石系統(tǒng)、全新DDE、Treeland窗口合成器、AI For OS以及Distrobox子系統(tǒng)2025-01-18Linux Mint Xia 22.1重磅發(fā)布: 重要更新一覽
Beta 版 Linux Mint“Xia” 22.1 發(fā)布,新版本基于 Ubuntu 24.04,內(nèi)核版本為 Linux 6.8,這次更新帶來了諸多優(yōu)化和改進,進一步鞏固了 Mint 在 Linux 桌面操作系統(tǒng)領域的2025-01-16LinuxMint怎么安裝? Linux Mint22下載安裝圖文教程
Linux Mint22發(fā)布以后,有很多新功能,很多朋友想要下載并安裝,該怎么操作呢?下面我們就來看看詳細安裝指南2025-01-16