Linux中策略路由實作原理

轉自ToToSun 协议森林
概念

Linux中策略路由實作原理
傳統路由只使用一張路由表,但在某些情況下,需要使用多路由表(multiple Routing Tables)。策略路由指對IP包根據特定策略進行路由,例如“所有來自網路A的包,選擇X路徑;其他選擇Y路徑”,或者是“所有TOS為A的包選擇路徑X;其他選號路徑Y” 。
規則是策略路由關鍵概念,什麼樣的包,將應用本規則(RULE),符合本規則的包將對其採取什麼動作(ACTION);本規則優先級別越高,規則越先匹配,數值越小優先等級越高。
iproute2工具

實作策略路由配置工具一般用iproute2工具包。 Linux最多可以支援255張路由表,其中有3張表是內建的:

表255:本地路由表(Local table)本地介面位址,廣播位址以及NAT位址都存放在這張表。此路由表由系統自動維護,管理員不能直接修改。

表254:主路由表(Main table)如果沒有指明路由所屬表,所有的路由都預設放在這個表裡,一般來說,舊路由工具(如route)所新增的路由都會加到這個表。一般是普通路由。

表253:預設路由表(Default table)一般來說預設路由都放在這張表。

root:/# ip rule show
0: from all lookup local
32766: from all lookup main
32767: from all lookup default
root:/#
root:/# ip route show table local
broadcast 127.0.0.0 dev lo proto kernel scope link src 127.0.0.1
local 127.0.0.0/8 dev lo proto kernel scope host src 127.0.0.1
local 127.0.0.1 dev lo proto kernel scope host src 127.0.0.1
broadcast 127.255.255.255 dev lo proto kernel scope link src 127.0.0.1
broadcast 192.168.1.0 dev enp9s0f0 proto kernel scope link src 192.168.1.182
local 192.168.1.182 dev enp9s0f0 proto kernel scope host src 192.168.1.182
broadcast 192.168.1.255 dev enp9s0f0 proto kernel scope link src 192.168.1.182
broadcast 192.168.2.0 dev enp9s0f1 proto kernel scope link src 192.168.2.182 linkdown
local 192.168.2.182 dev enp9s0f1 proto kernel scope host src 192.168.2.182
broadcast 192.168.2.255 dev enp9s0f1 proto kernel scope link src 192.168.2.182 linkdown
broadcast 192.168.3.0 dev enp9s0f2 proto kernel scope link src 192.168.3.182 linkdown
local 192.168.3.182 dev enp9s0f2 proto kernel scope host src 192.168.3.182
broadcast 192.168.3.255 dev enp9s0f2 proto kernel scope link src 192.168.3.182 linkdown
broadcast 192.168.6.0 dev enp52s0f1 proto kernel scope link src 192.168.6.183 linkdown
local 192.168.6.183 dev enp52s0f1 proto kernel scope host src 192.168.6.183
broadcast 192.168.6.255 dev enp52s0f1 proto kernel scope link src 192.168.6.183 linkdown
root:/
root:/
root:/# ip route show table main
192.168.1.0/24 dev enp9s0f0 proto kernel scope link src 192.168.1.182
192.168.1.0/24 dev enp9s0f0 proto kernel scope link src 192.168.1.182 metric 101
192.168.2.0/24 dev enp9s0f1 proto kernel scope link src 192.168.2.182 linkdown
192.168.3.0/24 dev enp9s0f2 proto kernel scope link src 192.168.3.182 linkdown
192.168.6.0/24 dev enp52s0f1 proto kernel scope link src 192.168.6.183 linkdown
规则配置

在添加规则时,必须先确定好“条件”、“优先级别”及“路由表”,此后才可执行添加规则操作。条件是用来决定哪类数据包可以符合这项规则,而可用来匹配的字段为Source IP、Destination IP、Type of Service、fwmark及dev等,这些字段的使用方式如下:
#根据源IP
ip rule add from 192.168.1.10 table 100
ip rule add from 192.168.2.0/24 table 200

#根据目的IP
ip rule add to 10.0.2.1 table 100
ip rule add to 10.0.2.0/24 table 200
将fwmark作为匹配条件时,必须搭配Netfilter一起使用。某公司对外有三种路由,希望所有HTTP协议经由第一条ADSL ,SMTP及POP3经由第二条VDSL,其余流量则经由第三条ETH。可以使用如下命令实现策略路由:

iptables -t mangle -A FORWARD -i adsl -p tcp –dport 80 -j MARK –set-mark 1
iptables -t mangle -A FORWARD -i vdsl -p tcp –dport 25 -j MARK –set-mark 2
iptables -t mangle -A FORWARD -i vdsl -p tcp –dport 110 -j MARK –set-mark 2
iptables -t mangle -A FORWARD -i eth3 -j MARK –set-mark 3
ip rule add fwmark 1 table 1
ip rule add fwmark 2 table 2
ip rule add fwmark 3 table 3

由eth2接口送入的数据包都由eth0接口转发出去,由eth3接口送入的数据包都由eth1接口转发出去,可以使用如下命令实现策略路由:

ip rule add dev eth2 table 1
ip rule add dev eth3 table 3
ip rule show命令所显示内容的第一个字段就是优先级别,数字越小,代表优先级别越高,也代表这条规则可以排得越靠前,如此数据包在进行条件匹配时,就会越早匹配到这条规则。

[root@localhost ~]# ip rule show
0: from all lookup local
32766: from all lookup main
32767: from all lookup default
[root@localhost ~]#
[root@localhost ~]# ip rule add from 192.168.1.0/24 table 1 prio 10
[root@localhost ~]# ip rule add from 192.168.2.0/24 table 2 prio 20
[root@localhost ~]#
[root@localhost ~]# ip rule show
0: from all lookup local
10: from 192.168.1.0/24 lookup 1
20: from 192.168.2.0/24 lookup 2
32766: from all lookup main
32767: from all lookup default
ip命令提供的删除规则的方式十分灵活,例如,要删除下列第2条规则,可以分别使用“优先级别”、“条件”及“路由表”当中任何一个唯一的值来设置所需删除的规则。

ip rule del prio 10
ip rule del from 192.168.1.0/24
ip rule del table 1
ip rule del from 192.168.1.0/24 table 1 prio 10

Fortinet NSE 7—企業防火牆 7.2認證

Fortinet NSE 7—企業防火牆 7.2認證考試指南
企業防火牆 7.2認證考試是Fortinet認證解決方案專家 – 網絡安全認證軌道的一部分。這份認證驗證了您設計、管理、監控和排除Fortinet網絡安全解決方案的能力。請訪問網絡安全認證頁面以獲取有關認證要求的資訊。

考試
Fortinet NSE 7 – 企業防火牆7.2考試評估您對Fortinet解決方案在企業安全基礎架構環境中的知識和專業知識。
考試測試您對由FortiOS 7.2.4、FortiManager 7.2.2和FortiAnalyzer 7.2.2組成的企業防火牆解決方案的集成、管理、故障排除和集中管理的應用知識。
一旦您通過考試,您將獲得以下考試徽章:

聽眾
Fortinet NSE 7 – 企業防火牆7.2考試旨在為負責設計、管理和支持由多個FortiGate設備組成的企業安全基礎架構的網絡和安全專業人員。

考試描述

2023年9月20日

考試詳情
考試名稱 Fortinet NSE 7 – 企業防火牆7.2
考試系列 NSE7_EFW-7.2
允許時間 60分鐘
考試問題 35個多選題
得分 通過或失敗。您可以從Pearson VUE帳戶獲得得分報告
語言 英文和日文
產品版本 FortiOS 7.2.4, FortiManager 7.2.2, FortiAnalyzer 7.2.2

考試主題
成功的候選人具有以下領域和任務的應用知識和技能:

系統配置
實施Fortinet安全框架
配置硬件加速
為高可用性(HA)叢集配置不同的操作模式
集中管理
實施集中管理
安全配置文件
使用FortiManager作為本地FortiGuard服務器
配置網頁過濾
配置應用控制
在企業網絡中配置入侵預防系統(IPS)
路由
實施OSPF以路由企業流量
實施邊界網關協議(BGP)以路由企業流量
VPN
實施IPsec VPN IKE版本2
實施自動發現VPN(ADVPN)以實現網站之間的按需VPN隧道
培訓資源
推薦以下資源以獲得考試涵蓋的知識和技能。推薦的培訓是考試準備的基礎。除了培訓外,強烈建議您具有與考試主題和目標相關的實際操作經驗。

FCSS – 企業防火牆7.2課程和實驗室操作
FCP – FortiGate安全7.2課程和實驗室操作
FCP – FortiGate基礎設施7.2課程和實驗室操作
FCP – FortiManager 7.2課程和實驗室操作
FCP – FortiAnalyzer分析師7.2課程和實驗室操作
FCP – FortiAnalyzer管理員7.2課程和實驗室操作
FortiOS 7.2—管理指南
FortiOS 7.2—新功能指南
FortiOS 7.2—FortiOS CLI參考指南
FortiAnalyzer 7.2.2—管理指南
FortiAnalyzer 7.2—新功能指南
FortiManager 7.2.2—管理指南
FortiManager 7.2—新功能指南
FortiManager 7.2.2—CLI參考指南
經驗
您應該熟悉使用FortiGate設備設計、管理和支持企業安全基礎架構。

考試樣本問題
Fortinet培訓學院提供一套樣本問題。這些問題代表了考試的問題類型和內容範圍。然而,這些問題不一定代表所有考試內容,也不打算評估您參加認證考試的準備情況。

請參閱Fortinet培訓學院提供的包含樣本問題的課程。

考試政策和程序
Fortinet培訓學院建議您在註冊考試之前閱讀考試政策和程序。在Fortinet培訓學院政策頁面上訪問重要信息,並在常見問題解答頁面上找到常見問題的答案。

資料中心網路架構設計與挑戰

转自架構師技術聯盟
一、資料中心網路架構設計原則
網路是資料中心最重要的組成部分,主要由大量的二層存取設備和少量的三層設備組成的網路結構。以前,資料中心的網路規模普遍不大,網路透過數十台設備簡單互連就可達到互聯互通的目的。而現在,資料中心對網路的要求越來越高,為了滿足各種應用,網路架構也需要及時調整,網路架構經歷了多種多樣的變化。在一個資料中心建置過程中,網路架構是重要部分,架構設計的好壞直接決定了資料中心資料轉送效率和可靠性。

(1)可擴展性
為適應業務的發展、需求的變化、先進技術的應用,資料中心網路必須具備足夠的可擴展來滿足發展的需要。如採用合理的模組化設計,盡量採用連接埠密度高的網路設備、盡量在網路各層上具備三層路由功能,使得整個資料中心網路具有強大的路由擴充能力。功能的可擴展性是資料中心網路隨著發展提供增值業務的基礎。
(2)可用性
包括網路設備和網路本身的冗餘。關鍵設備均採用電信級全冗餘設計,採用冗餘網路設計,每個層級均採用雙機方式,層次與層級之間採用全冗餘連接。提供多種冗餘技術,在不同層次可提供增值冗餘設計。
(3)靈活性
靈活的目的是實現可根據資料中心不同使用者的需求進行定制,網路/設備能夠靈活提供各種常用網路介面、能夠根據不同需求對網路模組進行合理搭配。
(4)安全性
安全性是資料中心的使用者最關心的問題,也是資料中心建置的關鍵,它包括實體空間的安全控制及網路的安全控制。
二、資料中心網路組網設計
(1)Fabric網絡

隨著雲端運算的發展,在資料中心網路中伺服器虛擬化技術廣泛應用,但伺服器在遷移時,為了確保遷移時業務不中斷,就要求不僅虛擬機的IP位址不變,而且虛擬機的運作狀態也必須保持原狀(例如TCP會話狀態),所以虛擬機器的動態遷移只能在同一個二層域中進行,而不能跨二層域遷移,這就要我的二層網路夠大。而傳統的二層技術,不論是透過縮小二層域的範圍和規模來控制廣播風暴的影響範圍或是阻塞掉冗餘設備和鏈路來破環,網路中能夠容納的主機數量、收斂性能以及網路資源的頻寬利用率對於資料中心網路而言是遠遠不夠的。
M-LAG(Multichassis Link Aggregation Group)即跨裝置鏈路聚合組,是一種實現跨裝置鏈路聚合的機制,將一台裝置與另外兩台裝置進行跨裝置連結聚合,從而將連結可靠性從單板級提高到了設備級。對二層來講,可將M-LAG理解為一種橫向虛擬化技術,將M-LAG的兩台設備在邏輯上虛擬成一台設備,形成一個統一的二層邏輯節點。 M-LAG提供了一個沒有環路的二層拓撲同時實現冗餘備份,不再需要繁瑣的生成樹協定配置,極大的簡化了組網及配置。這種設計相對傳統的xSTP破環保護,邏輯拓樸更加清晰、連結利用更有效率。
(2)Overlay網絡

Overlay在網路技術領域,指的是一種網路架構上疊加的虛擬化技術模式,其大體框架是對基礎網路不進行大規模修改的條件下,實現應用在網路上的承載,並能與其它網絡業務分離,並以基於IP的基礎網路技術為主。其實這種模式是以對傳統技術的最佳化而形成的。
針對前文提出的三大技術挑戰,Overlay在很大程度上提供了全新的解決方式。
①針對虛機遷移範圍受到網路架構限制的解決方式
Overlay是一種封裝在IP封包之上的新的資料格式,因此,這種資料可以透過路由的方式在網路中分發,而路由網路本身並無特殊網路結構限制,具備良性大規模擴展能力,且對設備本身無特殊要求,以高效能路由轉送為佳,且路由網路本身俱備很強的故障自癒能力、負載平衡能力。
②針對虛機規模受網路規格限制的解決方式
虛擬機器資料封裝在IP封包中後,對網路只表現為封裝後的的網路參數,即隧道端點的位址,因此,對於承載網路(特別是接取交換器),MAC位址規格需求大幅降低,最低規格也就是幾十個(每個連接埠一台實體伺服器的隧道端點MAC)。
③針對網路隔離/分離能力限制的解決方式
針對VLAN數量4000以內的限制,在Overlay技術中引入了類似12比特VLAN ID的用戶標識,支援千萬級以上的用戶標識,並且在Overlay中沿襲了雲端運算「租戶」的概念,稱之為Tenant ID(租戶識別),以24或64位元表示。針對VLAN技術下網路的TRUANK ALL(VLAN穿透所有設備)的問題,Overlay對網路的VLAN配置無要求,可以避免網路本身的無效流量頻寬浪費,同時Overlay的二層連通基於虛機業務需求創建,在雲端的環境中全域可控。
(3)Spine+Leaf網絡

Spine+Leaf兩層設備的扁平化網絡架構來自CLOS網絡,CLOS網絡以貝爾實驗室的研究人員Charles Clos命名,他在1952年提出了這個模型,作為克服電話網絡中使用的機電開關的性能和成本相關挑戰的一種方法。 Clos用數學理論來證明,如果交換器按層次結構組織,在交換陣列(現在稱為結構)中實現非阻塞性能是可行的,主要是透過組網來形成非常大規模的網絡結構,本質是希望無阻塞。在此之前,要實現“無阻塞的架構”,只能採用NxN的Cross-bar方式。存取連接的數量仍然等於折疊後的三層CLOS網路架構的Spine與Leaf之間的連接數,流量可以分佈在所有可用的連結上,不用擔心過載問題。隨著更多的連接被連接到Leaf交換設備,我們的鏈路頻寬收斂比將增加,可以透過增加Spine和Leaf設備間的鏈路頻寬來降低鏈路收斂比。
Spine+Leaf網路架構的另一個好處是,它提供了更可靠的網路連接,因為Spine層面與Leaf層面是全交叉連接,任一層中的單交換器故障都不會影響整個網路結構。因此,任一層中的一個交換器的故障都不會使整個結構失效。
(4)BGP EVPN

EVPN是基於BGP協定的技術,需要部署在網路交換器上。這表示網路交換器需要作為VTEP節點,進行VXLAN封裝。伺服器透過介面或VLAN存取網路交換器。這些介面或VLAN會對應到對應的廣播域BD,同時BD也會綁定一個EVPN實例,透過EVPN實例間路由的傳遞實現VXLAN隧道的建立、MAC學習。透過BGP EVPN在兩個資料中心內部各建立一段VXLAN隧道,資料中心之間再建立一段VXLAN隧道,可實現資料中心互聯。
三、資料中心網路的發展趨勢
資料的集中處理、儲存、傳輸、交換和管理無一不是在建構數位經濟的基礎設施。網路技術驅動資料中心網路從以「資料」為中心發展到了以「算力」為中心。相較傳統的資料中心網絡,現代大規模資料中心網絡在架構、技術上和運維都發生了巨大變革,主要表現在:
(1)網路頻寬加速發展,建構高效能網絡
網路支撐業務的底層連接,將網路設備上從管理平面、控制平面和資料平面分離,軟體定義網絡,以軟體集中管理設備簡化資料平面,讓網路更智能,更簡單。以先進的網路架構,實現線上和離線對業務網路的互聯互通,靈活調度網路流量滿足個人化業務需求,建構高頻寬、低時延高效能網路才能滿足日新月異的網路業務要求。
(2)高密度異質運算集群,大規模彈性擴展
資料中心網路將從交換器網路趨向以資料互聯I/O為中心的架構,透過技術和規模彈性給予使用者低成本,高可靠的網路資源。提供更安全,穩定的網路基礎設施,根據業務需要彈性擴展,以更簡單的方式降本提效是下一代資料中心網路發展的指導原則。
(3)降本提效,實現智慧視覺化運維
網路成本的最佳化,是許多網路業務發展不可或缺的一環。相較於傳統網路架構,大規模資料中心網路架構透過使用單晶片box設備進行建置資料中心網絡,降低能耗,解決能耗瓶頸,同時在電力、散熱、空間成本上進行降本提效。同時,隨著網路規模不斷擴大,人工維運不再現實,自動化運維部署,軟體功能自動升級及故障自動告警,恢復等成為許多廠商設備建設資料中心努力的方向。