共用方式為


設定適用於 P2S 憑證驗證連線的 OpenVPN Connect 3.x 用戶端 - Windows

如果點對站 (P2S) VPN 閘道設定為使用 OpenVPN 和憑證驗證,您可以使用 OpenVPN 用戶端來連線到虛擬網路。 本文將逐步引導您完成設定 OpenVPN Connect 用戶端 3.x 並連線到虛擬網路的步驟。 OpenVPN 2.x 用戶端與OpenVPN Connect 3.x 客戶端之間有一些設定差異。 本文著重於 OpenVPN Connect 3.x 用戶端。

開始之前

開始客戶端設定步驟之前,請先確認您參照的是正確的 VPN 用戶端設定文章。 下列資料表會顯示適用於 VPN 閘道點對站 VPN 用戶端的設定文章。 步驟會根據驗證類型、通道類型和用戶端 OS 而有所不同。

驗證 通道類型 用戶端作業系統 VPN 用戶端
[MSSQLSERVER 的通訊協定內容]
IKEv2、SSTP Windows 原生 VPN 用戶端
IKEv2 macOS 原生 VPN 用戶端
IKEv2 Linux strongSwan
OpenVPN Windows Azure VPN 用戶端
OpenVPN 用戶端 2.x 版
OpenVPN 用戶端 3.x 版
OpenVPN macOS OpenVPN 用戶端
OpenVPN iOS OpenVPN 用戶端
OpenVPN Linux Azure VPN Client
OpenVPN 用戶端
Microsoft Entra ID
OpenVPN Windows Azure VPN 用戶端
OpenVPN macOS Azure VPN Client
OpenVPN Linux Azure VPN Client

注意

OpenVPN 用戶端是獨立管理,不受Microsoft控制。 這表示Microsoft不會監督其程式代碼、組建、藍圖或法律層面。 如果客戶遇到 OpenVPN 用戶端的任何錯誤或問題,他們應該直接與 OpenVPN Inc. 支援連絡。 本文中的指導方針是「如目前」提供,且尚未由OpenVPN Inc驗證。其旨在協助已經熟悉客戶端客戶,並想要使用它連線到點對站 VPN 設定中的 Azure VPN 閘道。

必要條件

本文假設您已經執行下列的必要條件:

連線需求

若要使用 OpenVPN Connect 3.x 用戶端使用憑證驗證連線到 Azure,每個連線的用戶端電腦都需要下列專案:

  • 必須在每部用戶端電腦上安裝及設定 OpenVPN Connect 用戶端軟體。
  • 用戶端電腦都必須具備安裝的用戶端憑證。
  • 如果您的憑證鏈結包含中繼憑證,請參閱 中繼憑證 一節,以確認您的 P2S VPN 閘道設定已設定為支援此憑證鏈結。 3.x 用戶端的憑證驗證行為與舊版不同,您可以在用戶端配置檔中指定中繼憑證。

工作流程

本文的工作流程如下:

  1. 如果您尚未產生並安裝用戶端憑證,請加以執行。
  2. 檢視您產生的 VPN 用戶端設定檔組態封裝中包含的 VPN 用戶端設定檔組態檔案。
  3. 設定 OpenVPN Connect 用戶端。
  4. 連線到 Azure。

產生和安裝用戶端憑證

為了進行憑證驗證,用戶端憑證必須安裝在每部用戶端電腦上。 您想使用的用戶端憑證必須使用私密金鑰匯出,而且必須包含認證路徑中的所有憑證。 此外,針對某些設定,您也需要安裝根憑證資訊。

在許多情況下,您可以按兩下,直接在用戶端電腦上安裝用戶端憑證。 不過,針對某些 OpenVPN 用戶端設定,您可能需要從用戶端憑證擷取資訊,才能完成設定。

  • 如需使用憑證的相關資訊,請參閱點對站:產生憑證
  • 若要檢視已安裝的用戶端憑證,請開啟 [管理使用者憑證]。 用戶端憑證會安裝在 Current User\Personal\Certificates

安裝用戶端憑證

每部電腦都需要用戶端憑證才能進行驗證。 如果本機電腦上尚未安裝用戶端憑證,您可以使用下列步驟加以安裝:

  1. 找出用戶端憑證。 如需用戶端憑證的詳細資訊,請參閱安裝用戶端憑證
  2. 請安裝用戶端憑證。 通常,您可以按兩下憑證檔並提供密碼 (如有需要) 來完成此動作。

檢視設定檔

VPN 用戶端設定檔組態套件包含特定的資料夾。 資料夾內的檔案包含在用戶端電腦上設定 VPN 用戶端設定檔所需的設定。 這些檔案及其所包含的設定是專為 VPN 閘道和已設定 VPN 閘道使用的驗證和通道類型而設計。

找到您所產生的 VPN 用戶端設定檔組態套件並加以解壓縮。 針對憑證驗證和 OpenVPN,您應該會看到 OpenVPN 資料夾。 如果您沒有看到該資料夾,請驗證下列項目:

  • 驗證您的 VPN 閘道是否設定為使用 OpenVPN 通道類型。
  • 如果您使用 Microsoft Entra ID 驗證,您可能沒有 OpenVPN 資料夾。 請參閱 Microsoft Entra ID 設定文章。

設定用戶端

  1. 從官方 OpenVPN 網站下載並安裝 OpenVPN 用戶端 3.x 版。

  2. 找到您所產生並下載到電腦的 VPN 用戶端設定檔組態套件。 擷取套件。 前往 OpenVPN 資料夾,然後使用記事本開啟 vpnconfig.ovpn 組態檔。

  3. 接下來,找出您建立的子憑證。 若無憑證,請使用下列其中一個連結來匯出憑證。 您會在下一個步驟中使用憑證資訊。

  4. 從子憑證中,擷取 .pfx 中的私密金鑰和 base64 指紋。 有多種方式可以執行這項操作。 其中一種方式是在電腦上使用 OpenSSL。 profileinfo.txt 檔案包含 CA 和用戶端憑證的私密金鑰和指紋。 請務必使用用戶端憑證的指紋。

    openssl pkcs12 -in "filename.pfx" -nodes -out "profileinfo.txt"
    
  5. 切換至您在記事本開啟的 vpnconfig.ovpn 檔案。 填入 和</cert>之間的 <cert> 區段,取得 和 $ROOT_CERTIFICATE 的值$CLIENT_CERTIFICATE,如下列範例所示。

       # P2S client certificate
       # please fill this field with a PEM formatted cert
       <cert>
       $CLIENT_CERTIFICATE
       $ROOT_CERTIFICATE
       </cert>
    
    • 在記事本中,開啟上一個步驟的 profileinfo.txt。 您可以透過查看 subject= 行來識別每個憑證。 例如,如果您的子憑證稱為 P2SChildCert,則用戶端憑證將會在 subject=CN = P2SChildCert 屬性之後。
    • 針對鏈結中的每個憑證,複製 "-----BEGIN CERTIFICATE-----" 和 "-----END CERTIFICATE-----" 以及介於兩者之間的文字。
  6. 在記事本中開啟 profileinfo.txt。 若要取得私密金鑰,請選取 "-----BEGIN PRIVATE KEY-----" 和 "-----END PRIVATE KEY-----" 以及介於兩者之間的文字,並加以複製。

  7. 返回記事本中的 vpnconfig.ovpn 檔案,並尋找此區段。 貼上私密金鑰,以取代 <key></key> 之間的所有內容。

    # P2S client root certificate private key
    # please fill this field with a PEM formatted key
    <key>
    $PRIVATEKEY
    </key>
    
  8. 將 「log openvpn.log」 行批注化。 如果未標記為批註,OpenVPN 用戶端會報告記錄已不再是支持的選項。 如需如何批注記錄行的範例,請參閱使用者配置檔範例。 將記錄行批注化之後,您仍然可以透過OpenVPN用戶端介面存取記錄。 若要存取,請按兩下用戶端UI右上角的記錄圖示。 Microsoft建議客戶檢查 OpenVPN 連線檔,以取得記錄檔位置,因為記錄是由 OpenVPN 用戶端所控制。

  9. 請勿變更任何其他欄位。 使用用戶端輸入中填入的設定來連線至 VPN。

  10. 在OpenVPN用戶端中匯入 vpnconfig.ovpn 檔案。

  11. 以滑鼠右鍵按一下系統匣中的 OpenVPN 圖示,然後按一下 [連線]

使用者配置檔範例

下列範例顯示 3.x OpenVPN Connect 用戶端的使用者配置檔組態檔。 此範例顯示已批注的記錄檔,以及新增的 [ping-restart 0] 選項,以防止定期重新連線,因為沒有任何流量傳送到用戶端。

client
remote <vpnGatewayname>.ln.vpn.azure.com 443
verify-x509-name <IdGateway>.ln.vpn.azure.com name
remote-cert-tls server

dev tun
proto tcp
resolv-retry infinite
nobind

auth SHA256
cipher AES-256-GCM
persist-key
persist-tun

tls-timeout 30
tls-version-min 1.2
key-direction 1

#log openvpn.log
#inactive 0
ping-restart 0 
verb 3

# P2S CA root certificate
<ca>
-----BEGIN CERTIFICATE-----
……
……..
……..
……..

-----END CERTIFICATE-----
</ca>

# Pre Shared Key
<tls-auth>
-----BEGIN OpenVPN Static key V1-----
……..
……..
……..

-----END OpenVPN Static key V1-----
</tls-auth>

# P2S client certificate
# Please fill this field with a PEM formatted client certificate
# Alternatively, configure 'cert PATH_TO_CLIENT_CERT' to use input from a PEM certificate file.
<cert>
-----BEGIN CERTIFICATE-----
……..
……..
……..
-----END CERTIFICATE-----
</cert>

# P2S client certificate private key
# Please fill this field with a PEM formatted private key of the client certificate.
# Alternatively, configure 'key PATH_TO_CLIENT_KEY' to use input from a PEM key file.
<key>
-----BEGIN PRIVATE KEY-----
……..
……..
……..
-----END PRIVATE KEY-----
</key>

中繼憑證

如果您的憑證鏈結包含中繼憑證,您必須將中繼憑證上傳至 Azure VPN 閘道。 無論您選擇從中聯機的 VPN 用戶端為何,這是要使用的慣用方法。 在舊版中,您可以在使用者配置檔中指定中繼憑證。 OpenVPN Connect 用戶端 3.x 版已不再支援此功能。

當您使用中繼憑證時,中繼憑證必須在跟證書之後上傳。

點對站組態的中繼憑證。

重新連線

如果您因為未將流量傳送至用戶端而遇到定期重新連線,您可以將 [ping-restart 0] 選項新增至配置檔,以防止中斷連線造成重新連線。 OpenVPN Connect 檔描述如下:“--ping-restart n 類似 --ping-exit,但在經過 n 秒後重新啟動,而不需要從遠端接收 ping 或其他封包,就會觸發SIGUSR1重新啟動。

如需如何新增此選項的範例,請參閱使用者配置檔範例

下一步

請後續追蹤任何其他伺服器或連線設定。 請參閱點對站設定步驟