如何在 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
相关推荐
sinat_384241093 小时前
使用 npm 安装 Electron 作为开发依赖
服务器
朝九晚五ฺ4 小时前
【Linux探索学习】第十四弹——进程优先级:深入理解操作系统中的进程优先级
linux·运维·学习
Kkooe5 小时前
GitLab|数据迁移
运维·服务器·git
久醉不在酒5 小时前
MySQL数据库运维及集群搭建
运维·数据库·mysql
虚拟网络工程师6 小时前
【网络系统管理】Centos7——配置主从mariadb服务器案例(下半部分)
运维·服务器·网络·数据库·mariadb
BLEACH-heiqiyihu6 小时前
RedHat7—Linux中kickstart自动安装脚本制作
linux·运维·服务器
勤奋的小王同学~7 小时前
项目虚拟机配置测试环境
服务器
007php0077 小时前
GoZero 上传文件File到阿里云 OSS 报错及优化方案
服务器·开发语言·数据库·python·阿里云·架构·golang
JosieBook7 小时前
【网络工程】查看自己电脑网络IP,检查网络是否连通
服务器·网络·tcp/ip
我的K84098 小时前
Flink整合Hudi及使用
linux·服务器·flink