如何在 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.  KEY_COUNTRY="US"  KEY_PROVINCE="CA"  KEY_CITY="NewYork"  KEY_ORG="Fort-Funston"  KEY_EMAIL="[email protected]"  KEY_OU="MyOrganizationalUnit"  # X509 Subject Field  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

Save 文件并启用并启动 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 网站.