如何在 Ubuntu 16.04 LTS 上安裝 OpenVPN


本教程將向您展示如何在 Ubuntu 16.04 LTS 上安裝 OpenVPN。對於那些不知道的人,OpenVPN 是一種廣泛使用的開源應用程序,用於在不安全的公共互聯網上創建安全的虛擬專用網絡。 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。

要在客戶端機器上啟用互聯網,您需要輸入一些 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官網.