使用微軟 Entra ID(Microsoft Entra ID)進行 Captive Portal 認證
Zyxel Employee
這篇文章主要說明如何在 USG FLEX H 系列設備上,利用微軟 Entra ID(Microsoft Entra ID)的 OIDC 協議來設定 Captive Portal 認證。
內容涵蓋了如何在微軟 Entra ID(Microsoft Entra ID)中註冊應用程式,以及啟用 OIDC 認證所需的防火牆設定;設定完成後,使用者就能直接用現有的微軟帳號登入,不需要再使用本地端的帳號密碼了。
開始之前的準備工作
在開始設定之前,請確認你已經準備好以下項目:
- 有效的身分驗證提供者(IdP)授權:必須擁有微軟 Entra ID(Microsoft Entra ID)的有效授權。
- 網路連線:你的設備必須能連上微軟 Entra ID(Microsoft Entra ID)。
- SSL 憑證設定正確:憑證必須配置妥當。
- 防火牆的 DNS 與 HTTPS 存取:確保防火牆能正常使用 DNS 解析與 HTTPS 連線。
- 兩組 FQDN 網域名稱:
- FQDN 1(用於 OIDC 重新導向位址):需解析到你的 WAN IP。
- FQDN 2(用於 Captive Portal 伺服器):需解析到你的 Captive Portal 伺服器位址(預設是
6.6.6.6)。
- 受信任的憑證:憑證必須由受信任的憑證授權中心(CA)簽發。
- 憑證名稱包含上述 FQDN:憑證的通用名稱(CN)和主體別名(SAN)必須包含上述兩組 FQDN。
Captive Portal 使用 HTTPS 來保護使用者的認證流量,並支援將使用者重新導向到外部的身分驗證提供者(IdP),例如微軟 Entra ID(Microsoft Entra ID)。如果 SSL 憑證不受信任,或者與 Captive Portal 的網址不符,使用者的裝置會跳出瀏覽器警告,甚至直接阻擋認證流程。
支援的憑證類型
你必須使用以下其中一種憑證:
- 公開(商業)CA 簽署的憑證:
- 大多數使用者裝置都會自動信任。
- 推薦用於訪客網路或自帶設備(BYOD)的環境。
- 內部 CA 簽署的憑證:
- 必須在所有使用者裝置上安裝並信任該內部 CA 的根憑證。
- 適合用於公司集中管理的內部環境。
注意:不建議在 Captive Portal 認證中使用自簽憑證(Self-signed certificates)。
憑證命名要求
你的 SSL 憑證必須符合以下規範:
- 通用名稱(CN)或主體別名(SAN)必須是一個完整網域名稱(FQDN)。
- 該 FQDN 必須能解析到 Captive Portal 的伺服器位址。
- 預設的 Captive Portal 位址為:
6.6.6.6
- 預設的 Captive Portal 位址為:
範例:
- FQDN:
portal.company.com - 憑證 CN 或 SAN:
portal.company.com - DNS 解析:
portal.company.com→6.6.6.6
上傳憑證到 USG FLEX H 系列設備
- 登入 USG FLEX H 系列的網頁管理介面。
- 前往 System(系統)> Certificate(憑證)。
- 匯入你的 SSL 憑證與私鑰(private key)。
- 確認憑證狀態顯示為有效。
將憑證套用到 Captive Portal
- 前往 Captive Portal > Authentication Policy > Settings。
- 找到 HTTPS / Server Certificate 設定選項。
- 選擇你剛剛匯入的憑證。
- 套用設定。
Authentication Proxy 設定
請前往 User & Authentication > User Authentication > Advance。
為了避免在認證階段跳出憑證警告,這裡使用的憑證應該是由商業 CA 簽署的,或者是您內部的 CA 憑證(前提是該內部 CA 憑證已安裝在所有使用者的裝置上)。
此外,該憑證的通用名稱(CN)或主體別名(SAN)必須是一個 FQDN(完整網域名稱),且該 FQDN 必須能解析到您防火牆的 WAN IP 位址。
注意:請務必在您的「WAN 到 ZyWALL」安全策略(secure-policy)中,允許 Authentication Proxy 的通訊埠(預設為 TCP 1003)。
微軟 Entra ID(Microsoft Entra ID)
請前往 Entra ID Portal > App registrations(應用程式註冊) > New registration(新增註冊)。
在上方選單中,點選「新增註冊(+New registration)」。
在「註冊應用程式(Register an application)」頁面上,請填寫以下資訊:
- 輸入一個好辨識的應用程式名稱,例如「Captive-Portal」。
- 在「支援的帳戶類型(Supported account types)」下方,選擇允許哪些微軟帳戶存取 USG FLEX H。
- 請選擇「僅限此組織目錄中的帳戶(Accounts in this organizational directory only (Default directory only - Single tenant))」。
1.在 Redirect URI (optional)(重新導向 URI,選填) 下方,於 Select a platform(選取平台) 清單中選擇 Web。
旁邊的欄位暫時不需要輸入網址。
2.點選 Register(註冊)。
Microsoft Entra Portal 會顯示您剛建立的應用程式詳細資訊。
3.請記下下列資訊:
- Application (client) ID
- Directory (tenant) ID
稍後在防火牆(USG FLEX H)上新增微軟 Entra ID(Microsoft Entra ID)伺服器時,必須輸入這些資訊。
請前往 Manage(管理) > Certificates & secrets(憑證與秘密),接著點選 New client secret(新增用戶端密碼)。
建立密碼後,請務必立刻複製該「密碼值(Value)」。之後在設定防火牆時,您會需要用到這組資訊。
在 USG FLEX H 系列上設定 OIDC
- 登入您的 USG FLEX H
- 前往 User & Authentication > User Authentication > Advanced
- 啟用 Authentication Proxy
- 將 HTTPS Port 設定為 1003
- 選擇 Server Certificate(伺服器憑證)
請檢視您的 Entra App 總覽頁面(Overview),您需要複製「Client ID」與「Tenant ID」來進行防火牆設定。
請前往 User & Authentication > User Authentication > AAA Server,接著新增一個 OIDC Server
填寫伺服器詳細資訊
Issuer URL:https://login.microsoftonline.com/{Tenant ID}/v2.0
Client ID:{Client ID}
Client Secret:{Client Secret}(即您稍早在「Manage > Certificate & secrets」取得的密碼)
Redirect Address:{FQDN}
注意:重新導向 URI(Redirect URI)的主機名稱必須是 FQDN(完整網域名稱),且該 FQDN 必須與您防火牆上 Authentication Proxy 的憑證設定完全相符。
請將上述的「Redirect URL」複製起來,接著回到 Entra Portal 的 Overview(總覽) 頁面。
請進入您為防火牆建立的應用程式,在 Essentials(概要) > Redirect URIs 下方,點選 Add a Redirect URI。
接著依照順序點選 Add a platform(新增平台) > Web。
請複製上述的「Redirect URL」,並回到 Entra Portal 的 Overview(總覽) > Add a Redirect URI > Add a platform。
接著進入 Add a platform > Web,在 Redirect URIs 欄位中,貼上您剛剛從 USG FLEX H 管理介面複製的 URL,最後點選 Configure。
請貼上網址。
請回到 USG FLEX H 的 OIDC Server 設定頁面,找到 Configuration Validation 區塊,然後點選 Test。
您應該會看到「OIDC Authentication Successful」。
注意:USG FLEX H 管理介面上的 Advanced Settings(進階設定) 是選填項目。
- Additional Scope(額外範圍):指定 OIDC 認證請求中需要包含的額外範圍。若要請求多個範圍,請以空白鍵分隔。建議設定值為
email。 - Login Name Attribute(登入名稱屬性):設定用於登入使用者名稱的
user-attr-name欄位。建議設定值為email。
在 USG FLEX H 系列上設定 Portal Service
為了確保 Captive Portal 的認證過程順暢且安全,在設定 OIDC 認證之前,必須先妥善完成憑證與 DNS 的準備工作。
設定 OIDC 伺服器憑證
- 前往 User & Authentication > User Authentication > Advanced。
- 在 Server Certificate 欄位中,選擇您先前準備好的憑證(即對應 FQDN1 的憑證)。
注意:請在您的「WAN 到 ZyWALL」安全策略(secure-policy)中,允許 Authentication Proxy 的通訊埠(預設為 TCP 1003)。
設定 Captive Portal 伺服器的憑證
- 前往 Captive Portal > Authentication Policy > Settings。
- 設定 Redirect FQDN。
- 選擇您先前準備好的 Server Certificate(伺服器憑證)(即對應 FQDN2 的憑證)。
設定 Captive Portal 存取的 DNS 記錄
Captive Portal 認證需要滿足以下條件:
- 擁有一組專屬的 FQDN 供 Captive Portal 使用。
- 該 FQDN 必須能透過 DNS 解析到 Captive Portal 的伺服器位址。
- 預設位址為:
6.6.6.6
- 預設位址為:
注意:用戶端裝置必須在進行認證之前,就能成功解析這組 FQDN。
情境 1:用戶端 DNS 指向內部 DNS 伺服器
如果您的用戶端裝置是使用內部 DNS 伺服器(例如 Active Directory DNS),請在伺服器上建立一筆 靜態 DNS 記錄(static DNS record),將 Captive Portal 的 FQDN 解析到 Captive Portal 伺服器位址(預設為 6.6.6.6)。
情境 2:用戶端 DNS 指向 USG FLEX H 系列
如果您的用戶端裝置是將 USG FLEX H 系列當作 DNS 伺服器,請利用防火牆內建的 DNS 功能來設定靜態 DNS 項目。
設定步驟如下:
- 前往 System > DNS & DDNS > DNS。
- 新增一筆 Address Record。
- Hostname 欄位請留空。
- 在 Domain 欄位選擇或點選 +Add 新增您的網域(例如
fqdn2.yourdomain)。 - 在 IP address 欄位填入
6.6.6.6。 - 點選 Apply(套用)。
在 USG FLEX H 系列上設定 Captive Portal
- 前往 Captive Portal > Authentication Policy > Policy。
- 點選 Add(新增) 建立一條 Policy,將其啟用(Enable),並設定策略的詳細條件(例如套用的介面或來源 IP)。
- 在 Walled Garden List 區域中,點選 OIDC Providers 並選擇 Microsoft。(此步驟是為了允許未通過認證的裝置能連線至微軟進行驗證)。
- 在 Sign-in Method(登入方式) 的 Sign-on With 選項中,選擇 OIDC server。
- 點選 Apply(套用)。
在 Sign-in Method(登入方式) 中,於 Sign-on With 選項選擇 OIDC server。
驗證:測試使用者登入
請確認 Captive Portal 能正確將尚未通過認證的使用者,重新導向到微軟 Entra ID(Microsoft Entra ID),並在驗證成功後給予網路存取權限。
- 將用戶端裝置連上網路。
- 開啟瀏覽器,進入 Captive Portal 頁面,接著點選「登入(Sign in)」。
確認是否重新導向至微軟登入頁面
認證成功,並取得存取權限。
成功連上網際網路。
前往 Network Status > Login Users > Login Users 檢查登入使用者狀態。
確認該使用者顯示為已透過 OIDC 成功驗證。






























