如何在 Debian 6 上设置和配置 OpenVPN 服务器

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站

开始

您需要以 root 用户或具有 sudo 访问权限的用户在云服务器上打开 SSH 连接。本指南假设您具有 sudo 访问权限。但是,您可以通过从每个命令的开头删除 'sudo' 来使用 root 进行设置。如果您的系统运行在 Linux 或 Mac 上,您可以使用终端程序进行 SSH。如果您使用的是 Windows,您可以使用 PuTTY 进行 SSH。一旦您打开了终端,假设您使用的是 Linux/Mac 系统,您可以通过输入以下命令登录:

复制代码
ssh 用户名@IP地址

在被要求时输入密码,然后您就可以开始设置 OpenVPN 了。

安装 OpenVPN 并生成必要的文件


在开始安装 OpenVPN 及其先决条件之前,我们应该确保系统上的所有软件包都是最新的。您可以使用以下命令来完成这一点:

复制代码
sudo apt-get update

这应该会使用 apt,Debian 的软件包管理器,下载所有具有更新的软件包的更新。

复制代码
sudo apt-get upgrade

在系统下载了所有更新后,我们终于可以安装 OpenVPN 了。

复制代码
sudo apt-get install openvpn udev

安装完成后,您就可以开始配置 OpenVPN 了。首先,您应该将加密文件的所有文件从它们的默认目录复制到云服务器应该读取它们的目录中。

复制代码
sudo cp -r /usr/share/doc/openvpn/examples/easy-rsa /etc/openvpn

现在,您可以开始生成 VPN 的 RSA 算法文件。在生成这些密钥时,您将被要求提供各种值。您可以将这些值设置为任何您喜欢的值,但请记住它们将包含在您生成的证书中。

首先,进入以下目录:

复制代码
cd /etc/openvpn/easy-rsa/2.0/

然后生成 RSA 文件:

复制代码
source ./vars

sudo ./clean-all

sudo ./build-ca

生成证书后,您可以为服务器生成私钥。要执行此操作,请输入以下命令,并将 'server' 更改为您希望您的 OpenVPN 服务器的名称。此脚本还会要求您提供信息。

复制代码
sudo . /etc/openvpn/easy-rsa/2.0/build-key-server server

生成 Diffie Hellman 密钥交换参数。

复制代码
sudo . /etc/openvpn/easy-rsa/2.0/build-dh

现在为此 OpenVPN 安装将托管的每个客户端生成密钥。您应该为此安装将托管的每个客户端执行此步骤,并确保每个客户端的密钥标识符是唯一的。

复制代码
sudo . /etc/openvpn/easy-rsa/2.0/build-key client

现在将服务器证书和密钥文件移动到 /etc/openvpn 目录。将 server.crt 和 server.key 替换为您使用的文件名。

复制代码
sudo cp /etc/openvpn/easy-rsa/2.0/keys/ca.crt /etc/openvpn

sudo cp /etc/openvpn/easy-rsa/2.0/keys/ca.key /etc/openvpn

sudo cp /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem /etc/openvpn

sudo cp /etc/openvpn/easy-rsa/2.0/keys/server.crt /etc/openvpn

sudo cp /etc/openvpn/easy-rsa/2.0/keys/server.key /etc/openvpn

如果您需要移除某人对 VPN 的访问权限,只需发送以下两个命令。将 'client' 替换为要移除的客户端的名称。

复制代码
sudo . /etc/openvpn/easy-rsa/2.0/vars
sudo . /etc/openvpn/easy-rsa/2.0/revoke-full client1

配置 OpenVPN


现在您已经生成了我们配置所需的文件,您可以继续配置您的 OpenVPN 服务器和客户端。要检索文件,请执行以下命令:

复制代码
sudo gunzip -d /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz

sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn

sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~/

cd

您应该修改客户端配置文件以匹配您希望它执行的操作。您还可以修改以下文件中的几个值以匹配您的需求。为此,您首先更改 'remote' 选项,以便它可以连接到您的云服务器的 IP 地址,以及您配置 OpenVPN 运行的端口。然后更改 'cert' 和 'key' 值以反映您自己证书和密钥的名称。编辑这些值后,您可以通过键入 Ctrl+X,输入 'y',然后按 Enter 保存文件。

现在将客户端配置文件以及位于 /etc/openvpn/easy-rsa/2.0/keys 中的客户端密钥和证书复制到客户端的本地机器。

复制代码
nano ~/client.conf

完成此操作后,您只需要对服务器配置文件进行一些更改,然后我们就可以完成了。将以下文件中的 'cert' 和 'key' 选项指向的文件更改为与您的服务器使用的证书和密钥相匹配的文件。

复制代码
sudo nano /etc/openvpn/server.conf

完成后,您就准备好了!只需重新启动 OpenVPN,您就可以在 Debian 6 上拥有一个可用的 OpenVPN 安装!

复制代码
sudo /etc/init.d/openvpn restart
相关推荐
脱了格子衬衫16 分钟前
linux安装ansible
linux·运维·ansible
小丑西瓜66624 分钟前
MySQL库操作
linux·服务器·数据库·mysql
荒川之神33 分钟前
RHEL/CENTOS 7 ORACLE 19C-RAC安装(纯命令版)
服务器·数据库·oracle
黑龙江亿林等保2 小时前
云ECS服务器:哈尔滨三级等保的云计算解决方案
运维·服务器·云计算
小珑也要变强3 小时前
shell脚本基本概念讲解
linux·运维
爱吃喵的鲤鱼4 小时前
linux 用C语言编写自己的myshell
linux·运维·服务器·c语言·算法
_.Switch5 小时前
Python 自动化运维持续优化与性能调优
运维·开发语言·python·缓存·自动化·运维开发
南猿北者5 小时前
Docker Volume
运维·docker·容器
Ztiddler10 小时前
【Linux Shell命令-不定期更新】
linux·运维·服务器·ssh
小小不董10 小时前
Oracle OCP认证考试考点详解082系列16
linux·运维·服务器·数据库·oracle·dba