在 UniFi 和 FortiGate 之間建立 Site-to-Site VPN 的設定步驟

在這篇文章中,我們將介紹如何在 UniFi 和 FortiGate 之間建立Site-to-Site VPN連線。這將允許您的不同網站之間進行安全的數據傳輸。請按照以下步驟進行設定:

1. 在 UniFi 控制器中設定:

  1. 輸入Name(可以好辨識的名稱)。
  2. 系統會自動生成一個很大的Pre-Shared Key,請保存以供稍後在 FortiGate 中使用。
  3. 選擇本地站點的WAN IP地址(Local IP)。
  4. 輸入遠端站點的WAN IP地址(Remote IP)。
  5. 選擇VPN TypeRoute Based
  6. 輸入遠端網路(您想要在遠端站點訪問的子網路)。
  7. Advanced選項中,選擇Auto以保持默認設置。
  8. 點擊保存,這樣 UniFi 部分的設定就完成了。

2. 在Fortigate中設定:

  1. 進入 FortiGate 管理界面,選擇VPN > IPsec Tunnels > 新增(自訂)
  2. 輸入名稱。
  3. Network 中:
    • IP Version 選擇 IPv4。
    • Remote Gateway:輸入 UniFi 站點的WAN IP地址。
    • Interface:選擇在 UniFi 中指定的IP地址的介面。
    • Local GW:關閉。
    • Mode Config:關閉。
    • NAT Traversal:開啟。
    • Keepalive Frequency:10。
    • Dead Peer Detection:On Demand。
  4. Authentication
    • Method:選擇 Pre-Shared Key
    • Pre-Shared Key(與您在 UniFi 控制器中輸入的相同)。
    • IKE Version:選擇 IKEv1,Mode 選擇 Main
  5. Phase 1 Proposal中:
    • 刪除除了在 UniFi 控制器中指定的選項(AES128-SHA1)之外的所有選項。
    • Diffie-Hellman Group:取消選擇所有選項,僅保留14(請注意5可能會引起問題)。
    • Key Lifetime (seconds):設為 86400 秒。
    • Local ID:留空。
  6. XAUTH
    • Type:Disabled。
  7. Phase 2 Selectors中:
    • Local Addresses:設為Subnet 0.0.0.0/0.0.0.0。
    • Remote Addresses:設為subnet 0.0.0.0/0.0.0.0(即使有多個隧道,這種設置也能正常運作)。
  8. Phase 2Advanced
    • 刪除所有,除了 UniFi 中指定的那個(AES128-SHA1)。
    • Enable Replay Detection:開啟。
    • PFS:開啟。
    • Diffie-Hellman Group:取消選擇所有選項,僅保留14。
    • Local Port:開啟
    • Remote Port:開啟
    • Protocol:開啟,
    • Auto-Negotiate:開啟
    • Autokey Keep Alive:開啟
    • Key Lifetime:Seconds
    • Seconds:43200
  9. 點擊確定,這樣 VPN Tunnel 設置就完成了。

3. 設定 FortiGate 的靜態路由:

  1. 進入 FortiGate 管理界面,選擇Network > Static Routes > 新增
  2. 輸入遠端 UniFi 站點的子網路。
  3. 選擇VPN隧道介面作為出口接口。
  4. 設定Administrative Distance為10。
  5. 點擊確定保存設定。

4. 設定 FortiGate 的IPv4策略:

  1. 進入 FortiGate 管理界面,選擇Policy and Objects > IPv4 Policy > 新增
  2. 設定適當的名稱,指定本地子網路作為來源,遠端 UniFi 站點的子網路作為目的地。
  3. 設定允許所有服務(All)的流量。
  4. 保存設定。

現在,您的VPN隧道應該已經設定完成,可以開始進行安全的數據傳輸了。

故障排除:

VPN IPsec Tunnel 未建立:請在 FortiGate > Log & Report > Events > VPN Events 下檢查VPN事件。

問題:Phase 1 錯誤

  • 解決方法: 檢查所有提議設置,確保兩端的預共享金鑰(PSK)相同。

問題:沒有顯示任何訊息

  • 解決方法: 確認兩端的對等 IP 地址是否正確。

問題:Phase 1 成功但隧道未建立

  • 解決方法: 檢查Phase 2設置,確保本地和遠端子網路設為 0.0.0.0,提議設為”AES128-SHA1-DH14″,PFS 開啟,Dynamic 開啟。

問題:設置正確但隧道仍未建立

  • 解決方法: 在兩端刪除現有設置,重新建立VPN隧道。這種方式雖然原因不明,但通常可以解決許多問題。