如何在Linux上安装和配置WireGuard
当Linux内核5.6发布时,将内置Wireguard 。像Ubuntu 20.04这样的发行版将更早的将该服务添加到其平台中(使用内核5.4)。如果您想抢先体验WireGuard的经验,那么我想引导您完成安装和运行的过程。
这里将在Ubuntu 20.04上进行演示。截至本文发布时,WireGuard还没有进入日常发布。幸运的是,开发人员已经将WireGuard提供给标准Universe存储库,因此安装非常简单。
1、如何安装WireGuard
实际上,WireGuard的安装非常简单。打开一个终端窗口并发出命令:
sudo apt-get install wireguard -y
安装服务后,就可以对其进行配置了。
2、如何配置WireGuard
WireGuard的优点之一是它的安全性是基于类似SSH的密钥对。因此,要做的第一件事是生成必要的私钥和公钥对。为此,请返回到终端窗口并发出以下命令:
mkdir ~/.wireguard
cd ~/.wireguard
umask 077
wg genkey | tee privatekey | wg pubkey > publickey
接下来,您需要使用以下命令复制新生成的私钥的内容:
cat privatekey
上面的命令将打印出一个字符串。您将需要在服务器和客户端上都执行此操作(因为您将需要服务器私钥和客户端公钥)。将该字符串复制到剪贴板,然后使用以下命令创建新的WireGuard配置文件:
sudo nano /etc/wireguard/wg0.conf
在该文件中,粘贴以下内容:
[Interface]
Address = SERVER_IP
SaveConfig = true
ListenPort = 51820
PrivateKey = SERVER_PRIVATE_KEY
[Peer]
PublicKey = CLIENT_PUBLIC_KEY
AllowedIPs = CLIENT_IP
其中SERVER_PRIVATE_KEY是您从服务器复制到剪贴板的字符串,SERVER_IP是托管服务器的IP地址,CLIENT_PUBLIC_KEY是客户端公共密钥,CLIENT_IP是客户端IP地址。
保存并关闭文件。
3、如何配置防火墙
现在是时候配置防火墙了,以便连接可以进入服务器。返回终端窗口,使用以下命令创建防火墙规则:
sudo ufw allow 22/tcp
sudo ufw allow 51820/udp
sudo ufw enable
4、如何启动WireGuard
现在您可以开始启动了。为此,发出命令:
sudo wg-quick up wg0
使用以下命令启用服务以在启动时启动:
sudo systemctl enable wg-quick@wg0
要确保新的WireGuard 已启动并正在运行,请发出以下命令:
sudo wg show
您应该看到列出的公钥和侦听端口。
我们的WireGuard 已启动并正在运行。
5、如何配置客户端
现在,我们将配置Ubuntu客户端以连接到服务器。当然,您还必须在客户端上安装WireGuard,因此请遵循与服务器相同的步骤。安装完成后,以与服务器相同的方法为客户端生成密钥。
接下来,使用以下命令创建配置文件:
sudo nano /etc/wireguard/wg0.conf
在此文件中,粘贴以下内容:
[Interface]
Address = CLIENT_IP
SaveConfig = true
PrivateKey = CLIENT_PRIVATE_KEY
[Peer]
PublicKey = SERVER_PUB_KEY
Endpoint = SERVER_IP:51820
AllowedIPs = 0.0.0.0/0, ::/0
其中CLIENT_PRIVATE_KEY是客户端的私钥,SERVER_PUB_KEY是服务器的公钥,SERVER_IP是WireGuard 服务器的IP地址,CLIENT_IP是客户端的IP地址。
保存并关闭文件。
使用以下命令激活客户端(在客户端上运行):
sudo wg-quick up wg0
在您的客户端上,发出命令:
sudo wg
您应该看到列出的服务器端点和更多信息。
至此,我们的现在已连接。