在這篇文章中,我們將介紹如何在 UniFi 和 FortiGate 之間建立Site-to-Site VPN連線。這將允許您的不同網站之間進行安全的數據傳輸。請按照以下步驟進行設定:
1. 在 UniFi 控制器中設定:
- 輸入Name(可以好辨識的名稱)。
- 系統會自動生成一個很大的Pre-Shared Key,請保存以供稍後在 FortiGate 中使用。
- 選擇本地站點的WAN IP地址(Local IP)。
- 輸入遠端站點的WAN IP地址(Remote IP)。
- 選擇VPN Type為Route Based。
- 輸入遠端網路(您想要在遠端站點訪問的子網路)。
- 在Advanced選項中,選擇Auto以保持默認設置。
- 點擊保存,這樣 UniFi 部分的設定就完成了。
2. 在Fortigate中設定:
- 進入 FortiGate 管理界面,選擇VPN > IPsec Tunnels > 新增(自訂)。
- 輸入名稱。
- 在 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。
- Authentication 中
- Method:選擇 Pre-Shared Key。
- Pre-Shared Key(與您在 UniFi 控制器中輸入的相同)。
- IKE Version:選擇 IKEv1,Mode 選擇 Main。
- 在Phase 1 Proposal中:
- 刪除除了在 UniFi 控制器中指定的選項(AES128-SHA1)之外的所有選項。
- Diffie-Hellman Group:取消選擇所有選項,僅保留14(請注意5可能會引起問題)。
- Key Lifetime (seconds):設為 86400 秒。
- Local ID:留空。
- XAUTH
- Type:Disabled。
- 在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(即使有多個隧道,這種設置也能正常運作)。
- 在 Phase 2 的 Advanced 中
- 刪除所有,除了 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
- 點擊確定,這樣 VPN Tunnel 設置就完成了。
3. 設定 FortiGate 的靜態路由:
- 進入 FortiGate 管理界面,選擇Network > Static Routes > 新增。
- 輸入遠端 UniFi 站點的子網路。
- 選擇VPN隧道介面作為出口接口。
- 設定Administrative Distance為10。
- 點擊確定保存設定。
4. 設定 FortiGate 的IPv4策略:
- 進入 FortiGate 管理界面,選擇Policy and Objects > IPv4 Policy > 新增。
- 設定適當的名稱,指定本地子網路作為來源,遠端 UniFi 站點的子網路作為目的地。
- 設定允許所有服務(All)的流量。
- 保存設定。
現在,您的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隧道。這種方式雖然原因不明,但通常可以解決許多問題。
《AWS CDK 完全學習手冊:打造雲端基礎架構程式碼 IaC》
第 12 屆 iT 邦幫忙鐵人賽 DevOps 組冠的《用 CDK 定 義 AWS 架構》
第 11 屆 iT 邦幫忙鐵人賽《LINE bot 好好玩 30 天玩轉 LINE API》
一個熱愛分享的雲端工程師!