如何在 AlmaLinux 8、Centos 8 或 Rocky Linux 8 上安装 OpenVPN如何在 AlmaLinux 8、Centos 8 或 Rocky Linux 8 上安装 OpenVPN如何在 AlmaLinux 8、Centos 8 或 Rocky Linux 8 上安装 OpenVPN如何在 AlmaLinux 8、Centos 8 或 Rocky Linux 8 上安装 OpenVPN
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 AlmaLinux 8、Centos 8 或 Rocky Linux 8 上安装 OpenVPN

VPN“虚拟专用网络”是使用加密隐藏用户身份、来源和数据的专用网络。其主要用途是用户的数据隐私和与互联网的安全连接。由于它隐藏数据,因此您可以访问通常受地理限制阻止的数据。

OpenVPN 是一款开源 VPN 软件,它本身既是一个软件,也是一个协议。由于它不断绕过防火墙,因此受到高度重视。

本教程将逐步向您展示如何安装和设置 OpenVPN 服务器并将其连接到 OpenVPN 客户端。我们将使用 CentOS 8 服务器进行安装,相同的过程也适用于 Rocky Linux 8 和 AlmaLinux 8。

先决条件

终端接入

具有 sudo 权限的用户帐户。

注意:本教程中的命令是在CentOS 8上执行的。教程中的所有方法也适用于CentOS 7。

更新升级系统

通过运行以下命令更新和升级系统,确保您的系统是最新的。

sudo dnf update && sudo dnf upgrade

禁用 SELinux

接下来,您需要禁用 SELinux,因为它与 OpenVPN 冲突并阻止其启动。

要禁用 SELinux,请使用以下命令打开 SELinux 配置文件。

sudo nano /etc/selinux/config

使用 Nano 编辑器打开文件后。搜索 SELinux 并将其值更改为禁用,或者只需将其替换为以下代码行。

SELINUX=disabled

按 Ctrl+O,然后按 Ctrl+X 保存并退出文件。

启用IP转发

现在,您需要启用IP转发,以便传入的数据包可以转发到不同的网络。

要启用 IP 转发,请使用 nano 编辑器打开 sysctl 配置文件。

sudo nano /etc/sysctl.conf

将以下代码添加到文件中。

net.ipv4.ip_forward = 1

按 Ctrl+O,然后按 Ctrl+X。

安装 OpenVPN 服务器

确保安装 epel-release 包。

sudo dnf install epel-release -y

现在,您可以使用以下命令安装 OpenVPN。

sudo dnf install openvpn -y

现在 OpenVPN 已安装。导航到其安装文件夹并下载 easy-rsa。 Easy-RSA 构建和管理证书颁发机构 (CA)。

cd /etc/openvpn
sudo wget https://github.com/OpenVPN/easy-rsa/releases/download/v3.0.6/EasyRSA-unix-v3.0.6.tgz

解压缩下载的 zip 文件。

sudo tar -xvzf EasyRSA-unix-v3.0.6.tgz

并将 EasyRSA 文件移动到其文件夹中。

sudo mv EasyRSA-v3.0.6 easy-rsa

配置 Easy-RSA

接下来,我们需要添加并构建 SSL 证书。为此,首先导航到 easy-rsa 目录。

cd /etc/openvpn/easy-rsa

要在 nano 编辑器中打开 vars 文件,请运行以下命令。

sudo nano vars

现在将以下代码行复制并粘贴到 vars 文件中。

set_var EASYRSA "$PWD"
set_var EASYRSA_PKI "$EASYRSA/pki"
set_var EASYRSA_DN "cn_only"
set_var EASYRSA_REQ_COUNTRY "USA"
set_var EASYRSA_REQ_PROVINCE "Newyork"
set_var EASYRSA_REQ_CITY "Newyork"
set_var EASYRSA_REQ_ORG "osradar CERTIFICATE AUTHORITY"
set_var EASYRSA_REQ_EMAIL ""
set_var EASYRSA_REQ_OU "osradar EASY CA"
set_var EASYRSA_KEY_SIZE 2048
set_var EASYRSA_ALGO rsa
set_var EASYRSA_CA_EXPIRE 7500
set_var EASYRSA_CERT_EXPIRE 365
set_var EASYRSA_NS_SUPPORT "no"
set_var EASYRSA_NS_COMMENT "osradar CERTIFICATE AUTHORITY"
set_var EASYRSA_EXT_DIR "$EASYRSA/x509-types"
set_var EASYRSA_SSL_CONF "$EASYRSA/openssl-easyrsa.cnf"
set_var EASYRSA_DIGEST "sha256"

您可以根据需要更改国家、城市、省份和电子邮件的值。

按 Ctrl+O,然后按 Ctrl+X。

现在,使用以下命令启动 PKI 目录。

./easyrsa init-pki

最后,您可以构建您的 CA 证书。

sudo ./easyrsa build-ca

生成服务器证书文件

使用以下命令获取您的密钥对和证书请求。

sudo ./easyrsa gen-req vitux-server nopass

使用 CA 签署服务器密钥

要使用 CA 签署您的服务器密钥,请运行以下命令。

sudo ./easyrsa sign-req server vitux-server

我们需要 Diffie-Hellman 密钥来进行密钥交换。通过运行以下命令生成密钥。

sudo ./easyrsa gen-dh

接下来,将所有这些文件复制到 /etc/openvpn/server/ 目录。

cp pki/ca.crt /etc/openvpn/server/
cp pki/dh.pem /etc/openvpn/server/
cp pki/private/vitux-server.key /etc/openvpn/server/
cp pki/issued/vitux-server.crt /etc/openvpn/server/

生成客户端密钥和证书

您可以通过运行以下命令获取客户端密钥。

sudo ./easyrsa gen-req client nopass

接下来使用生成的 CA 证书签署您的客户端密钥。

sudo ./easyrsa sign-req client client

将这些文件复制到 /etc/openvpn/client/ 目录

cp pki/ca.crt /etc/openvpn/client/
cp pki/issued/client.crt /etc/openvpn/client/
cp pki/private/client.key /etc/openvpn/client/

配置 OpenVPN 服务器

使用以下命令在客户端目录中创建并打开一个新的配置文件。

sudo nano /etc/openvpn/server/server.conf

然后在文件中添加以下代码行。

port 1194
proto udp
dev tun
ca /etc/openvpn/server/ca.crt
cert /etc/openvpn/server/vitux-server.crt
key /etc/openvpn/server/vitux-server.key
dh /etc/openvpn/server/dh.pem
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
duplicate-cn
cipher AES-256-CBC
tls-version-min 1.2
tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-256-CBC-SHA256:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-128-CBC-SHA256
auth SHA512
auth-nocache
keepalive 20 60
persist-key
persist-tun
compress lz4
daemon
user nobody
group nobody
log-append /var/log/openvpn.log
verb 3

按 Ctrl+O 和 Ctrl+X。

启动并启用 OpenVPN 服务

您的 OpenVPN 已准备好启动。使用以下命令启动并启用服务器。

sudo systemctl start openvpn-server@server
sudo systemctl enable openvpn-server@server

您可以使用以下命令查看并验证活动状态。

systemctl status openvpn-server@server

OpenVPN 服务器成功启动后将创建一个新的网络接口。运行以下命令查看详细信息。

ifconfig

生成客户端配置文件

下一步是将客户端连接到 OpenVPN 服务器。为此我们需要客户端配置文件。要生成客户端配置文件,请运行以下命令。

sudo nano /etc/openvpn/client/client.ovpn

现在,将以下代码复制并粘贴到文件中。

client
dev tun
proto udp
remote vpn-server-ip 1194
ca ca.crt
cert client.crt
key client.key
cipher AES-256-CBC
auth SHA512
auth-nocache
tls-version-min 1.2
tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-256-CBC-SHA256:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-128-CBC-SHA256
resolv-retry infinite
compress lz4
nobind
persist-key
persist-tun
mute-replay-warnings
verb 3

按 Ctrl+O 保存更改,然后按 Ctrl+X 退出编辑器。

配置路由

使用以下命令设置 OpenVPN 服务设置以允许其通过防火墙。

firewall-cmd --permanent --add-service=openvpn
firewall-cmd --permanent --zone=trusted --add-service=openvpn
firewall-cmd --permanent --zone=trusted --add-interface=tun0

firewall-cmd --add-masquerade
firewall-cmd --permanent --add-masquerade

设置路由以将传入流量从 VPN 转发到本地网络。

routecnf=$(ip route get 8.8.8.8 | awk 'NR==1 {print $(NF-2)}')
firewall-cmd --permanent --direct --passthrough ipv4 -t nat -A POSTROUTING -s 10.8.0.0/24 -o $routecnf -j MASQUERADE

重新加载以使更改生效。

firewall-cmd --reload

在客户端机器上安装和使用 OpenVPN

您必须像在服务器端一样安装 epel-release 和 OpenVPN。

dnf install epel-release -y
dnf install openvpn -y

现在使用下面给出的命令从服务器复制客户端配置文件。

sudo scp -r root@vpn-server-ip:/etc/openvpn/client .

转到客户端目录并使用以下命令连接到 OpenVPN 服务器。

cd client
openvpn --config client.ovpn

运行 ifconfig 查看分配的 IP 地址。

ifconfig tun0
©2015-2025 艾丽卡 support@alaica.com