如何在 Windows Server 2019 上設置 OpenVPN


什麼是 OpenVPN?

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

OpenVPN由三部分組成。

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

OpenVPN 服務器

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

主WebGUI管理界面

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

OpenVPN 連接客戶端

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

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

第 1 部分。安裝 OpenVPN

下載並安裝 OpenVPN

在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設置指的是“組織單位”,不需要時可以任意設置。 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:Program FilesOpenVPNconfig。

    -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 工程師和稱職的系統管理員組成,他們特別熟悉本文中提到的許多網絡託管技術。

如果您對此信息有任何疑問,我們可以每天 24 小時、每週 7 天、每年 365 天為您解答有關本文的任何問題。

如果您是完全託管的 VPS 服務器、雲專用服務器、VMWare 私有云、私有父服務器、託管雲服務器或專用服務器的所有者,並且不習慣按照記錄的步驟操作,請致電 @800.580。致電 4985。詢問 和…聊天 或支持票以協助此過程。