Fortinet FortiGate 實戰課程

階段一:基礎地基 (Level 1) - 單元 2:網路介面與區域 (Network & Zones)

歡迎來到網路架構的第一課。在防火牆的世界裡,介面 (Interfaces) 是數據進出的大門,而 區域 (Zones) 則是我們管理這些大門的智慧方式。本單元將深入解析 Physical Interface、VLAN、Loopback 以及 Zone 的架構設計。

Concept 一、核心概念

1. 實體介面 (Physical Interface)

定義: 設備上真實存在的 RJ45 或光纖插孔,是數據流動的物理通道。

🏠 生活化比喻: 就像房子的「大門」。不管你是誰,要進入房子,一定要先通過這個實體的門。

2. 虛擬區域網路 (VLAN Interface)

定義: 在同一個實體介面上,透過標籤 (Tag) 切分出多個邏輯網路。

🏷️ 生活化比喻: 就像一條高速公路(實體線路)上,我們用「顏色標籤」把車子分流。貼紅色貼紙的車(VLAN 10)只能去財務部,貼藍色貼紙的車(VLAN 20)只能去工程部。雖然都在同一條路上跑,但互相看不見。

3. 迴環介面 (Loopback Interface)

定義: 一個永遠不會 Down 的虛擬介面,通常用於管理 IP 或動態路由 Router ID。

📱 生活化比喻: 就像總經理的「手機號碼」。不管他今天在哪個辦公室(哪個實體 Port 斷了),只要手機有電(設備開機),打這個號碼一定找得到人。

4. 區域 (Zone)

定義: 將多個介面捆綁成一個邏輯群組,簡化防火牆策略 (Policy) 的設定。

📂 生活化比喻: 就像電腦裡的「資料夾」。你不需要對每一張照片(介面)單獨設定權限,只要把照片丟進「機密資料夾(Zone)」,然後對資料夾設定「禁止存取」,所有裡面的照片都會自動繼承這個規則。

Mechanism 二、運作原理

VLAN Tagging (802.1Q) 技術細節

  • 封包結構變化: 當封包離開 FortiGate 的 VLAN Interface 時,會在 Ethernet Header 中插入 4 Bytes 的 802.1Q Tag
  • 關鍵參數 - VLAN ID: 範圍從 1 到 4094。交換器端 (Switch) 必須設定為 Trunk Mode (Cisco) 或 Tagged Port (HP/Aruba) 才能識別。
  • Native VLAN: 在 Trunk Link 上唯一「不貼標籤」的封包。通常用於管理流量,FortiGate 實體介面本身的 IP 設定即對應 Native VLAN。

💡 多廠商視角 (Vendor Specific)

Cisco 世界中,這叫做 "Router on a Stick" (單臂路由);在 Fortinet,我們簡單稱之為建立一個 "VLAN Interface"。概念完全相同,都是 Layer 3 的虛擬介面。

Zone (區域) 控制層面行為

  • 物件化管理: Zone 在防火牆策略中被視為單一物件。若你有 50 個外點的 VPN 介面,可以全部加入一個 "VPN_Zone",這樣只需寫一條 Policy 即可放行所有外點。
  • Intra-Zone Traffic (區域內流量): 預設情況下,同一 Zone 內的不同介面之間流量是 阻擋 (Block) 的。若要允許互通,必須關閉 Block intra-zone traffic (這是雙重否定,選取=阻擋) 或建立一條 Source/Dest 都是該 Zone 的 Policy。

Visuals 三、架構視覺化

所有的架構圖皆使用 Mermaid 語法繪製,已調整顯示比例以增加可讀性。

1. 實體介面 vs. VLAN 介面拓撲

展示一條實體線路如何承載多個 VLAN 網段。

graph TD %% 套用大字體樣式 classDef bigText font-size:18px,font-weight:bold,padding:10px; classDef normalText font-size:16px,padding:8px; subgraph FortiGate [FortiGate 防火牆] direction TB P1[Physical Port 1
Native VLAN / Mgmt]:::bigText subgraph Logical_Interfaces [邏輯層: VLAN Interfaces] V10[VLAN 10 Interface
192.168.10.254/24]:::normalText V20[VLAN 20 Interface
192.168.20.254/24]:::normalText end P1 --- V10 P1 --- V20 end subgraph Switch [L2 交換器] Trunk[Trunk Port
Allow VLAN 10,20]:::bigText end subgraph EndDevices [終端設備] PC_HR[HR 電腦
VLAN 10]:::normalText PC_Fin[財務電腦
VLAN 20]:::normalText end P1 ===|802.1Q Tagged Trunk| Trunk Trunk ---|Access VLAN 10| PC_HR Trunk ---|Access VLAN 20| PC_Fin style FortiGate fill:#fef2f2,stroke:#c53030,stroke-width:2px style Switch fill:#e0f2fe,stroke:#0369a1,stroke-width:2px style V10 fill:#fde68a,stroke:#d97706 style V20 fill:#bbf7d0,stroke:#16a34a

2. Zone (區域) 的邏輯分組概念

展示如何將多個分散的介面歸納為單一邏輯區域,簡化 Policy。

graph TD %% 套用大字體樣式 classDef bigText font-size:18px,font-weight:bold,padding:10px; classDef normalText font-size:16px,padding:8px; subgraph Interfaces [個別介面成員] Int1[Port 2
Wi-Fi AP1]:::normalText Int2[Port 3
Wi-Fi AP2]:::normalText Int3[VLAN 50
Guest Network]:::normalText end subgraph Zone [Zone: Guest_Zone] Logic[邏輯集合
Guest_Zone]:::bigText end subgraph Policy [Firewall Policy] Rule[Policy ID: 1
Src: Guest_Zone
Dst: WAN
Action: Allow]:::bigText end Int1 --> Zone Int2 --> Zone Int3 --> Zone Zone ==>|做為單一物件被引用| Rule style Zone fill:#fff7ed,stroke:#ea580c,stroke-width:4px,stroke-dasharray: 5 5 style Policy fill:#f0fdf4,stroke:#16a34a,stroke-width:2px

Use Case 四、實務應用場景

場景:企業部門隔離與訪客網路 (Segmentation)

情境描述: 一間公司希望將「財務部」、「研發部」與「訪客 Wi-Fi」完全隔離,但只有一台防火牆與一台核心交換器。

解決方案:

  1. 在 FortiGate Port2 建立 VLAN 10 (Finance)VLAN 20 (R&D)
  2. 在 FortiGate Port3 連接 Guest AP,設定為實體介面。
  3. 建立 Zone: "Trusted_LAN",將 VLAN 10 與 VLAN 20 加入。
  4. 建立 Zone: "Guest_Zone",將 Port3 加入。

👍 優點 (Pros)

  • 安全性高: 財務部與訪客在 L2 層級就已經隔離。
  • 管理簡便: 未來若新增「人資部 VLAN 30」,只需將其加入 "Trusted_LAN" Zone,該部門會自動繼承所有上網權限,無需重寫 Policy。
  • 節省成本: 不需要為每個部門買實體防火牆。

👎 缺點與風險 (Cons)

  • 頻寬競爭: 所有 VLAN 共享 Port2 的實體頻寬 (例如 1Gbps)。若研發部傳大檔,財務部可能會變慢。
  • 單點故障: 若 Port2 線路故障,所有部門網路同時中斷 (建議使用 Aggregate Interface / LACP 解決)。

🛠️ 實戰設定範例 (Configuration Example)

以下是實現上述場景的具體配置,包含 CLI 指令與 GUI 操作重點。

CLI Command Line (Terminal) FortiOS 7.x
# 步驟 1: 設定 VLAN 介面 (綁定在實體 Port2 下)
config system interface
    edit "Finance_VLAN10"
        set vdom "root"
        set ip 192.168.10.254 255.255.255.0
        set interface "port2" # 綁定實體介面
        set vlanid 10
        set role lan
    next
    edit "RD_VLAN20"
        set vdom "root"
        set ip 192.168.20.254 255.255.255.0
        set interface "port2"
        set vlanid 20
        set role lan
    next
end

# 步驟 2: 建立 Zone 並加入成員
config system zone
    edit "Trusted_LAN"
        set interface "Finance_VLAN10" "RD_VLAN20"
        # 重要:deny 表示啟用 Block,若要成員互通需設為 allow (GUI: 取消勾選 Block intra-zone)
        set intrazone deny
    next
    edit "Guest_Zone"
        set interface "port3"
    next
end

# 步驟 3: 設定防火牆策略 (使用 Zone 物件)
config firewall policy
    edit 1
        set name "Allow_Trusted_to_WAN"
        set srcintf "Trusted_LAN" # 直接選用 Zone
        set dstintf "wan1"
        set srcaddr "all"
        set dstaddr "all"
        set action accept
        set schedule "always"
        set service "ALL"
        set nat enable
    next
end

🖥️ GUI 設定重點提示

  • 建立 VLAN 介面:前往 Network > Interfaces,點選 "Create New > Interface",Type 必須選擇 VLAN,並正確指定 "Interface" 為實體 Port (如 port2)。
  • 建立 Zone:前往 Network > Interfaces,點選 "Create New > Zone"。
    • ⚠️ 若要阻擋財務部 (VLAN10) 與研發部 (VLAN20) 互通,請務必勾選 Block intra-zone traffic
    • ✅ 若要允許互通,請取消勾選 該選項。

Quiz 五、隨堂測驗

請點擊您認為正確的選項,系統將會顯示解析。