Quagga 是成熟的開源路由軟體套件,支援 RIP、OSPF、BGP、IS-IS 等協定,可將 Linux 伺服器轉型為功能完整的路由器。本文以 CentOS 7 為例,示範兩站點 (Site-A、Site-B) 透過專線互聯,啟用 OSPF 實現動態路由交換的完整配置流程。
| 站點 | LAN 網段 | WAN 互聯 IP | 主機名 |
|---|---|---|---|
| Site-A | 192.168.1.0/24 | 10.10.10.1/30 | site-A-RTR |
| Site-B | 172.16.1.0/24 | 10.10.10.2/30 | site-B-RTR |
yum install -y quagga
# CentOS 7 預設 SELinux 阻擋 zebra 寫入配置,啟用布林值
setsebool -P zebra_write_config 1
# 或暫時設定 permissive (不建議生產環境)
# setenforce 0
systemctl enable --now zebra ospfd
vtysh
configure terminal
log file /var/log/quagga/quagga.log
service password-encryption
!
interface eth0
description to-WAN
ip address 10.10.10.1/30 # Site-B 改為 10.10.10.2/30
no shutdown
!
interface eth1
description to-LAN
ip address 192.168.1.1/24 # Site-B 改為 172.16.1.1/24
no shutdown
!
write
exit
vtysh
configure terminal
router ospf
ospf router-id 1.1.1.1 # Site-B 用 2.2.2.2,建議用 Loopback IP
network 10.10.10.0/30 area 0.0.0.0
network 192.168.1.0/24 area 0.0.0.0 # Site-B 對應 172.16.1.0/24
passive-interface eth1 # LAN 介面不發送 Hello,僅宣告網段
!
write
exit
# 檢查 OSPF 鄰居狀態 (應為 Full/DR 或 Full/BDR)
show ip ospf neighbor
# 檢查路由表包含對端 LAN 網段
show ip route ospf
# 輸出應含 O 172.16.1.0/24 [110/20] via 10.10.10.2, eth0
passive-interface 僅用於 LAN,WAN 介面必須主動發送 Hello。ausearch -m avc -ts recent,必要時建立自訂模組或設定 permissive。area 0.0.0.0 authentication message-digest + ip ospf message-digest-key 1 md5 。ip ospf hello-interval 10 ip ospf dead-interval 40。完成上述步驟,你已擁有一對高可用、動態路由的 Linux 路由器,可替代中小型專用設備。
Ubuntu 12.04 关闭恢复模式:Grub 配置 GRUB_DISABLE_RECOVERY 与应急进入方法
打造 Linux 家庭媒體伺服器:硬體選型、軟體生態與實戰部署
Ubuntu 12.04 笔记本过热严重解决方案:关闭独立显卡与集显优化
Linux 檔案類型與副檔名關係解析:一般檔/目錄/字元裝置/區塊裝置/符號連結/管道/Socket 完整分類
Linux Tmux 設定檔最佳實踐:Vim 風格鍵綁、分割視窗導航、面板大小調整、命令列模式、滑鼠支援、外掛管理
Linux Vsftpd 500 OOPS: cannot change directory 徹底解決(SELinux 篇)