在本教程中,我们将向您展示如何在 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 网站.