搜尋
首頁系統教程Linux將你的 CentOS 變成 OSPF 路由器

將你的 CentOS 變成 OSPF 路由器

Jan 10, 2024 am 09:10 AM
linuxlinux教程紅帽linux系統linux指令linux認證紅帽linuxlinux視頻

導讀 Quagga是一個開源路由軟體套件,可以將Linux變成支援如RIP、OSPF、BGP和IS-IS等主要路由協定的路由器。它具有對IPv4和IPv6的完整支持,並支援路由/前綴過濾。 Quagga可以是你生命中的救星,以防你的生產路由器一旦宕機,而你沒有備用的設備而只能等待更換。透過適當的配置,Quagga甚至可以作為生產路由器。

将你的 CentOS 变成 OSPF 路由器

#本教程中,我們將連接假設之間具有專線連接的兩個分支機構網路(例如,192.168.1.0/24和172.17.1.0/24)。

将你的 CentOS 变成 OSPF 路由器

#我們的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。

# yum install quagga

在CentOS7,SELinux預設會阻止quagga將設定檔寫入/usr/sbin/zebra。這個SELinux策略會幹擾我們接下來要介紹的安裝過程,所以我們要停用此策略。對於這一點,無論是關閉SELinux(這裡不建議),還是如下啟用“zebrawriteconfig”都可以。如果你使用的是CentOS 6的請跳過此步驟。

# setsebool -P zebra_write_config 1

如果沒有做這個修改,在我們嘗試在Quagga命令列中保存配置的時候看到如下錯誤。

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

安裝完Quagga後,我們要設定必要的對等IP位址,並更新OSPF設定。 Quagga自帶了一個命令列稱為vtysh。 vtysh裡面用到的Quagga指令與主要的路由器廠商如思科和Juniper是相似的。

步驟 1: 設定 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

現在驗證設定:

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

可選設定路由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。

驗證

1. 透過ping測試

首先你應該可以從site-A ping同site-B的LAN子網路。確保你的防火牆沒有阻止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來配置基本的OSPF。在一般情況下,Quagga能讓我們輕鬆在一台普通的Linux機器上設定動態路由協議,如OSPF、RIP或BGP。啟用了Quagga的機器可以與你網路中的其他路由器進行通訊和交換路由資訊。由於它支援主要的開放標準的路由協議,它或許是許多情況下的首選。更重要的是,Quagga的命令列介面與主要路由器廠商如思科和Juniper幾乎是相同的,這使得部署和維護Quagga機器變得非常容易。


以上是將你的 CentOS 變成 OSPF 路由器的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:Linux就该这么学。如有侵權,請聯絡admin@php.cn刪除
Linux的命令行環境如何使其比Windows更安全?Linux的命令行環境如何使其比Windows更安全?May 01, 2025 am 12:03 AM

Linux'scommandlinecanbemoresecurethanWindowsifmanagedcorrectly,butrequiresmoreuserknowledge.1)Linux'sopen-sourcenatureallowsforquicksecurityupdates.2)Misconfigurationcanleadtovulnerabilities.Windows'commandlineismorecontrolledbutlesscustomizable,with

如何在Linux中自動製作USB驅動器安裝如何在Linux中自動製作USB驅動器安裝Apr 30, 2025 am 10:04 AM

本指南說明瞭如何在Linux的啟動下自動安裝USB驅動器,從而節省了時間和精力。 步驟1:確定您的USB驅動器 使用LSBLK命令列出所有塊設備。 您的USB驅動器可能會標記為 /dev /sdb1, /dev /sdc1等

2025年,最佳Linux,Windows和Mac的最佳跨平台應用程序2025年,最佳Linux,Windows和Mac的最佳跨平台應用程序Apr 30, 2025 am 09:57 AM

跨平台應用程序已徹底改變了軟件開發,從而在Linux,Windows和MacOS等操作系統上實現了無縫功能。 這消除了根據您的設備切換應用程序的需求,提供一致的體驗

2025年AI和機器學習的最佳Linux工具2025年AI和機器學習的最佳Linux工具Apr 30, 2025 am 09:44 AM

人工智能(AI)正在迅速改變許多部門,從醫療保健和金融到藝術和音樂等創意領域。 Linux具有開源性,適應性和性能功能,已成為首要的Platfo

5最佳輕巧的Linux發行版,不帶GUI5最佳輕巧的Linux發行版,不帶GUIApr 30, 2025 am 09:38 AM

尋找沒有圖形用戶界面(GUI)的快速,最小和高效的Linux分佈? 輕巧,無GUI-Linux發行版非常適合較舊的硬件或服務器和嵌入式系統(例如服務器和嵌入式系統)。他們消耗較少的res

如何在Redhat發行中安裝葡萄酒10.0如何在Redhat發行中安裝葡萄酒10.0Apr 30, 2025 am 09:32 AM

Wine 10.0穩定版發布:在Linux上運行Windows應用更上一層樓 Wine,這款開源免費的應用程序,讓Linux用戶能夠在Unix/Linux類操作系統上運行Windows軟件和遊戲,迎來了10.0穩定版的發布!此版本已提供源代碼和二進制包下載,支持Linux、Windows和Mac等多種發行版。 這一版本凝聚了一年的辛勤工作和超過8600項改進,帶來了諸多令人興奮的提升。主要亮點包括: 增強對藍牙設備的支持。 提升對HID輸入設備的支持。 優化了32位和64位應用程序的運行性能。

如何在RHEL上安裝和配置SQL Server如何在RHEL上安裝和配置SQL ServerApr 30, 2025 am 09:27 AM

該教程通過在RHEL 8.x或9.x上安裝SQL Server 2022,通過SQLCMD命令行工具,數據庫創建和基本查詢連接。 先決條件 開始之前,請確保: 支持的RHEL版本(RHEL 8或9)。 Sudo

如何在Linux桌面上安裝Thunderbird 135如何在Linux桌面上安裝Thunderbird 135Apr 30, 2025 am 09:26 AM

Mozilla Thunderbird 135:功能強大的跨平台郵件客戶端 Mozilla Thunderbird是一款免費、開源、跨平台的郵件、日曆、新聞、聊天和聯繫人管理客戶端,旨在高效處理多個電子郵件帳戶和新聞源。 2025年2月5日,Mozilla發布了Thunderbird 135版本,引入了多項新功能、性能改進和安全修復。 Thunderbird 135 主要特性: Linux二進製文件的XZ打包: 文件更小,解包更快,並更好地與現代發行版集成。 Cookie存儲支持: 創建空間時

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器