vps怎么搭建vpn(如何在VPS上部署)

avatar
作者
猴君
阅读量:6

什么是VPS?

VPS是一种虚拟专用服务器,多人使用一台物理服务器,各自拥有独立的资源、操作系统和应用程序。VPS为用户提供了更多的控制权和灵活性,相比于共享主机具有更高的性能和稳定性。因此,在VPS上搭建VPN通常比在共享主机上更可靠和安全。

搭建VPN前需要做什么准备?

在开始VPS上的VPN搭建之前,您需要先确保您具备以下几项条件:

具有一台VPS,并且拥有管理权限

您需要为VPS购买一张IP地址

您需要安装Linux操作系统在VPS上。在本教程中我们将使用CentOS 7。

您需要具备Linux操作系统的基本知识和技能

如何在VPS上安装OpenVPN ?

在VPS上搭建VPN需要使用OpenVPN,这是一款功能强大而易于使用的开源VPN软件。安装OpenVPN的步骤如下:

使用ssh连接到您的VPS。您需要使用root用户名和密码。

在VPS终端中输入以下命令安装OpenVPN:

yum install epel-release -y

yum install open easy-rsa -y

一旦安装完成,请验证是否运行正确。在终端输入以下命令来检查OpenVPN是否安装成功:

open --version

如果安装成功,您应该会看到OpenVPN的版本号。

配置OpenVPN

在安装OpenVPN之后,您需要配置文件,生成证书和秘密密钥,编辑服务器的配置文件。

生成证书和密钥

一旦您安装了OpenVPN,您需要为客户端和服务器生成证书和秘密密钥。这可以通过以下步骤完成:

随意创建一个目录,例如在/home下面创建一个open目录,然后使用cd命令进入这个目录:

mkdir /home/open

cd /home/open

使用Easy-RSA工具包进行初始化。Easy-RSA是一个用于生成公钥/私钥对的工具,它也可以用于生成自签名证书。

cp -r /usr/share/easy-rsa/3.0.6 /home/open/easy-rsa

cd /home/open/easy-rsa

./easyrsa init-pki

创建CA证书

./easyrsa build-ca

您将被提示输入CA的通用名称。出于安全原因,您不应该使用默认值。我们使用“openca”作为通用名称。

生成服务器证书和密钥

./easyrsa gen-req server nopass

输入common name时,您需要输入您的服务器IP地址。生成过程中,您将被要求输入密码,留空即可。这将生成一个名为"server.req"的文件。该文件包含证书请求。

使用CA签名证书请求

./easyrsa sign-req server server

在这个步骤中,您会被要求确认签署证书的请求,输入“yes”确认。

生成Diffie-Hellman文件

./easyrsa gen-dh

这个过程可能需要几分钟时间,取决于你的VPS性能。

生成TLS密钥

openssl genrsa -out ta.key 2048

配置OpenVPN的服务器端

现在,您已经生成了证书和密钥,接下来是OpenVPN服务器配置文件的设置。请按照以下步骤进行操作:

复制OpenVPN示例服务器配置文件

cp /usr/share/doc/open-*/sample/sample-config-files/server.conf /etc/open/server.conf

编辑server.conf并将以下行取消注释(删除“;”)。

tls-auth ta.key 0

server.key

server.crt

dhp.pem

添加以下行

port 1194

proto udp

dev tun

sndbuf 0

rcvbuf 0

user nobody

group nobody

persist-key

persist-tun

keepalive 10 120

cipher AES-256-GCM

auth SHA512

tls-version-min 1.2

max-clients 10

push "redirect-gateway def1 bypass-dhcp"

push "dhcp-option DNS 8.8.8.8"

push "dhcp-option DNS 8.8.4.4"

server 10.8.0.0 255.255.255.0

ifconfig-pool-persist ipp.txt

在server.conf中,您可以更改例如端口号、设备名称、加密算法等设置来配置OpenVPN服务器。

配置SELinux

如果您使用的操作系统是CentOS 7,建议您配置SELinux,以确保OpenVPN能够正常运行。在此示例中,我们将使用audit2allow来添加必要的许可。

cat /var/log/audit/audit.log | grep open | grep -i denied | audit2allow -M my

semodule -i my.pp

这些设备节点当前不在SELinux策略中。您需要手动将它们添加到策略中,才能使OpenVPN正常运行。

cd /etc/open

cat /var/log/audit/audit.log | grep open | grep -i denied | audit2allow -M my

semodule -i my.pp

或者,如果系统上已经安装了"policycoreutils-python",可以使用“audit2allow”命令:

sudo grep open /var/log/audit/audit.log | audit2allow -M open && 

sudo semodule -i open.pp

启动OpenVPN服务器

您已经完成了OpenVPN服务器的配置。您现在需要启动OpenVPN服务以便客户端连接。这可以使用systemctl命令完成。

systemctl start open

systemctl enable open

如何连接OpenVPN?

用于连接到OpenVPN的客户端有很多种选择。这里我们使用OpenVPN客户端来演示如何连接OpenVPN。请按照以下步骤进行操作:

下载OpenVPN客户端

您可以在OpenVPN官网上下载,也可以使用命令行:

wget https://open.net/downloads/open-connect-v2.7.1.msi

获取客户端证书和密钥

,您需要从VPS复制两个文件到本地计算机,这些文件是在之前生成的,具体为“client.crt”和“client.key”。您可以使用scp命令从VPS复制它们。

scp root@your_server_ip:/home/open/easy-rsa/pki/private/client.key ~/

scp root@your_server_ip:/home/open/easy-rsa/pki/issued/client.crt ~/

导入证书和密钥到OpenVPN客户端

导入“client.key”和“client.crt”到OpenVPN客户端。在OpenVPN客户端中,依次单击“文件”>“导入文件”>“导入证书”并选择“client.crt”,然后导入“client.key”。

连接到OpenVPN服务器

双击OpenVPN客户端图标,它会提示您输入用户名和密码。在成功输入正确的用户名和密码后,您可以看到OpenVPN已经成功连接到VPS。

如何验证OpenVPN是否工作?

完成上述步骤后,您需要验证OpenVPN是否工作。以下是一些方法:

在服务器端使用ip addr命令列出服务器端点号:

ip addr | grep tun

该命令应该输出tun0的IP地址。

在客户端使用ipconfig(Windows)或ifconfig(Mac或Linux)命令检查改变的IP地址

使用ping命令测试:

ping 10.8.0.1

如果能够ping通,表示VPN服务工作正常。

使用WhatIsMyIp.org等工具查看IP地址,确保您的IP地址已更改,以反映您的VPN连接。

通过本文,您已经了解了如何在VPS上搭建OpenVPN。OpenVPN是一种强大的VPN软件,可以使您在安全的通信管道上传输数据。搭建过程中需要先进行准备工作并生成证书和密钥,随后需要配置OpenVPN服务器并连接客户端。当正确安装和配置时,OpenVPN是一种安全和可靠的VPN软件,适合于个人和企业用户。

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!