本文将详细介绍如何在您的服务器上设置 Wireguard VPN。它可以是虚拟服务器或私有服务器 - 这并不重要。
此 VPN Wireguard 设置指南专为没有太多经验的用户设计,因此所有步骤都将非常详细,并附有屏幕截图。
通过我们的隧道传输的流量将被加密,并且互联网将显示我们的 VPN 服务器的 IP 地址,而不是我们通过其访问网络的提供商的地址。
假设您已经拥有 VPS。如果没有,您可以 秩序 它来自我们。
我们将在服务器上安装 Ubuntu 22.04 操作系统。如果你的服务器有不同的操作系统,那么你可以按照以下步骤轻松重新安装它 说明.
因此,Ubuntu 22.04 OS 的服务器已准备就绪,现在我们通过 SSH 连接到它。如果您之前没有遇到过此协议,那么详细描述此过程的文章将对您有所帮助。第二段 刊文 适用于Linux操作系统,第三个适用于Windows操作系统。
设置 Wireguard 服务器
连接成功后,我会写一些命令以及它们产生的描述,以便理解这个过程:
我们更新存储库中的软件包列表
apt update
套餐本身的更新
apt upgrade -y
安装 wireguard 包
apt install -y wireguard
我们的配置将存放在/etc/wireguard/目录中,我们需要进入该目录:
cd /etc/wireguard/
我们的服务器需要公钥和私钥。在使用命令创建文件和目录时设置正确的权限后,我们将生成它们:
umask 077
wg genkey > privatekey
wg pubkey < privatekey > publickey
现在我们设置私钥的权限:
chmod 600 privatekey
在创建配置文件之前,我们需要网络接口的名称。要发现它,请使用以下命令:
ip a
我们需要当前连接所用的 IP 地址的接口。在你的情况下,它可能被称为 ens3,但也可能还有其他名称。
我们还需要公钥和私钥。为了显示它们,我使用 tail
tail privatekey publickey
它看起来像这样:
对于编辑,您可以使用任何 Linux 文本编辑器我将使用 nano。要安装它,您需要运行以下命令:
apt install -y nano
我们编辑配置文件:
nano /etc/wireguard/wg0.conf
注意:
为了保存文件,我们使用 ctrl+o 按钮组合
退出- ctrl+x
它应该是这样的:
[Interface]
PrivateKey = [ your private key ]
Address = 10.30.0.1/24
ListenPort = 51928
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o [ interface name ] -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o [ interface name ] -j MASQUERADE
就我而言,它看起来像这样
我们开启ip转发
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p
启动 wireguard 服务:
systemctl start [email protected]
如果我们希望服务在服务器重启后启动,那么我们可以执行以下操作:
systemctl enable [email protected]
查看服务状态:
systemctl status [email protected]
状态应为活动状态,如屏幕截图所示:
如果您仔细遵循我们的说明,那么在此阶段,您已经拥有使 VPN Wireguard 的服务器部分运行所需的一切。
设置 Wireguard 客户端
剩下的就是配置客户端部分。为了简单起见,我将在服务器上为客户端部分生成密钥。但出于安全考虑,在客户端生成密钥更为正确。我使用命令来生成密钥:
wg genkey > mypc_privatekey
wg pubkey < mypc_privatekey > mypc_publickey
我还将生成在手机上使用 VPN 的密钥:
wg genkey > myphone_private
keywg pubkey < myphone_privatekey > myphone_publickey
需要注意的是,所有这些都需要在目录中进行
/etc/wireguard/
你也可以在其他目录中运行。但为了简单起见,我们在 /etc/wireguard/ 中执行指令
我们使用 ls 命令列出目录中的文件。我得到的结果是这样的:
让我们在屏幕上显示公钥。我们需要它们来将节点添加到我们的网络:
tail mypc_publickey myphone_publickey
对我来说它看起来像这样:
让我们编辑配置文件:
nano wg0.conf
添加以下行:
[Peer]
PublicKey = [ mypc_publickey ]
AllowedIPs = 10.30.0.2/32
[Peer]
PublicKey = [ myphone_publickey ]
AllowedIPs = 10.30.0.3/32
现在配置文件如下所示:
保存文件并重新启动我们的服务:
systemctl restart wg-quick@wg0
让我们检查一下一切是否成功:
systemctl status wg-quick@wg0
状态必须为活跃
每次编辑服务器配置文件(wg0.conf)后都需要重新加载服务
接下来,我们将为客户端(在我的情况下,是我的 PC 和手机)创建配置。我将在服务器上执行相同操作。
nano mypc.conf
[Interface]
PrivateKey = [mypc_privatekey private key]
Address = 10.30.0.2/32
DNS = 8.8.8.8
[Peer]
PublicKey = [publickey server publc key]
Endpoint =[ server ip address]:51928
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 20
在 Endpoint 字段中,您可以看到服务器的 IP 地址 - 这是我们用于通过 SSH 连接的 IP 地址。要查看接口和地址,您可以使用 ip a 命令。
为移动设备设置 Wireguard
我们为手机创建类似的配置。只需更改地址。对于 PC,它是 10.30.0.2/32,在手机的配置中,我们将设置为 10.30.0.3/32。此外,如果我们想在其他设备上使用 VPN,那么我们应该在创建配置时将其他地址添加到配置文件中的 Address 字段和 wg0.conf 服务器配置文件中的 AllowedIPs 字段
就我而言,文件如下所示:
我的电脑配置文件
我的手机配置文件
为了连接,我们安装 wireguard 客户端 https://www.wireguard.com/install/
在 Windows 应用程序中,我们添加一个新的隧道并输入在 mypc.conf 文件中创建的配置
我们启动隧道,然后通过浏览器访问显示我们地址的网站
为了方便在手机上添加VPN,请在服务器上安装一个生成二维码的程序:
apt install -y qrencode
进入配置目录,执行以下步骤:
qrencode -t ansiutf8 -r myphone.conf
然后我们在手机上进入Wireguard应用,按+创建新隧道,选择扫描二维码,扫描一下,打开VPN。接下来,我们将使用任何显示输出IP地址的资源来检查我们是否显示了我们服务器的地址。
你做到了!