在 CentOS/RHEL 上设置您自己的 WireGuard VPN 服务器

本教程将向您展示如何在 CentOS/RHEL 上设置您自己的 WireGuard VPN 服务器。 WireGuard 是专门为 Linux 内核设计的。 它在 Linux 内核中运行,允许您创建快速、现代且安全的 VPN 隧道。

WireGuard VPN 的特点

  • 轻量级和超快的速度,将 OpenVPN 吹出水面。
  • 跨平台。 WireGuard 可以在 Linux、BSD、macOS、Windows、Android、iOS 和 OpenWRT 上运行。
  • 用户身份验证是通过交换公钥来完成的,类似于 SSH 密钥。
  • 它为 VPN 客户端分配静态隧道 IP 地址。 有些人可能不喜欢它,但在某些情况下它可能很有用。
  • 移动设备可以在 Wi-Fi 和移动网络之间无缝切换,而不会中断任何连接。
  • 它旨在在大多数用例中取代 OpenVPN 和 IPSec。

要求

要学习本教程,您需要一个 VPS(虚拟专用服务器),它可以自由访问被阻止的网站(在您的国家或互联网过滤系统之外)。 我推荐 Kamatera VPS,它具有:

  • 30 天免费试用。
  • 每月 4 美元起(1GB RAM)
  • 基于KVM的高性能VPS
  • 全球9个数据中心,包括美国、加拿大、英国、德国、荷兰、香港和以色列。

按照下面链接的教程在 Kamatera 创建您的 Linux VPS 服务器。

  • 如何在 Kamatera 上创建 Linux VPS 服务器

一旦您拥有运行 CentOS/Alma Linux/Rocky Linux 的 VPS,请按照以下说明进行操作。

本教程假设 VPN 服务器和 VPN 客户端都在运行 CentOS/RHEL 操作系统。

第 1 步:在 CentOS/RHEL 服务器和桌面上安装 WireGuard

登录您的 CentOS/RHEL 服务器,然后运行以下命令安装 WireGuard。

CentOS 8

sudo dnf install elrepo-release epel-release -y sudo dnf install kmod-wireguard wireguard-tools -y

RHEL 8

sudo dnf install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm sudo dnf install kmod-wireguard wireguard-tools -y

CentOS/RHEL 7

sudo yum install epel-release https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm sudo yum install yum-plugin-elrepo sudo yum install kmod-wireguard wireguard-tools -y

然后使用相同的命令在本地 CentOS/RHEL 计算机(VPN 客户端)上安装 WireGuard。

第 2 步:生成公共/私人密钥对

服务器

为 WireGuard 创建一个目录。

sudo mkdir -p /etc/wireguard/

在 CentOS/RHEL 服务器上运行以下命令,创建公私钥对,保存在 /etc/wireguard/ 目录。

wg genkey | sudo tee /etc/wireguard/server_private.key | wg pubkey | sudo tee /etc/wireguard/server_public.key

客户

为 WireGuard 创建一个目录。

sudo mkdir -p /etc/wireguard/

运行以下命令在本地 CentOS/RHEL 计算机(VPN 客户端)上创建公钥/私钥对。

wg genkey | sudo tee /etc/wireguard/client_private.key | wg pubkey | sudo tee /etc/wireguard/client_public.key

步骤 3:创建 WireGuard 配置文件

服务器

使用 Nano 等命令行文本编辑器在 CentOS/RHEL 服务器上创建 WireGuard 配置文件。 wg0 将是网络接口名称。

sudo dnf install nano sudo nano /etc/wireguard/wg0.conf

复制以下文本并将其粘贴到您的配置文件中。 您需要使用自己的服务器私钥和客户端公钥。

[Interface] Address = 10.10.10.1/24 ListenPort = 51820 PrivateKey = cD+ZjXiVIX+0iSX1PNijl4a+88lCbDgw7kO78oXXLEc=  [Peer] PublicKey = AYQJf6HbkQ0X0Xyt+cTMTuJe3RFwbuCMF46LKgTwzz4= AllowedIPs = 10.10.10.2/32