OpenVPN是最廣泛使用的VPN應用程式之一。它是許多專有VPN應用程式的核心,透過一些努力,您也可以使用它。安裝OpenVPN相對簡單,但設定選項可能有些複雜。在本文中,我將向您展示如何使用免費的亞馬遜網路服務(AWS)彈性運算雲端(EC2)實例設定Linux VPN伺服器作為您的Linux筆記型電腦或桌上型電腦的OpenVPN伺服器。我們還將向您展示如何在Linux客戶端上設定一個“殺開關”,以防止不必要的流量透過您的ISP網路傳輸。
OpenVPN的身份驗證方式
OpenVPN有兩種處理身份驗證的方法。靜態加密方法最容易設置,但非常有限。我們將使用私鑰基礎設施(PKI)方法,利用Easy RSA腳本。 PKI方法允許多個客戶端連接,並採用更強大的加密來保護您的流量。
建立AWS實例
第一步:建立AWS帳戶
要開始,您需要建立一個AWS帳戶。在註冊過程中,您需要提供信用卡信息,但您可以在一年內使用免費的微型實例。如果您的帳戶已超過一年,則無法享有免費額度。
第二步:登入並建立EC2實例
- 登入後,建立一個EC2實例。這個過程包含幾個步驟:
- 命名實例:實例名稱不會影響任何功能,只是方便您尋找。
- 選擇作業系統:選擇Ubuntu 14.04。雖然可以在其他類型的Linux上建立OpenVPN伺服器,但不同的發行版有不同的命令和檔案儲存位置,因此您可能需要修改我提供的命令以使其正常工作。
-
選擇實例類型:我使用的是t2.micro實例。如果您在亞馬遜帳戶的前12個月內使用,它是免費的,但每月限額為15GB,對於不打算下載種子的用戶來說,這個額度就足夠了。到期後,每月約$8美元。
-
SSH連線:您需要透過SSH連線到該伺服器進行設定。連線時,您需要使用金鑰進行身份驗證。您可以為此密鑰命名,以便後續使用。給它一個容易記住的名稱並下載。
-
啟動實例:您的實例將啟動並在不久後準備好進行首次登入。點選「繼續到EC2控制台」按鈕繼續設定伺服器。
準備私鑰
您需要準備在創建過程中下載的私鑰。首先,將其從下載目錄移動到更安全的位置。通常情況下,Linux和macOS上的密鑰會存放在~/.ssh/
目錄中。
接下來,改變其權限以確保只有您(所有者)可以讀取該金鑰。由於這是私鑰,因此應僅由所有者可讀。嘗試使用未正確保護的金鑰登入時,將出現以下錯誤:
bash
$ ssh root
54.186.178.243 -i .ssh/amazon-openvpn.pem
確認更新
登入後,系統會提示您無需更新,但我建議您執行以下命令以確保所有軟體都是最新的:
bash
$ sudo apt-get update
$ sudo apt-get upgrade
現在,您可以在AWS管理控制台中看到您的實例,並準備好安裝OpenVPN。
為什麼要使用PKI而不是靜態加密?
靜態加密使用靜態金鑰,設定非常簡單,但缺點是: -只能有一個客戶端:每次只能有一個客戶端使用伺服器。 -金鑰洩漏風險:如果金鑰被洩露,則可以解密所有流量,包括一些過去捕獲的流量。
使用PKI允許多個客戶端同時連接,每個客戶端都有自己的金鑰。伺服器無需了解可能連接的用戶端,只需要呈現我們即將設定的OpenVPN CA簽署的憑證即可。
什麼是憑證授權單位(CA)?
您可能在TLS網站憑證的上下文中聽說過這個術語。一般來說,證書在網頁上下文中有兩個主要功能: - 加密瀏覽器與網路伺服器之間的流量。 - 確保瀏覽器連接到預期的網站。
建立自己的CA以簽署OpenVPN用戶端憑證是一種控制誰可以連接到OpenVPN伺服器的方法。您的伺服器將僅信任由您即將建立的CA簽署的用戶端憑證。
結論
透過本指南,您已經學習如何在AWS上設定OpenVPN伺服器。使用PKI方法不僅可以增強安全性,還可以為多個客戶端提供支援。希望這篇文章對您有幫助!