[UPGRADED: 201407300634] FortiGate NPU&FortiOS v5.0.x Learning...

vxr 及各位前輩您好,

使用的是 Fortigate 200B FoprtiOS v5.0,build0252 (GA Patch 5)
請教兩個問題

1. 加速 Port 要如何安排使用?
規劃如下
WAN1 port: 固定IP 有連接 VPN*2
WAN2 port: PPPoE固定IP
WAN1 & WAN2 做 ECMP Load Balance
Policy
WAN1 -> DMZ 要做 IPS, Antivirus, IPS
Internal -> WAN1, WAN2 要做 IPS, Antivirus, IPS, Wab Filter, Traffic Shape
請教這樣的規劃,那些 Port 需要插在所謂的加速 Port 上面?

2. 今天發現在 Interface 畫面中有 Security Mode - Captive Portal 的選項。
請教這 Captive Portal 可否設定 Pass-Thru MAC address? 讓有些特定裝置可免認證直接連線。

謝謝

不想唸物理了...
"請教這樣的規劃,那些 Port 需要插在所謂的加速 Port 上面?"
所謂的加速port就是traffic可以經由特製的NP2加速器(包含256MB buffer)進行操作..
得到的好處就是traffic不會經由CPU負載, 讓I/O得以大幅提升..
這也是為什麼官方帳面數字敢標5G吞吐量...
因為一顆NP2加速器最大吞吐量是10G (NP4:20G, NP6:40G)...
但是要讓NP2加速器發揮功效有幾些條件:
1. src port和dst port必須都是NP2 port

2. NP2提供的H/W QoS, 但是不支援Per-IP traffic-shaping, 僅盡量使用Shared-shaping
3. policy上設定, 避免啟用UTM. UTM先設到L7操作, 會經過CPU..
4. NP2不支援IPv6加速, 只有NP6才有IPv6加速..

一個優化的實務方案就是將4ports(NP2)做成trunk接到switch後,
由200B建立多個VLAN設置在trunk port, 好處將會是保持良好的I/O吞吐量


1. 只有 "被掃瞄" 到的ports才使用UTM, ex: 80, 443(重要!)
2. 根據自有規劃, 應當建議有需用到的服務使用UTM, ingoing=>outgoing使用HTTP開啟UTM..

請勿像有些MIS就全開, 結果就是整個I/O爛掉...
3. NP2加速器支援H/W IPsec, 有需要這個VPN請盡可能利用..

良好的介面規劃有助於policy的排列與明確清晰..

"2. 今天發現在 Interface 畫面中有 Security Mode - Captive Portal 的選項。
請教這 Captive Portal 可否設定 Pass-Thru MAC address? 讓有些特定裝置可免認證直接連線。"
這可能需要v5.2的FOS, 不過這個f/w目前在beta階段, GUI有很多bug...
並不推薦!...
你可能要用policy應用user-based進行攔截..


感謝 vxr 前輩的指導,原來還可以用 Port Aggregate 的方式來最佳化 200B 4個加速 Port 的使用。

那我還要再來找台支援 VLAN 及 Port Aggregate 的 Switch 來測試看看了。

不想唸物理了...
What is the "vlanforward"???
一般VLAN traffic從source port打出去的時候, 會操作tag與untag的動作(如果它是轉發到不同ID的domain).

反之, 如果VLAN之間的通訊則是操作tagged的traffic轉發至相同的VLAN domain.
在CLI中針對介面(interface)的一個有關的參數稱為vlanforward. 預設這個參數是啟用的(enabled). 這表示在VLAN之間的通訊會自動轉至phy port, 在送到相同的VLAN domain. 這意味著它會直接穿透policy. 因此像如下這種policy是毫無必要的:

但是當vlanforward是被關閉的時候, 相同VLAN之間的通訊將會需要依賴policy設定:

相容VLAN ID的情況下, vlanforward被關閉, policy的設定是必要. 當管理者可能基於某種安全與穩定性考量, 才可能會將vlanforward給關閉掉, 尤其在TP mode的考慮有機會遭遇到某些可靠性問題(跟switch相容性有關).
如下CLI操作可以決定vlanforward是否關閉或開啟:
UTM Security Profile Grouping
FOS的GUI中提供了對各種UTM項目的存取, 亦可以針對不同的功能進行操作, 例如: AV, WebFilter等. 在FOS的GUI中, 其實隱藏了一個prfile-grouping的特徵, 它可以將所有的UTM項目進行群組化, 於policy中選擇該群組. 它必須從如下的CLI開啟:

開啟後即可從如下的GUI看到這個Profile Group項目:

透過這個功能可以對UTM項目的群組化設定:

不過比較麻煩的是GUI設定policy竟然沒有辦法提供群組選取的功能, 顯然這是一個隱藏的功能, 首先建立一筆policy, 為了避免干擾可以先將他關掉:

接下來使用CLI將這筆的UTM Status開起來:

將profile-type選擇group:

回到policy的GUI設定點擊內容進行查看:

可以發現多出一個被隱藏掉的UTM群組設定. 之後可以依此將這個policy進行copy&paste操作以用於對以後所需policy的相關設定:

持續重覆的操作之後, 在policy列表加入一個新的欄位: Profile Group. 然後進行查看:

這個項目對於較偏向事先規畫的使用者來說有所用處.

Notes:
Profile Group的GUI比較麻煩的是, 它沒有出現SSL Inspection項目. 必須按照如下的CLI進行加入:

使用deep-inspection-options加入SSL Inspection項目.
vxr wrote:
UTM項目-NP4l...(恕刪)

updated:
SoC2對IPS加速是以CP0進行一種signature-based IPS Acceleration...
因此它需要消費CPU...
SoC2對IPS的調整比較需要注意...
signature-based H/W IPS是CP6之後才有實作(不含CP6)..

>>signature-based H/W IPS可以用來加速signature matching效能(減少CPU消費)...

使用NPU提供更強的signature-based H/W IPS需要NP2之後的機種(不含NP2)...
Use the IPS to protect my network
在FortiOS提供了UTM的防護機制, 他搭配了特製化的FortiASIC硬線加速設計用以改善系統效能以及節省CPU資源. 在SoC2的相關硬線加速設計裡, CP0是提供UTM效能的改進關鍵. 當然! 幾乎任何一款FGT都包含了CP加速器(不同版本, 不同效能以及特徵). CP0是整合在SoC的其中一項硬線加速設計, 主要可以實現如下功能:

其中基於IPS的強化特徵: signature-based H/W acceleration得以加速IPS效率. 還包括了對IPsec traffic的硬體加速(SoC2的NPU提供了幾乎"免費"的IPsec traffic加速, 可以避免使用CP0), 另外提供了SSL VPN加速:

CP0如同其他CP加速器一樣, 透過CPU對traffic的操作負載到CP加速器, 藉以降低對UTM操作的CPU loading.

本篇將說明如何透過SoC2使用NGFW特徵, 並且改進IPS效能. 可以透過如下的操作啟用NGFW特徵:

另外可以使用如下CLI啟用GUI的UTM monitor:

從GUI的UTM功能中看到幾個UTM功能以及多出來的monitor功能:

在預設的情況下, 無法新增UTM項目, 只能針對固定的UTM項目進行編輯, 比方說如下的Application Sensor只能編輯default的object:

需要透過GUI的Features啟用如下的功能以進行對UTM項目的新增/修改/刪除功能:

由於SoC2機種提供了較大的系統記憶體(2GB)以及它的速度比SoC1機種快上不少(DDR3-1066):

充足的系統記憶體空間可以有效負載相關UTM資源, 以及巨觀性的避免資源不足的情況發生. 在這些有利的條件下可以進行對UTM參數的部分調整:

PS: cp-accel-mode是5.0.6更改的新增項目(H/W CP加速器的加速模式-signature-based).
這邊調整了兩個部分(紅框圈選): 加大緩衝區以及提高IPS操作的session大小. 為了檢測IPS是否有效, 增加了如下的阻擋項目:

接下來指定的policy啟用UTM功能(IPS):

如果需要保證對SSL的檢查, 例如HTTPS協定. 必須啟用SSL Inspection項目:

在指定的policy第一次啟用UTM功能之後, CPU loading會在10~20秒左右大幅上升, 因為它需要進行對UTM功能的創建及載入操作(create/load process).
透過如下網址進行對IPS的檢測:
http://www.eicar.org/85-0-Download.html

當點擊HTTP的eicar_com.zip下載後, 會收到如下的攔截畫面:

基於HTTPS協定的下載則是會收到如下的錯誤訊息, 以下是google chrome回傳的資訊:

可以從GUI的UTM monitor查看來自eicar下載的阻擋訊息:

透過這些測試確定了IPS的功能生效. 並且可以搭配Application Control一起使用, 這個功能是基於IPS發展出來, 它會應用IPS engine進行相關的操作. 使用以下的CLI命令可以檢查當前IPS的相關負載資訊, 這包括了session以及系統記憶體負載狀態等...


Notes:
CP0雖然提供幾乎與特製化的獨立CP加速器相同的功能, 不過這並非代表它的性能足以匹配. 事實上, 這些獨立的CP加速器, 例如CP6或著CP8. 它們依然有性能上的優勢, CP8擁有更豐富的特徵支持以及基於PCIe gen.2規格的host bus提供高量的頻寬, 雖然CP6稍微舊了一些, 但依然有性能上的優勢.
Optimize the network performance using VDOM for SoC2 line
SoC2整合了NPU,CP0,RISC CPU以及NIC等相關硬線設計, 通過CP0提供基本的UTM性能防護以及使用NPU對網路流量的加速. 本篇將說明如何最佳化各網段網路性能.
雖然SoC2上的NP4lite提供了良好的流量加速, 使得流量操作(traffic handling)近乎"免費", 但是幾個問題會使得fast-path無法對流量進行操作, 一個常見的問題就是使用software switch. 在預設的情況下, 7 ports會被統合成一個switch(internal), 在這個switch即為一種hardware switch, 相關的L2操作由特定的ASIC處理, 類似一個如下的範例:

在這樣的操作下, 網路I/O得以保持最佳狀態:
1. 不經由CPU port交由CPU操作, 得以大幅減少CPU time的開銷.
2. 專屬的ASIC能夠最佳化各種尺寸的網路流量.
3. 如果整合高度的Network Processor(L3/L4, 即NPU)機能, 將能有效的規模性操作ICMP(*)/TCP/UDP封包, 除了提升網路I/O也能優化系統效能.
* ICMP的加載需要視ASIC設計是否能提供.

上述幾個特徵說明了hardware switch經由專屬ASIC優化整個網路I/O, 不過在一個議題下決定專屬ASIC是否能有效操作:
port switching是硬線設計還是基於軟體層操作?

使用port switching得以將一個integrated switch進行切割, 拆離網段, 使用者得以規畫各種網段佈署在不同用途. 當port switching是software-based, 意味著traffic handling透過cpu port交由CPU操作, 最壞的情況下將會破壞整個網路效能. 如下以一個RouterOS的案例:

可以看出這似乎是兩個switch, 上層就像是一個master, port2~4是一個獨立的L2 switch, 在這之間的操作能夠使switching ASIC有效負載L2 traffic, 可是當一個switch與另一個switch進行溝通時, 沒有ASIC的相關邏輯可以處理這個操作, 這使得CPU loading在最差的情況下大幅上升, 因為這是一個software logic, 同樣的在fortinet的small box也會遭遇到這種情況. SoC2在進行port switching後, 所有的switch(s)都會是software-based, 任何有關L2 traffic的開銷將由CPU負擔, 由於經由了CPU port轉發流量, 包括了L3/4的操作也一併承載, 在這時特製化的NPU ASIC邏輯將全部失效.

如果CPU效能不良, 它幾乎(almost)會殺死整個網路I/O. SoC2存在了這個問題, 它內置的ARM-based CPU(926EJS)難以承載intranet的traffic, 為了避免悲觀性的情況發生, 藉由NPU來大規模負擔網路流量. 但是SoC2的NP4lite無法操作port switching的traffic, 在中高階的產品已經存在了H/W port switching機能, 例如一個NPU串接了超高速10Gbps switch並且可以操作port switching邏輯:

上圖是一個NP4架構, NP4(>=20Gbps NPU)本身允許了port switching的操作, 切割完後的所有switch都可以是hardware switch, 保持極佳的網路I/O, 不過NP4是一個不太便宜的module.

SoC2考量了port-switching的I/O效能破壞問題(software-based logic), 為了避免這個問題又要能規畫網段, 一個案例可以考量如下的規畫:

藉由建立兩個VDOMs來強化網路I/O, VDOM架構是FortiOS的重要特徵之一, 它可以做為一個PHY Device在切割能各種Virtual Device, 並且各自獨立的. 藉由分割兩組不同類型的VDOM來進行規畫, Transparent即TP mode, 在這個模式下可以當成是一個security bridge, 沒有NAT以及DHCP的相關邏輯, 它純粹負責單純的traffic forwarding; 另一個VDOM即為傳統的NAT mode, 存在了Router, NAT相關機制. 在TP mode的VDOM將預設的internal進行轉換成為個別的internal port(1~7, switch mode to interface mode), 按照上述的規畫做成兩個zone(1,2)和一個輸出(external)的internal 7:

* zone不是switch, 它是一個方便於policy設定的port流量聚合操作.
在internal 7上新增了一個VLAN提供給其中一個zone使用, 由於只有一個outgoing存在VLAN, 因此不必考慮forward-domain的穩定性問題. 之後進行TP VDOM上的policy設定, 如下圖設定了DHCP的轉發:

*請避免TP mode上的loop, 這會造成整個網路的癱瘓, 就像是switch的loop問題.
規畫完TP mode VDOM的policy後, 將internal 7串接到另一個VDOM的dmz(or wan1, wan2)作實體上的轉發操作, 可以看出整個過程沒有牽涉到port-switching logic, NPU可以正確加載優化整個網路I/O, 雖然這樣的規畫付出代價需要消費掉兩個ports.
最後在由Router/NAT mode的VDOM新增VLAN(100)去串接zone(1)即可, 在進行後續的規畫完成整個網路通訊.
Notes:
可以使用VDOM link避免消費兩個ports, 但是在SoC2會遭遇到另一個問題:
VDOM與VDOM之間的traffic不能被NP4lite操作.

顯然對於優化整個網路I/O來說, 需要去考量的. 高階的NP4/6可以支持inter-VDOM link加速:

Extended IPS Database
在近期發佈的v5.0.6版的f/w, 針對desktop model(SoC2)允許的IPS database的擴展, 白名單(signature)的數量會大幅增加.
由於提供新的IPS硬體加速模式(signature-based), 藉以提高IPS吞吐量...

按照預設database為regular, 轉成extend後將會大幅擴展...

regular的情況下(6521):

extend的情況下(8055):

得益於SoC2產品提供充足的RAM buffer(DDR3-1066), 足以負擔UTM所需占用的系統記憶體空間

關於新的加速模式包括了NP以及CP的加速, 不過SoC2僅支持CP模式:
請問FortiGate如可查看PPPoE的連線時間?
關閉廣告
文章分享
評分
評分
複製連結
請輸入您要前往的頁數(1 ~ 35)

今日熱門文章 網友點擊推薦!