如何在 Windows Server 2019 上設置 OpenVPN


什麼是 OpenVPN?

正如前面在 OpenVPN 文章中提到的,這是一個開源 Windows 軟件包,用於創建安全的站點到站點隧道 VPN 連接,提供兩個位置之間的遠程訪問。在本教程中,您將在 Windows 服務器上設置 OpenVPN 服務器。

OpenVPN由三部分組成:

  • OpenVPN-AS 服務器
  • 管理網頁界面/管理GUI
  • 連接到客戶端

OpenVPN 服務器

OpenVPN 服務器是 OpenVPN-AS 服務器的關鍵元素,管理後端的關鍵功能。管理界面中處理的功能包括隧道、路由、加密、用戶管理和身份驗證。 OpenVPN 服務器還包含一個 WebGUI,可幫助您控制軟件的一些基本組件。

主WebGUI管理界面

基於 Web 的主要 GUI 使處理 OpenVPN 服務器元素變得容易。 WebGUI 允許管理員查看路由選項、權限、網絡配置、用戶身份驗證和其他參數。默認情況下,管理員可以參考 https://serverip:943/ 連接 GUI Web Gateway 管理員。

OpenVPN 連接客戶端

OpenVPN客戶端也是OpenVPN軟件的重要組成部分。此應用程序允許用戶以三種方式之一直接鏈接到 VPN 服務器。 VPN 客戶端還提供下載用戶配置文件的功能,這些配置文件可以復製到其他 OpenVPN 客戶端。 這三個選項是:

  • Browser Connection Client——這是一個基於瀏覽器的openvpn連接工具。用戶的 URL 是 https://serverip:943。
  • OpenVPN 連接客戶端 (蘋果電腦)-簡單的單連接客戶端
  • OpenVPN連接客戶端(Linux /視窗)-這是一個 OpenVPN 客戶端(與主要的 openvpn-as 程序不同)。軟件需要配置文件才能正常運行。

第1部分。 安裝 OpenVPN

下載並安裝 OpenVPN

在 Windows 服務器上,首先下載 Windows 安裝程序 然後在 Windows 服務器上運行它。完成後,開始設置部分。

配置、證書和密鑰

第 1 步:更改目錄

  1. [スタート]打開菜單並[Windowsシステム]轉到>>[コマンドプロンプト]右鍵點擊[その他]單擊並[管理者として実行]選擇。
  2. 然後右鍵單擊菜單項命令提示符。
  3. [ユーザーアカウント制御]在彈出窗口中[はい]單擊以接受對服務器進行更改的程序。
  4. 在管理命令提示符下使用 cd 命令瀏覽到以下文件夾位置:
    cd C:Program FilesOpenVPNeasy-rsa

第 2 步:配置 OpenVPN 服務器

注意:在安裝過程中只運行一次 init-config。

  1. 您現在可以啟動 OpenVPN 配置。輸入以下命令:
    init-config
  2. 然後在記事本的文本編輯器中打開“vars.bat”文件。
    notepad vars.bat
  3. 然後編輯以下行以在與您的營業地點相匹配的“美國”和“加拿大”設置之間切換。
    set KEY_COUNTRY=US
    set KEY_PROVINCE=CA
    set KEY_CITY=SanFrancisco
    set KEY_ORG=OpenVPN
    set [email protected]
  4. 然後保存文件並退出記事本。
  5. 然後運行以下命令:
    vars
    
    clean-all

注意:KEY_CN 和 KEY_NAME 字段對於每個構建請求都是唯一的。 KEY_CN 和 KEY_NAME 設置是[共通名]瀏覽到字段和證書名稱。 KEY_OU設置參考“Organizational Unit”,不需要時可以任意設置。 PKCS11_ 值表示硬件安全模塊和智能卡(如果使用)設置。

步驟 3. 創建證書和密鑰

  1. 要創建證書頒發機構 (CA) 證書和密鑰,您需要運行以下命令:
    build-ca
  2. 這將提示您輸入國家、州和城市。這些選項也有括號中顯示的默認值。 對於“通用名稱”,最有利的選擇是選擇一個唯一的名稱來區分業務。
    Certificate Authority "OpenVPN-CA":
    Country Name (2 letter code) [US]:
    State or Province Name (full name) [CA]:
    Locality Name (eg, city) [SanFrancisco]:
    Organization Name (eg, company) [OpenVPN]:
    Organizational Unit Name (eg, section) []:
    Common Name (eg, your name or your server's hostname) []:OpenVPN-CA
    Email Address [[email protected]]:
  3. 然後使用以下命令啟動服務器證書和密鑰。
    build-key-server server
    

    – 出現提示時,輸入通用名稱作為服務器
    – 提示簽署證書時輸入“y”
    – 提示發送時輸入“y”

步驟 4. 創建客戶端/服務器證書和密鑰

  1. 首先,您需要使用以下命令創建密鑰:
    C:Program FilesOpenVPNeasy-rsa>build-key-server.bat
  2. 對於連接到服務器的每個客戶端,您必須選擇一個唯一名稱來標識該用戶的計算機(例如,以下示例中的“david-laptop”)。
    build-key david-laptop
  3. 然後,當出現提示時,輸入一個通用名稱作為要為客戶端證書/密鑰選擇的名稱。 對連接到 VPN 的每台客戶端計算機重複此過程。
    C:Program FilesOpenVPNeasy-rsa>build-key david-laptop
  4. 接下來,您需要使用 build-dh 命令生成“Diffie Hellman”參數。此步驟是設置加密模型所必需的。
    C:Program FilesOpenVPNeasy-rsa>build-dh.bat
  5. 然後生成一個共享密鑰(如果您使用 tls-auth,則需要)
    "C:Program FilesOpenVPNbinopenvpn.exe" --genkey --secret "C:Program FilesOpenVPNeasy-rsakeysta.key"

第2部分。 OpenVPN 設置

OpenVPN 提供了可以使用“開始”菜單輕鬆找到的示例配置數據。 開始菜單-> 所有程序-> OpenVPN-> OpenVPN 示例配置文件

配置服務器

步驟 1. 複製/編輯文件

  1. 讓我們首先將示例“服務器配置”文件複製到 easy-rsa 文件夾。該命令及其輸出如下:
     copy "C:Program FilesOpenVPNsample-configserver.ovpn" "C:Program FilesOpenVPNeasy-rsakeysserver.ovpn"

    copy "C:Program FilesOpenVPNeasy-rsa" "C:Program filesOpenVPNbinopenvpn.exe" --genkey --secret

    copy "C:Program FilesOpenVPNeasy-rsakeysta.key" "C:Program FilesOpenVPNeasy-rsa"

    copy "C:Program FilesOpenVPNsample-configserver.ovpn" "C:Program FilesOpenVPNeasy-rsakeysserver.ovpn" 1 file(s) copied.

  2. 接下來,您需要編輯 server.ovpn 文件。
    notepad "C:Program FilesOpenVPNeasy-rsakeysserver.ovpn
  3. 現在在文件中找到以下行:
    ca - ca.crt
    cert - server.crt
    key - server.key
    dh - dh2048.pem

    編輯如下:

    ca "C:Program FilesOpenVPNconfigca.crt"
    cert "C:Program FilesOpenVPNconfigserver.crt"
    key "C:Program FilesOpenVPNconfigserver.key"
    dh "C:Program FilesOpenVPNconfigdh2048.pem"
  4. 最後,保存並關閉文件。

步驟 2. 客戶資料

  1. 讓我們首先將示例“服務器配置”文件複製到 easy-rsa 文件夾。該命令及其輸出如下:
    copy "C:Program FilesOpenVPNsample-configserver.ovpn" "C:Program FilesOpenVPNeasy-rsakeysserver.ovpn"
    C:Program FilesOpenVPNeasy-rsa "C:Program filesOpenVPNbinopenvpn.exe" --genkey --secret "C:Program FilesOpenVPNeasy-rsakeysta.key"
    C:Program FilesOpenVPNeasy-rsa copy "C:Program FilesOpenVPNsample-configserver.ovpn" "C:Program FilesOpenVPNeasy-rsakeysserver.ovpn"
    1 file(s) copied.
    C:Program FilesOpenVPNeasy-rsa
  2. 接下來,您需要編輯 server.ovpn 文件。
    notepad "C:Program FilesOpenVPNeasy-rsakeysserver.ovpn" 
  3. 現在在文件中找到以下行:
    ca ca.crt
    cert server.crt
    key server.key
    dh dh2048.pem

    編輯如下:

    ca "C:Program FilesOpenVPNconfigca.crt"
    cert "C:Program FilesOpenVPNconfigserver.crt"
    key "C:Program FilesOpenVPNconfigserver.key"
    dh "C:Program FilesOpenVPNconfigdh2048.pem"
  4. 最後,保存並關閉文件。

配置客戶端

步驟 1. 複製文件

  1. 您現在可以使用 robocopy 命令將客戶端上的以下文件從 C:Program FilesOpenVPNeasy-rsakeys 複製到服務器上的 C:ProgramFilesOpenVPNconfig。

    -ca.crt
    -ta.key
    -dh2048.pem
    -server.crt
    -server.key
    -server.ovpn

    robocopy "C:Program FilesOpenVPNeasy-rsakeys " "C:Program FilesOpenVPNconfig"
    ca.crt
    ta.key
    dh2048.pem
    server.crt
    server.key
    server.ovpn
    -----------------------------------------------------
    ROBOCOPY     :: Robust File Copy for Windows
    -----------------------------------------------------
    Started : Friday, December 27, 2019 12:16:02 PM
    Source : C:Program FilesOpenVPNeasy-rsakeys
    Dest : C:Program FilesOpenVPNconfig
    Files :
    ca.crt
    dh2048.pem
    server.crt
    server.ovpn
    Options : /DCOPY:DA /COPY:DAT /R:1000000 /W:30
    --------------------------------------------------------------------
    C:Program FilesOpenVPNeasy-rsakeys
    100% New File 2482 ca.crt
    100% 432 dh2048.pem
    100% New File 10901 server.ovpn
    100% New File 657 ta.key
    --------------------------------------------------------------------
    Total Copied Skipped Mismatch FAILED Extras
    Dirs: 1 0 1 0 0 0
    Files : 0 0 0 0
    Bytes : 14.1 k 14.1 k 0 0 0 0
    Times : 0:00:00 0:00:00 0:00:00 0:00:00
    Speed : 452250 Bytes/sec.
    Speed : 25.877 MegaBytes/min.
    Ended : Friday, December 27, 2019 12:16:02 PM
    C:Program FilesOpenVPNeasy-rsa
  2. 您現在可以將服務器上的以下文件從 C:Program FilesOpenVPNeasy-rsakeys 在每台使用 VPN 的筆記本電腦上複製到 C:Program FilesOpenVPNconfig(在這種情況下):
    -ca.crt
    -ta.key
    -david-laptop.crt
    -david-laptop.key
    -david-laptop.ovpn
    robocopy "C:Program FilesOpenVPNeasy-rsakeys " "C:Program FilesOpenVPNconfig " ca.crt ta.key dh2048.pem server.crt server.key server.ovpn
    -----------------------------------------------------------------------
    ROBOCOPY     :: Robust File Copy for Windows
    -----------------------------------------------------------------------
    Started : Friday, December 27, 2019 12:16:02 PM
    Source : C:Program FilesOpenVPNeasy-rsakeys
    Dest : C:Program FilesOpenVPNconfig
    Files : ca.crt
    ta.key
    dh2048.pem
    server.crt
    server.key
    server.ovpn
    Options : /DCOPY:DA /COPY:DAT /R:1000000 /W:30
    -----------------------------------------------------------------------
    C:Program FilesOpenVPNeasy-rsakeys
    100% New File 2482 ca.crt
    100% New File 432 dh2048.pem
    100% New File 10901 server.ovpn
    100% New File 657 ta.key
    -----------------------------------------------------------------------
    Total Copied Skipped Mismatch FAILED Extras
    Dirs : 1 0 1 0 0 0
    Files : 4 4 0 0 0 0
    Bytes :14.1 k 14.1 k 0 0 0
    Times : 0:00:00 0:00:00 0:00:00 0:00:00
    Speed :452250 Bytes/sec.
    Speed :25.877 MegaBytes/min.
    Ended : Friday, December 27, 2019 12:16:02 PM
    C:Program FilesOpenVPNeasy-rsa

注意:每個字符串路徑末尾的空格很重要。

啟動 OpenVPN

接下來,您需要在服務器和客戶端上運行 OpenVPN:
開始菜單-> 所有程序-> OpenVPN-> OpenVPN GUI

最後,雙擊系統托盤中出現的圖標開始連接。後續對話框將在有效開始時關閉。

最後的想法

防火牆設置

如果您遇到連接問題,請在服務器的防火牆上設置規則以允許端口 1194 上的傳入 UDP 流量。 (Win + R “wf.msc”)

將 OpenVPN 作為服務運行

您還可以將 OpenVPN 作為服務運行。這使您可以:

  • 從非託管帳戶運行的 OpenVPN。
  • OpenVPN 在系統啟動時自動啟動。這是與服務器和持續連接到服務器的所有客戶端一起使用的推薦方法。
  • 要運行 Windows 服務管理工具:
    (按 Windows 鍵 + R)
    鍵入 services.msc 並按 Enter 以啟動 services.msc 工具。然後找到 OpenVPN 服務並將其啟動類型重置為“自動”。或者,如果您願意,您現在可以啟動該服務。

安全警告

您還可以將 OpenVPN 作為服務運行。這使您可以:

  • 從非託管帳戶運行的 OpenVPN。
  • OpenVPN 在系統啟動時自動啟動。這是與服務器和持續連接到服務器的所有客戶端一起使用的推薦方法。

我期待著您的回音。

我們很自豪能成為 Hosting™ 最有用的人!

我們的支持團隊由經驗豐富的 Linux 工程師和才華橫溢的系統管理員組成,他們熟悉許多網絡託管技術,尤其是本文中描述的技術。

如果您對此信息有任何疑問,我們將很樂意每週 7 天、每天 24 小時回答與本文相關的任何問題。

如果您是完全託管的 VPS 服務器、雲專用服務器、VMWare 私有云、私有父服務器、託管雲服務器或專用服務器的所有者,並且不確定執行任何列出的步驟,請致電 @ 請致電 800.580.4985 聯繫我們.聯繫地址, 聊天 或支持票以協助此過程。