需要一種安全、加密的方式來訪問互聯網嗎?為什麼不在Windows Server上使用OpenVPN呢?設置您的第一個VPN可能會很困難,但您來對地方了!
在本教程中,您將學習如何設置免費VPN,並阻止惡意實體進入您的Windows Server。
準備好保護您的網絡了嗎?那就馬上開始吧!
先決條件
本教程將進行實際演示。如果您想跟著操作,請確保您擁有以下內容:
- A Windows Server – This tutorial uses Window Server 2019 R2.
- A client machine to test the VPN server – This demo uses Windows 10 64 bit.
- 使用遠程桌面(RDP)或您偏好的桌面管理器客戶端連接到Windows Server的桌面 – 本演示使用默認的RDP窗口客戶端。
在Windows Server上安裝OpenVPN
OpenVPN可以在不同的操作系統上運行,但它並不隨著您的操作系統安裝而附帶。通過在您的服務器上安裝OpenVPN來開始這個教程。
1. 打開您喜歡的瀏覽器,並導航至 OpenVPN 下載 頁面。將 Windows 64位元MSI安裝程式 套件下載到您的伺服器並執行安裝程式。

2. 接著,在安裝精靈的初始頁面上點擊 自定義,如下所示。 自定義 選項可讓您為您的VPN伺服器安裝額外的項目。

3. 在 自定義安裝 頁面上,點擊 OpenVPN服務 下拉選單 —> 將安裝在本地硬碟上,將OpenVPN服務安裝到您的系統上。此選項還會在系統啟動時啟用OpenVPN服務。

4. 現在,向下滾動,並點擊 OpenSSL實用工具 下拉選單 —> 選擇 將安裝在本地硬碟上 選項。此選項使OpenSSL庫和開發標頭可供OpenVPN服務使用,並且OpenVPN服務需要這些功能執行某些加密函數。
點擊 立即安裝 以在您的伺服器上安裝OpenVPN。

5. 最後,當安裝完成時,點擊 關閉。

生成伺服器和客戶端的證書和金鑰
現在您的伺服器上已安裝了OpenVPN,但您將如何保護伺服器與客戶端的連線?您將為伺服器和客戶端生成證書和金鑰。
證書和金鑰用於在您的伺服器和客戶端之間提供加密連接。生成證書後,您會獲得一個唯一的公鑰和私鑰。
1. 以系統管理員身份打開命令提示符。某些 OpenVPN 命令需要提升的權限才能運行。

2. 接下來,運行以下命令以啟動 easy-rsa shell。easy-rsa shell 用於管理證書、金鑰和配置。
easy-rsa 將成為本教程中您的主要命令行界面。

3. 運行下面的命令 ./easyrsa clean-all
以清除任何現有的金鑰和配置。此命令確保您以乾淨的配置開始。

4. 現在,運行 ./easyrsa init-pki
命令以初始化公鑰基礎設施(PKI)並為您的證書和金鑰創建新的目錄結構。
公鑰基礎設施(PKI)是一個框架,允許您為伺服器和客戶端創建和管理公鑰和私鑰。
Type 是並按 Enter 確認您要銷毀任何現有的密鑰並創建新的 PKI,如下所示。

5. 執行以下命令以創建證書機構(CA)(build-ca
)。 CA 負責向伺服器和客戶端發放證書,簽署這些證書,撤銷證書等等。
使用nopass
選項,這樣每次將證書和密鑰複製到客戶端時就無需輸入密碼。./easyrsa build-ca nopass
在配置 VPN 時,您需要為您的伺服器和客戶端生成一個由證書機構(CA)簽署的證書。

6. 執行以下命令以構建伺服器證書和密鑰(build-server-full
)。此命令創建 OpenVPN 伺服器證書和密鑰,用您的 CA 簽署,並將文件放在 keys 子目錄中。

7. 接下來,執行以下命令以生成Diffie-Hellman 參數(gen-dh
),然後關閉您的easyrsa
shell。
Diffie-Hellman 是一種允許兩個用戶在不安全的連接上交換加密金鑰的協議。即使加密金鑰被盜,Diffie-Hellman 也將需要確保您的 VPN 保持安全。

現在,您已經擁有所需的 SSL/TLS 金鑰文件,可用於您的 OpenVPN 服務,如下表所列。
Folder Path | Content |
C:\Program Files\OpenVPN\easy-rsa\pki | CA file, DH file, and other OpenSSL-related files like a config file. |
C:\Program Files\OpenVPN\easy-rsa\pki\private | Include the private key files of CA, Server, and Client certificates. |
C:\Program Files\OpenVPN\easy-rsa\pki\issued | Contains issued server and client certificates. |
最後,打開您的文件總管,將下面列出的文件複製到 C:\Program Files\OpenVPN\config-auto 和 C:\Program Files\OpenVPN\easy-rsa\pki\private 文件夾中。
C:\Program Files\OpenVPN\easy-rsa\pki\ca.cert |
C:\Program Files\OpenVPN\easy-rsa\pki\dh.pem |
C:\Program Files\OpenVPN\easy-rsa\pki\issued\server.cert |
C:\Program Files\OpenVPN\easy-rsa\pki\private\server.key |
配置您的 Windows 防火牆規則
現在您已經配置了您的 OpenVPN 服務器,下一步是確保您可以訪問該服務。 您需要配置 Windows 防火牆以允許 OpenVPN 流量。
1. 執行以下 netsh
命令,以允許流量通過 Windows 防火牆:
- 通過添加一個名為
OpenVPN
的規則(add rule name="OpenVPN"
)到 Windows 防火牆,配置(advfirewall
)Windows 防火牆(firewall
)。 - 允許所有本地 IP 地址(
localip=any
)和外部設備(remoteip=any
)通過此規則進行通信(action=allow
)。 - 告訴服務器打開哪個端口(
localport=1194 remoteport=0-65535
)以及使用哪種類型的協議(protocol=UDP
)。

2. 在您偏好的文本編輯器中打開您的 C:\Program Files\OpenVPN\config-auto\server.ovpn 文件,預覽其內容,如下所示。
一個 .ovpn 文件是一個OpenVPN配置文件。它包含了OpenVPN連接到VPN所需的所有信息,如加密和驗證密鑰。在本教程中,您需要一個 .ovpn 文件來配置您與VPN服務器的連接。

最後,運行以下命令來重新啟動OpenVPN服務以應用更改。

配置客戶端
除了配置服務器以允許OpenVPN流量之外,您還需要配置客戶端。在OpenVPN中,客戶端是任何連接到VPN的機器。本演示使用Windows 10來連接到服務器。
1. 像在“在您的服務器上安裝OpenVPN”部分一樣,在客戶端上安裝OpenVPN。
2. 從服務器複製下面列出的文件到客戶端的 C:\Program Files\OpenVPN\config 文件夾中。
C:\Program Files\OpenVPN\easy-rsa\pki\ca.cert |
C:\Program Files\OpenVPN\easy-rsa\pki\issued\client.crt |
C:\Program Files\OpenVPN\easy-rsa\pki\issued\client.key |
3. 最後,打開 C:\Program Files\OpenVPN\config\client.ovpn 文件 並將以下內容填入文件中。將 YOUR_OPENVPN_IP
替換為您實際的Windows Server IP地址。
測試您客戶端的VPN連接
現在您已經安裝並配置了伺服器和客戶端,是時候測試它們之間的連接是否正常工作了。
在您的Windows 10客戶端上運行OpenVPN GUI。

右鍵點擊通知區域中的OpenVPN狀態圖標(帶有一個鎖定圖標),然後選擇連接將客戶端連接到您的VPN。
一旦客戶端連接成功,OpenVPN狀態圖標將變為綠色,並且您將收到一個VPN現在已連接的通知,如下所示。

為了進行二次檢查,您可以ping
您的VPN服務器,使用指定的IP地址(10.8.0.2
)。
下面的輸出確認了您的VPN正如預期地工作。

結論
在本教程中,您已經學會了在Windows Server上安裝OpenVPN的正確步驟。您還學會了通過一個OpenVPN配置文件(.ovpn)配置OpenVPN服務器和客戶端。此時,您現在擁有一個完全功能的VPN服務,可以用來安全地瀏覽網絡。
現在,為什麼不利用這個新知識將你的VPN連接擴展到Amazon AWS VPC,並使用AWS VPC VPN Gateway服務呢?