如何在 CentOS 7 上安装 OpenVPN

在本教程中,我们将向您展示如何在您的 CentOS 7 上安装 OpenVPN。对于那些不知道的人,OpenVPN 是一个开源应用程序,广泛用于在不安全的公共互联网上创建安全的虚拟专用网络。 OpenVPN 是一种 SSL VPN 解决方案,可通过 Internet 安全地耗尽您的系统连接。 OpenVPN 在客户端-服务器结构中发挥作用。 所有连接到虚拟专用网络的设备就像它们连接到您的局域网一样。 通过 VPN 隧道发送的数据包使用 256 位 AES 加密技术进行加密,从而防止数据被盗。

本文假设您至少具备 Linux 的基本知识,知道如何使用 shell,最重要的是,您将网站托管在自己的 VPS 上。 安装非常简单,假设您在 root 帐户下运行,如果不是,您可能需要添加 ‘sudo‘ 到命令以获取 root 权限。 我将向您展示如何在 CentOS 7 服务器上逐步安装 OpenVPN 开源虚拟专用网络。

在 CentOS 7 上安装 OpenVPN

第 1 步。首先,让我们首先确保您的系统是最新的。

yum clean all yum -y install epel-release yum -y update

步骤 2. 在 CentOS 7 上安装 OpenVPN。

我们现在将安装 OpenVPN 和 Easy-RSA 软件包。 提供了 Easy-RSA 包,因此我们可以更轻松地生成证书:

yum install openvpn easy-rsa

步骤 3. 配置 Easy-RSA。

现在您已成功安装 OpenVPN,您必须创建密钥和证书,请按照此部分逐步操作:

mkdir -p /etc/openvpn/easy-rsa/keys

接下来,我们将证书生成脚本从其默认位置复制到我们的 OpenVPN 文件夹:

cp -rf /usr/share/easy-rsa/2.0/* /etc/openvpn/easy-rsa

我们将转到 easy-RSA 目录并获取变量:

cd /etc/openvpn/easy-rsa source ./vars

然后立即运行“./clean-all”以确保我们有一个干净的证书设置:

./clean-all

现在您必须生成一个“Certificate Authority (ca)”文件。 您将被要求输入您在“vars”文件中编辑的国家名称等。 你可以打“Enter” 接受您的默认值。

现在移动到以下目录:

cd /etc/openvpn/easy-rsa/2.0/ ./build-ca

步骤 4. 生成服务器密钥和证书。

在当前目录中运行以下命令:

./build-key-server server

我们还需要创建一个 Diffie-Hellman 文件。 该文件的创建将取决于密钥的长度。 对于此默认设置,我们将使用 2048 位密钥,但您始终可以通过编辑 easy-RSA 文件夹中的 vars 文件来更改它:

./build-dh

步骤 5. OpenVPN 服务器配置。

我们现在将配置 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]

步骤 6. 为 OpenVPN 配置 Iptables。

我们需要输入一些 IPtables 规则来在客户端机器上启用互联网:

### KVM ### iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE  ### OpenVZ ### iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to 192.168.77.20 iptables-save

接下来,编辑 systctl.conf 启用数据包转发:

nano /etc/sysctl.conf

添加行:

net.ipv4.ip_forward=1

步骤 7. 创建客户端证书和密钥。

以下命令将生成客户端证书和密钥:

nano client

添加以下行:

cd /etc/openvpn/easy-rsa/2.0/ echo -en "Nama Client: " read client echo -en "Server IP: " read servip echo -en "TCP or UDP?: " read proto echo -en "Server port: " read servport . ../vars source ./vars echo "####################################" echo "Feel free to accept default values" echo "####################################" ./build-key $client cd /etc/openvpn/easy-rsa/2.0/keys rm -rf $client echo "client dev tun proto $proto remote $servip $servport resolv-retry infinite nobind tun-mtu 1500 tun-mtu-extra 32 mssfix 1450 persist-key persist-tun ca ca.crt cert $client.crt key $client.key ;auth-user-pass comp-lzo verb 3" > $client.ovpn mkdir d${client} cp ${client}* d${client} cp ca.crt d${client} mv d${client} $client zip -r $client.zip $client cp $client.zip /var/www/html echo "Now grab the $client.zip file and extract it under your Openvpnconfig dir!"

设置文件权限并使其可执行:

chmod 755 client ./client

恭喜! 您已成功安装 OpenVPN。 感谢您使用本教程在您的 CentOS 7 系统上安装 OpenVPN 开源虚拟专用网络。 如需更多帮助或有用信息,我们建议您查看 官方 OpenVPN 网站.