如何在 CentOS 8 上安装 WireGuard VPN如何在 CentOS 8 上安装 WireGuard VPN如何在 CentOS 8 上安装 WireGuard VPN如何在 CentOS 8 上安装 WireGuard VPN
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

如何在 CentOS 8 上安装 WireGuard VPN

发表 admin at 2025年2月28日
类别
  • 未分类
标签

WireGuard 是一种流行的点对点开源通信协议,用于创建安全、快速的虚拟专用网络隧道。该 VPN 专为在 Linux 内核中使用而设计。 WireGuard 是一款轻量级 VPN,可为用户提供极快的速度。

本文向您展示如何在 CentOS 8 系统上安装和设置 WireGuard。 WireGuard 的安装和设置比现有的 VPN(例如 OpenVPN)要容易得多,这是它在 Linux 社区中日益流行的主要原因。

概述

本文由两部分组成:

  • 在第一部分中,我们将安装并配置一台 CentOS 8 计算机,该计算机将充当 WireGuard VPN 服务器。

  • 在第二部分中,我们将安装并配置一台 CentOS 8 计算机,该计算机将充当 WireGuard VPN 客户端。

在 CentOS 8 服务器上安装和配置 WireGuard

在本节中,我们将通过安装 WireGuard 设置一台 CentOS 8 计算机作为服务器。

第 1 步:添加 EPEL 和 Elrepo 存储库

要开始在 CentOS 8 上安装 WireGuard,首先添加 EPEL 和 Elrepo 存储库以安装内核模块和 WireGuard 工具。

$ sudo dnf install epel-release elrepo-release -y

现在,安装所需的存储库后,安装内核模块和 WireGuard 工具。

第2步:安装内核模块和WireGuard工具

通过发出以下命令,可以从 EPEL 和 Elrepo 存储库快速安装内核模块和 WireGuard 工具:

$ sudo dnf install kmod-wireguard wireguard-tools

当系统提示您允许导入 GPG 密钥并将其添加到 CentOS 8 系统时,请输入“Y”并按“Enter”以允许此操作。 ”

成功安装 WireGuard 工具后,我们现在将执行一些配置。

第 3 步:创建公钥和私钥

首先,我们将创建一个新的“/etc/wireguard”目录,以便我们可以在该目录中配置VPN服务器。要在 CentOS 8 系统中创建新的“/etc/wireguard”目录,请发出以下命令。

sudo mkdir /etc/wireguard

创建目录后,使用“wg”和“tee”命令行工具创建公钥和私钥。创建私钥和公钥的命令如下。

$ wg genkey | sudo tee /etc/wireguard/privatekey | wg pubkey | sudo tee /etc/wireguard/publickey

执行上述命令后将打印生成的密钥。

步骤 4:配置用于路由 VPN 流量的隧道设备

要设置设备,请在“/etc/wireguard”目录中创建一个配置文件,然后使用 nano 编辑器打开该文件。

在创建配置文件之前,请使用以下命令获取私钥。

$ sudo cat /etc/wireguard/privatekey

将私钥保存在某处;稍后您将在配置文件中需要此密钥。

现在,创建“wg0.conf”文件。

$ sudo nano /etc/wireguard/wg0.conf

将下面给出的内容添加到“/etc/wireguard/wg0.conf”文件中。

[Interface]

## IP Address of VPN server ##
Address = 192.168.18.200/24

## Save the configuration when a new client will add ##
SaveConfig = true

## port number of VPN server ##
ListenPort = 51820

## Private Key of VPN Server ##
PrivateKey = SERVER_PRIVATE_KEY

## Command to be executed before starting the interface ##
PostUp     = firewall-cmd --zone=public --add-port 51820/udp && firewall-cmd --zone=public --add-masquerade

## Command to be executed before turning off the interface ##
PostDown   = firewall-cmd --remove-port 51820/udp --zone=public && firewall-cmd --remove-masquerade --zone=public

该配置文件包含以下关键术语:

  • 地址 – 接口 (wg0) 的私有 IP 地址。

  • SaveConfig=true – 在服务器重新启动或关闭时保存界面状态。

  • ListenPort – WireGuard 守护程序侦听的端口。

  • PrivateKey – 我们刚刚生成的密钥。

  • PostUp – 该命令将在启动界面之前执行

  • PostDown – 该命令将在关闭界面之前执行。

现在您已经很好地了解了配置文件,您可以使用键盘快捷键 (CTRL + S) 和 (CTRL + X) 保存文件并退出。

第5步:设置配置和“私钥”文件的权限

现在,我们将使 VPN 服务器更加安全。基本用户不应具有读取配置文件和“私钥”文件的权限。为了提供对这些文件的访问,我们将这两个文件的模式更改为600。下面给出了设置权限的命令。

$ sudo chmod 600 /etc/wireguard/privatekey
$ sudo chmod 600 /etc/wireguard/wg0.conf

完成权限后,我们将使用 wg-quick 命令行工具启动界面 (wg0)。

第6步:启动界面

要启动该界面,请发出以下命令:

$ sudo wg-quick up wg0

如果您获得了如上截图所示的输出,则说明您已成功启动该界面。我们现在将检查接口的状态。

$ sudo wg

启用该界面以在 CentOS 8 服务器启动时自动启动该界面。

$ sudo systemctl enable wg-quick@wg0

至此,服务器设置已经完成。现在,如果您想为此 VPN 服务器设置 NAT,则需要启用 IPv4 转发。

步骤 7:启用 IPv4 转发

要启用 NAT 的 IPv4 转发,请使用 nano 编辑器在“/etc/sysctl.d”目录中创建“99-custom.conf”文件。

$ sudo nano /etc/sysctl.d/99-custom.conf

将以下内容添加到“/etc/sysctl.d/99-custom.conf”

## for enabling IPv4 forwarding ##
net.ipv4.ip_forward = 1

要启用 IPv6 转发,请将以下内容添加到“/etc/sysctl.d/99-custom.conf”文件中。

## for enabling IPv6 forwarding ##
net.ipv6.conf.all.forwarding = 1

启用 IPv4 转发后,使用快捷键 (CTRL + S) 和 (CTRL + X) 保存文件并退出。

现在让我们继续设置 WireGuard 客户端计算机。

CentOS 8客户端上WireGuard VPN的安装和配置

在本节中,我们将设置一台 CentOS 8 计算机作为客户端。安装和配置 WireGuard VPN 客户端的过程与 WireGuard VPN 服务器的过程几乎相同。

第 1 步:添加 EPEL 和 Elrepo 存储库

首先,我们将添加 EPEL 和 Elrepo 存储库来安装内核模块和 WireGuard 工具:

$ sudo dnf install epel-release elrepo-release -y

现在,安装所需的存储库后,我们将安装内核模块和 WireGuard 工具。

第2步:安装内核模块和WireGuard工具

现在可以通过发出以下命令从 EPEL 和 Elrepo 存储库安装内核模块和 WireGuard 工具。

$ sudo dnf install kmod-wireguard wireguard-tools

当系统询问您是否允许将 GPG 密钥导入并添加到 CentOS 8 系统时,请输入“Y”并按“Enter”以允许更改。 ”

成功安装 WireGuard 工具后,还需要配置 CentOS 8 客户端计算机。

第 3 步:创建公钥和私钥

在此步骤中,我们将在客户端计算机中创建一个新的“/etc/wireguard”目录。要在 CentOS 8 系统中创建新的“/etc/wireguard”目录,请输入以下命令。

sudo mkdir /etc/wireguard

创建目录后,使用“wg”和“tee”命令行工具创建公钥和私钥。下面提供了创建私钥和公钥的命令。

$ wg genkey | sudo tee /etc/wireguard/privatekey | wg pubkey | sudo tee /etc/wireguard/publickey

现在将打印生成的密钥。

步骤 4:路由 VPN 流量的配置

在此步骤中,我们将在“/etc/wireguard”目录中创建一个配置文件,并使用 nano 编辑器打开它。

在创建配置文件之前,请使用以下命令获取私钥。

$ sudo cat /etc/wireguard/privatekey

将私钥保存在某处;稍后您将在配置文件中需要它。

现在,创建“wg0.conf”文件。

$ sudo nano /etc/wireguard/wg0.conf

将以下内容添加到“/etc/wireguard/wg0.conf”文件中

[Interface]
## Private Key of VPN Client ##
PrivateKey = 8D8puLQCbUw+51wPE3Q7KutGxQhUvsy+a+DBgamb+3o=

## IP address of VPN Client ##
Address = 192.168.18.201/24

[Peer]
## Public Key of CentOS 8 VPN Server ##
PublicKey = VWndJ4oB7ZJwC/7UOm++OLDrbAxMPsR2yd0cl3sEkUI=

## set ACL ##
AllowedIPs = 0.0.0.0/0

## IP address and Port of CentOS 8 VPN Server ##
Endpoint = 192.168.18.200:51820

配置文件包含以下关键术语:

  • PrivateKey – 在客户端计算机上生成的密钥。

  • 地址 – 接口 (wg0) 的 IP 地址。

  • PublicKey – 我们要连接的 VPN 服务器计算机的公钥。

  • AllowedIPs – 使用 VPN 进行流量传输的所有允许的 IP 地址。

  • 端点 – 我们将提供要连接的 CentOS 8 服务器计算机的 IP 地址和端口号。

我们现在也配置了客户端计算机。使用键盘快捷键 (CTRL + S) 和 (CTRL + X) 保存文件并退出。

第5步:设置配置和“私钥”文件的权限

现在,我们将更改模式并将配置文件和“privatekey”文件的权限设置为600。输入以下命令来设置权限。

$ sudo chmod 600 /etc/wireguard/privatekey
$ sudo chmod 600 /etc/wireguard/wg0.conf

现在我们已经完成了权限,我们可以使用“wg-quick”命令行工具启动界面(wg0)。

第6步:启动界面

要启动该界面,请发出以下命令:

$ sudo wg-quick up wg0

现在我们已经成功启动了界面。接下来,我们将检查接口的状态。

$ sudo wg

启用该界面以在 CentOS 8 服务器启动时自动启动该界面。

$ sudo systemctl enable wg-quick@wg0

在此阶段,客户端也已设置完毕。

步骤7:将客户端的IP地址和公钥添加到CentOS 8服务器

最后一步是将 VPN 客户端计算机的 IP 地址和公钥添加到 CentOS 8 WireGuard VPN 服务器计算机的配置文件中。

返回服务器机器并将以下内容添加到“/etc/wireguard/wg0.conf”文件中。

[Peer]
## Public Key of VPN Client ##
PublicKey = dmfO9pirB315slXOgxXtmrBwAqPy07C57EvPks1IKzA=

## IP Address of VPN Client ##
AllowedIPs = 192.168.10.2/32

更新 VPN 服务器的配置文件后,使用键盘快捷键 (CTRL + S) 和 (CTRL + X) 保存文件并退出。

隧道现已建立,所有流量将通过 CentOS 8 WireGuard VPN 服务器传递。

步骤 8:验证隧道连接

要验证 CentOS 8 WireGuard VPN 服务器是否已正确安装和配置,请发出以下命令以验证流量是否流经配置的 WireGuard VPN 服务器。

$ sudo wg

就是这样!您已成功配置并建立 WireGuard VPN 服务器。

结论

本文向您展示了如何在 CentOS 8 计算机上安装和配置 WireGuard VPN 并将系统设置为 VPN 服务器。我们还向您展示了如何设置 CentOS 8 WireGuard VPN 客户端并配置客户端以通过 WireGuard VPN 服务器路由流量。

©2015-2025 Norria support@norria.com