iT邦幫忙

3

iOS 裝置無法透過 IPsec VPN 連入 FortiGate,請問正確設定方式?

  • 分享至 

  • xImage

大家好,我最近在協助公司測試 iPhone / iPad 連線 FortiGate 的 IPsec VPN,但始終無法成功建立連線。
我已嘗試依照 FortiGate Phase 1 / Phase 2 的標準設定,並在 iOS 端輸入 Server、Account、Secret 等必要資料,但仍然顯示「伺服器溝通失敗」。目前最大問題是:
iOS 內建 VPN 介面找不到可對應 FortiGate 的設定項目(例如:EAP 啟用、Phase 2 設定等)。

FortiGate Log 顯示 Phase1 有時 success,但 iOS 仍連不上。
想確認 iOS 目前是否仍支援 FortiGate 這種標準 IPsec(IKEv1/IKEv2)模式?是否需改用 SSL VPN 才能成功?
想請問有成功讓 iOS 連入 FortiGate IPsec VPN 的前輩們:
是否有哪個環節是我可能忽略的?

以下這是我參考的文件及照片
https://video.fortinet.com/watch/236
![https://ithelp.ithome.com.tw/upload/images/20251208/201702739qycoIPpy8.jpg]

感謝各位,最近被這問題困住比被主管盯著還緊,希望有人能拉我一把。

看更多先前的討論...收起先前的討論...
參考這個原廠說明...
https://video.fortinet.com/watch/236
影片雖說是iOS9,但是我測試過使用iOS18 是OK的
基本上Forinet要使用wizard 建立一個ios的連接方式,設定一個共享金鑰
by2048 iT邦高手 1 級 ‧ 2025-12-09 09:00:46 檢舉
您要不要試試Forticlient 的app
手機是在 [設定]==>[一般]==>[VPN與裝置管理]這邊
類型選擇IPSec,會出現Cisco圖示(不用理他)下面就是直接輸入Fortinet對外IP以及使用者帳號密碼,至於群組名稱就要看你在Fortinet那邊有無要求,最下方的密鑰就是輸入你指定的共享密鑰,這樣應該就OK了
@wenchengkao 想問一下您測試過是近期測試的嗎?因為影片中的wizard的方式我也有測試過,然後也有使用您說的手機設定,一般的方法也是顯示伺服器無回應,我這邊測試過IKEv1測試失敗,IKEv2測試也失敗,想問您是使用IKEv1還是IKEv2。
@by2048 已測試過IKEv1、IKEv2皆伺服器無回應
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
bluegrass
iT邦大師 1 級 ‧ 2025-12-08 13:51:53

回錯, 請刪文

請問大大您說是甚麼意思

bluegrass iT邦大師 1 級 ‧ 2025-12-08 14:03:01 檢舉

沒事, 就我回覆錯了, 請ADMIN刪掉, 打擾了

0
Pod042A
iT邦新手 5 級 ‧ 2025-12-08 14:18:10

根據訊息 negotiate IPsec phase 1 = success 後出現 delete_phase_1_sa,推斷異常成因:

  • XAuth 設定異常
  • Mode Config 設定異常

建議:

好的,我在確認設定,感謝。

0
mytiny
iT邦超人 1 級 ‧ 2025-12-09 11:01:08

使用wizard的缺點
就是出現狀況時,不容易找問題出在哪

已經蠻多先進提供設定方法
在下建議樓主查找兩個方向
1.路由設定:特別是Phase 2網段
2.防火牆政策:相關介面是否有通過的政策
需仔細檢查是否能通過

如果一直都搞不通
會建議用SSLVPN比較簡單
較少路由與政策的狀況

這邊靜態路由設定0.0.0.0/0,然後政策是全部設定為all全部打開,所以基本上設定應該是沒有問題的,然後很奇怪的是Windows系統(包括三星平板、Windows電腦)可以連線,但是ios系統不行,不過還是謝謝大大,我這邊測試也是覺得如果不行也是往SSL VPN的方向去設定,只是擔心後續官方後續未來很快就不在支援SSL VPN,所以還是希望往IPSEC VPN去著手。

mytiny iT邦超人 1 級 ‧ 2025-12-10 18:36:53 檢舉

只有一條:靜態路由設定0.0.0.0/0 嗎?
這樣怪怪的
沒有client的那一端網段嗎?

其實不用擔心官方後續未來很快就不支援 SSLVPN
除了可以用到2027年之外
如果不是上市櫃公司被稽核要求
大可將舊防火牆放到新防火牆後面
繼續使用sslvpn到天荒地老
前方有合規的防火牆防護著
而舊的防火牆留做sslvpn用
多符合經濟效益?
老闆一定喜歡

2
zyman2008
iT邦大師 6 級 ‧ 2025-12-10 19:15:34

以下是我的測試環境:

  • FGT-60E v7.4.8, WAN: wan1. LAN: internal, subnet: 192.168.1.0/24
  • iPhone iOS 18.7, 使用 IKEv2 PSK 方式撥 VPN.

預先需要有的 iOS VPN client 知識:
(1)要先知道 iOS 18.7 IKE 會送甚麼 proposal

  • Phase1(第一組)會是 aesgcm-16-256, prf-hmac-sha256, dhgroup 19(ECP256).
  • Phase2(第一組)會是 aesgcm-16-256, pfs:disable
    (2)IKEv2 會用 config payload 跟 VPN server 要 IP 和 DNS server 或其他設定.

因為 Forigate 內建的 IPSec tunnel template, 沒有可以直接用來接 iOS IKEv2 PSK 的.
(個人的推測)這部份 Fortinet 似乎沒有想要演進改善, 更新可以適用於新版 iOS 的 template.
所以不要想用Web管理介面設這條IPSec規則了, 只能先用 CLI 長出來.
後續才有辦法在Web管理見面作變更.

下列為 CLI 設定的 IPsec 規則, 供大家參考.
情境: iOS VPN client 撥上 Fortigate, 可以存取 LAN (192.168.1.0/24).

config vpn ipsec phase1-interface
    edit "IKEv2_PSK"
        set type dynamic
        set interface "wan1"
        set ike-version 2
        set peertype any
        set net-device disable
        set mode-cfg enable
        set ipv4-dns-server1 192.168.1.10
        set proposal aes256gcm-prfsha256
        set localid "fgt60e"
        set dpd on-idle
        set dhgrp 19
        set ipv4-start-ip 172.16.1.1
        set ipv4-end-ip 172.16.1.10
        set psksecret heremypsk
        set dpd-retryinterval 60
    next
end
config vpn ipsec phase2-interface
    edit "IKEv2_PSK_P2"
        set phase1name "IKEv2_PSK"
        set proposal aes256gcm
        set pfs disable
        set src-subnet 192.168.1.0 255.255.255.0
    next
end

最後要加一條防火牆規則, 讓 VPN client 可以存取 LAN.
https://ithelp.ithome.com.tw/upload/images/20251210/20020804HbDBOKC6fZ.jpg

iOS 設定:

  • 遠端識別碼, 輸入值要和 phase1-interface 裡的 localid 設定一樣.
  • 本機識別碼, 每台 iOS 用戶設備要設定不一樣.
  • 認證使用者認證設為:無, 使用憑證:關, 輸入PSK密鑰.
    https://ithelp.ithome.com.tw/upload/images/20251210/20020804yly4wR8Kqm.jpg

Fortigate IKE negotiation debug 方式:
開 CLI console, 輸入
diagnose debug application ike -1
diagnose debug enable

記得結束前把 debug 關掉.
diagnose debug disable

0
andylau
iT邦新手 3 級 ‧ 2025-12-11 10:08:18

我是用 FortiClientVPN 這個APP

環境:
FortiGate-91G V7.2.11
iOS 26.1 + FortiClient 7.4.10.0196

特別為 iOS 設定一個IPSec

config vpn ipsec phase1-interface
    edit "IPSec_iOS"
        set type dynamic
        set interface "wan1"
        set mode aggressive
        set peertype one
        set net-device enable
        set mode-cfg enable
        set proposal aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1
        set dhgrp 14 5 2
        set xauthtype auto
        set peerid "ios"
        set ipv4-start-ip 192.168.99.171
        set ipv4-end-ip 192.168.99.180
        set ipv4-netmask 255.255.255.0
        set dns-mode auto
        set ipv4-split-include "IPSec_VPN_split"
        set unity-support disable
        set psksecret yourpsk
        set dpd-retryinterval 60
    next
end

config vpn ipsec phase2-interface
    edit "IPSec_iOS"
        set phase1name "IPSec_iOS"
        set proposal aes128-sha1 aes256-sha1 aes128-sha256 aes256-sha256 aes128gcm aes256gcm chacha20poly1305
        set pfs disable
        set keepalive enable
    next
end

IPSec_VPN_split 這個是位址群組,就把允許VPN存取的網段加進來
然後防火牆規則也加上存取各網段的規則

iOS 設定:
https://ithelp.ithome.com.tw/upload/images/20251211/20069056BsVTY38Y0x.jpg

local identifier 要跟 phase1裡面peerid的一樣

不過有遇到一個問題
VPN User 沒辦法開2FA
完全不會跳詢問 Token 的視窗
但用SSLVPN就可以
這樣安全性就降低了

我要發表回答

立即登入回答