亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.430618.com 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

在 Linux 上使用開源軟件創建 SDN | Linux 中國

 

使用開源路由協議棧 Quagga,使你的 linux 系統成為一臺路由器。

  • 來源:https://linux.cn/article-12199-1.html
  • 作者:M Umer
  • 譯者:messon007

網絡路由協議分為兩大類:內部網關協議和外部網關協議。路由器使用內部網關協議在單個自治系統內共享信息。如果你用的是 Linux,則可以通過開源(GPLv2)路由協議棧 Quagga 使其表現得像一臺路由器。

Quagga 是什么?

Quagga 是一個 路由軟件包 ,并且是 GNU Zebra 的一個分支。它為類 Unix 平臺提供了所有主流路由協議的實現,例如開放最短路徑優先(OSPF),路由信息協議(RIP),邊界網關協議(BGP)和中間系統到中間系統協議(IS-IS)。

盡管 Quagga 實現了 IPv4 和 IPv6 的路由協議,但它并不是一個完整的路由器。一個真正的路由器不僅實現了所有路由協議,而且還有轉發網絡流量的能力。 Quagga 僅僅實現了路由協議棧,而轉發網絡流量的工作由 Linux 內核處理。

架構

Quagga 通過特定協議的守護程序實現不同的路由協議。守護程序名稱與路由協議相同,加了字母“d”作為后綴。Zebra 是核心,也是與協議無關的守護進程,它為內核提供了一個 抽象層 ,并通過 TCP 套接字向 Quagga 客戶端提供 Zserv API。每個特定協議的守護程序負責運行相關的協議,并基于交換的信息來建立路由表。

在 Linux 上使用開源軟件創建 SDN | Linux 中國

Quagga architecture

環境

本教程通過 Quagga 實現的 OSPF 協議來配置動態路由。該環境包括兩個名為 Alpha 和 Beta 的 centos 7.7 主機。兩臺主機共享訪問 192.168.122.0/24 網絡。

主機 Alpha:

IP:192.168.122.100/24 網關:192.168.122.1

主機 Beta:

IP:192.168.122.50/24 網關:192.168.122.1

安裝軟件包

首先,在兩臺主機上安裝 Quagga 軟件包。它存在于 CentOS 基礎倉庫中:

yum install quagga -y

啟用 IP 轉發

接下來,在兩臺主機上啟用 IP 轉發,因為它將由 Linux 內核來執行:

sysctl -w net.ipv4.ip_forward = 1
sysctl -p

配置

現在,進入 /etc/quagga 目錄并為你的設置創建配置文件。你需要三個文件:

  • zebra.conf:Quagga 守護程序的配置文件,你可以在其中定義接口及其 IP 地址和 IP 轉發
  • ospfd.conf:協議配置文件,你可以在其中定義將通過 OSPF 協議提供的網絡
  • daemons:你將在其中指定需要運行的相關的協議守護程序

在主機 Alpha 上,

 [root@alpha]# cat /etc/quagga/zebra.conf
interface eth0
 ip address 192.168.122.100/24
 ipv6 nd suppress-ra
interface eth1
 ip address 10.12.13.1/24
 ipv6 nd suppress-ra
interface lo
ip forwarding
line vty

[root@alpha]# cat /etc/quagga/ospfd.conf
interface eth0
interface eth1
interface lo
router ospf
 network 192.168.122.0/24 area 0.0.0.0
 network 10.12.13.0/24 area 0.0.0.0
line vty

[root@alphaa ~]# cat /etc/quagga/daemons
zebra=yes
ospfd=yes

在主機 Beta 上,

[root@beta quagga]# cat zebra.conf
interface eth0
 ip address 192.168.122.50/24
 ipv6 nd suppress-ra
interface eth1
 ip address 10.10.10.1/24
 ipv6 nd suppress-ra
interface lo
ip forwarding
line vty

[root@beta quagga]# cat ospfd.conf
interface eth0
interface eth1
interface lo
router ospf
 network 192.168.122.0/24 area 0.0.0.0
 network 10.10.10.0/24 area 0.0.0.0
line vty

[root@beta ~]# cat /etc/quagga/daemons
zebra=yes
ospfd=yes

配置防火墻

要使用 OSPF 協議,必須允許它通過防火墻:

firewall-cmd --add-protocol=ospf –permanent

firewall-cmd –reload

現在,啟動 zebra 和 ospfd 守護程序。

# systemctl start zebra
# systemctl start ospfd

用下面命令在兩個主機上查看路由表:

[root@alpha ~]# ip route show  
default via 192.168.122.1 dev eth0 proto static metric 100
10.10.10.0/24 via 192.168.122.50 dev eth0 proto zebra metric 20
10.12.13.0/24 dev eth1 proto kernel scope link src 10.12.13.1
192.168.122.0/24 dev eth0 proto kernel scope link src 192.168.122.100 metric 100

你可以看到 Alpha 上的路由表包含通過 192.168.122.50 到達 10.10.10.0/24 的路由項,它是通過協議 zebra 獲取的。同樣,在主機 Beta 上,該表包含通過 192.168.122.100 到達網絡 10.12.13.0/24 的路由項。

[root@beta ~]# ip route show
default via 192.168.122.1 dev eth0 proto static metric 100
10.10.10.0/24 dev eth1 proto kernel scope link src 10.10.10.1
10.12.13.0/24 via 192.168.122.100 dev eth0 proto zebra metric 20
192.168.122.0/24 dev eth0 proto kernel scope link src 192.168.122.50 metric 100

結論

如你所見,環境和配置相對簡單。要增加復雜性,你可以向路由器添加更多網絡接口,以為更多網絡提供路由。你也可以使用相同的方法來實現 BGP 和 RIP 協議。


via: https://opensource.com/article/20/4/quagga-linux

作者: M Umer 選題: lujun9972 譯者: messon007 校對: wxy

本文由 LCTT 原創編譯, Linux中國 榮譽推出

分享到:
標簽:SDN
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定