如何在 Ubuntu 16.04 LTS 上安裝 OpenVPN


本教程將向您展示如何在 Ubuntu 16.04 LTS 上安裝 OpenVPN。對於那些不知道的人,OpenVPN 是一種廣泛使用的開源應用程序,用於在不安全的公共 Internet 上創建安全的虛擬專用網絡。 OpenVPN 是一種 SSL VPN 解決方案,可通過 Internet 安全地排出系統連接。 OpenVPN 採用客戶端-服務器結構。連接到虛擬專用網絡的所有設備的行為就像它們連接到局域網一樣。 通過 VPN 隧道發送的數據包使用 256 位 AES 加密進行加密,以防止數據被盜。

本文假設您至少具有 Linux 的基本知識,知道如何使用 shell,最重要的是,將您的網站託管在您的 VPS 上。安裝非常簡單,假設您在 root 帳戶下運行。如果沒有,您需要添加一個’。sudo‘向命令獲取root權限。 了解如何在 Ubuntu 16.04 (Xenial Xerus) 服務器上分階段安裝 OpenVPN 開源虛擬專用網絡。

在 Ubuntu 16.04 LTS 上安裝 OpenVPN

步驟 1. 首先,運行以下命令以確保所有系統包都是最新的。 apt-get 終端命令。

sudo apt-get update
sudo apt-get upgrade

步驟 2. 在 Ubuntu 16.04 上安裝 OpenVPN。

使用以下命令安裝 OpenVPN。

apt-get install openvpn easy-rsa

步驟 3. 設置證書頒發機構。

OpenVPN 服務器使用證書來加密服務器和各種客戶端之間的流量。因此,要創建和管理這些證書,您需要在您的 VPS 上設置證書頒發機構 (CA)。

make-cadir ~/openvpn-ca
cd ~/openvpn-ca

在文件末尾編輯一些變量。

nano vars

如有必要,請更改它。

# These are the default values for fields
# which will be placed in the certificate.
# Don't leave any of these fields blank.
export KEY_COUNTRY="US"
export KEY_PROVINCE="CA"
export KEY_CITY="NewYork"
export KEY_ORG="Fort-Funston"
export KEY_EMAIL="[email protected]"
export KEY_OU="MyOrganizationalUnit"

# X509 Subject Field
export KEY_NAME="chedelics"

如果沒有錯誤,您將看到以下輸出:

source vars
NOTE: If you run ./clean-all, I will be doing a rm -rf on /home/user/openvpn-ca/keys

現在您可以清理環境並構建 CA。

./clean-all
./build-ca

恭喜……將創建一個新的 RSA 密鑰,並要求您驗證之前在 vars 文件中輸入的詳細信息。 按 Enter 確認。

步驟 4. 生成服務器密鑰和證書。

在當前目錄中運行以下命令:

./build-key-server server

您還需要創建一個 Diffie-Hellman 文件。該文件的創建取決於密鑰的長度。此默認值使用 2048 位密鑰,但您可以隨時通過編輯 easy-RSA 文件夾中的 vars 文件來更改它。

./build-dh

最後,您需要生成一個 HMAC 簽名來加強證書。

openvpn --genkey --secret keys/ta.key

步驟 5. 為客戶端創建公鑰/私鑰。

此過程創建單個客戶端密鑰和證書。

source vars
./build-key client1

步驟 6. 配置 OpenVPN 服務器。

接下來,配置 OpenVPN 服務器。

cd ~/openvpn-ca/keys
cp ca.crt ca.key vpnserver.crt vpnserver.key ta.key dh2048.pem /etc/openvpn

然後將示例 OpenVPN 配置提取到默認位置。

gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf

然後編輯配置文件。

nano /etc/openvpn/server.conf

粘貼以下配置(可以更改端口等值):

local 192.168.77.20
port 443
proto tcp
dev tun
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/server.crt
key /etc/openvpn/easy-rsa/2.0/keys/server.key
dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem
server 10.8.0.0 255.255.255.0
#-ifconfig-pool-persist ipp.txt
push "redirect-gateway def1"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 4.2.2.1"
keepalive 2 30
comp-lzo
persist-key
persist-tun
status 443status.log
log-append 443log.log
verb 3

保存文件,啟用並啟動 OpenVPN 服務。

systemctl enable [email protected]
systemctl start [email protected]

步驟 7. 為 OpenVPN 配置 Iptables。

要在客戶端機器上啟用 Internet,您需要輸入一些 IPtables 規則。

sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j MASQUERADE
sudo apt-get install iptables-persistent

恭喜! OpenVPN 現已成功安裝。感謝您使用本教程在您的 Ubuntu 16.04 LTS (Xenial Xerus) 系統上安裝 OpenVPN 服務器。我們鼓勵您查看更多幫助和有用信息。 OpenVPN官網..