在 Rocky Linux/Ubuntu/Debian 上安装 WireGuard VPN 客户端

本指南将带您了解如何在 Rocky Linux/Ubuntu/Debian 上安装 WireGuard VPN Client。 如果您使用 WireGuard 作为 VPN 服务器,那么您可能希望将端点配置为 VPN 客户端。

要了解如何在 Rocky Linux 8 上配置 WireGuard VPN 服务器,请按照以下指南进行操作;

在 Rocky Linux 上安装 WireGuard VPN 服务器

在 Rocky Linux/Ubuntu/Debian 上安装 WireGuard VPN 客户端

在 Rocky Linux 8 上安装 WireGuard VPN 客户端

运行以下命令在 Rocky Linux 8 上安装 WireGuard VPN 客户端。

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

在 Ubuntu 上安装 WireGuard VPN 客户端

apt update
apt install wireguard resolvconf -y

在 Debian 上安装 WireGuard VPN 客户端

echo 'deb https://deb.debian.org/debian buster-backports main contrib non-free' > /etc/apt/sources.list.d/buster-backports.list
apt update apt upgrade
apt install wireguard resolveconf -y

在 Rocky Linux/Debian/Ubuntu 上配置 WireGuard VPN 客户端

生成 WireGuard VPN 客户端私钥和公钥

在我们之前的指南中,我们已经为我们的三个测试客户端生成了密钥。

因此,我们只需将相应的密钥复制到相应的客户端。

[[ -d /etc/wireguard/ ]] || mkdir /etc/wireguard/

我们已经将客户端密钥复制到相应的客户端;

在 Debian 客户端上

ls -1 /etc/wireguard/
debian.key debian.pub.key wireguard.pub.key

在 Ubuntu 客户端上

ls -1 /etc/wireguard/
ubuntu.key ubuntu.pub.key wireguard.pub.key

在 Rocky Linux 客户端上;

ls -1 /etc/wireguard/
rocky8.key rocky8.pub.key wireguard.pub.key

创建 WireGuard VPN 客户端配置

在每个客户端系统上,创建配置文件。 您只需运行以下命令即可创建配置文件。

相应地替换客户端 IP 地址和私钥。

Ubuntu客户端

cat > /etc/wireguard/wg0.conf << 'EOL' [Interface] PrivateKey = qJ2Sczxh8QWO5ZHlN+zZ4IaaMzmnMtgITLfQ0cam82M= Address = 10.8.0.10 DNS = 8.8.8.8  [Peer] PublicKey = 60UScq0EQ7ZHXIdHcOnjFYK6N/TLtmtPGTBqLwLd0WY= AllowedIPs = 10.8.0.0/24 Endpoint = 192.168.60.19:51820 PersistentKeepalive = 20 EOL 

例如,对于其他客户;

cat > /etc/wireguard/wg0.conf << 'EOL' [Interface] PrivateKey = UMXEH1lTn7OF+fgBswsdDJU6NAu7N5or43FPWP1EyWY= Address = 10.8.0.20 DNS = 8.8.8.8  [Peer] PublicKey = 60UScq0EQ7ZHXIdHcOnjFYK6N/TLtmtPGTBqLwLd0WY= AllowedIPs = 10.8.0.0/24 Endpoint = 192.168.60.19:51820 PersistentKeepalive = 20 EOL 
cat > /etc/wireguard/wg0.conf << 'EOL' [Interface] PrivateKey = kIn6rA7W9MbGdZxRtziFN1DCJsqCi/hAdwhyH76cyU4= Address = 10.8.0.30 DNS = 8.8.8.8  [Peer] PublicKey = 60UScq0EQ7ZHXIdHcOnjFYK6N/TLtmtPGTBqLwLd0WY= AllowedIPs = 10.8.0.0/24 Endpoint = 192.168.60.19:51820 PersistentKeepalive = 20 EOL 

配置 WireGuard VPN 服务器以允许 VPN 客户端连接

在您的 WireGuard VPN 服务器上,您需要启用 VPN 客户端对等连接。

要启用此功能,您需要获取每个客户端的公钥。 例如,在我的设置中,我有三个客户端,它们的公钥已经生成。

这已经在我们的 WireGuard VPN 服务器设置中完成了。 检查下面的链接;

配置 WireGuard VPN 服务器以允许 VPN 客户端连接

运行 WireGuard VPN 客户端服务

在 WireGuard VPN 客户端上,您现在可以启动该服务;

systemctl start [email protected]

检查状态;

systemctl status [email protected]
● [email protected] - WireGuard via wg-quick(8) for wg0      Loaded: loaded (/lib/systemd/system/[email protected]; disabled; vendor preset: enabled)      Active: active (exited) since Sun 2021-07-04 06:35:16 UTC; 56s ago        Docs: man:wg-quick(8)              man:wg(8)              https://www.wireguard.com/              https://www.wireguard.com/quickstart/              https://git.zx2c4.com/wireguard-tools/about/src/man/wg-quick.8              https://git.zx2c4.com/wireguard-tools/about/src/man/wg.8     Process: 2016 ExecStart=/usr/bin/wg-quick up wg0 (code=exited, status=0/SUCCESS)    Main PID: 2016 (code=exited, status=0/SUCCESS)  Jul 04 06:35:16 ubuntu20 systemd[1]: Starting WireGuard via wg-quick(8) for wg0... Jul 04 06:35:16 ubuntu20 wg-quick[2016]: [#] ip link add wg0 type wireguard Jul 04 06:35:16 ubuntu20 wg-quick[2016]: [#] wg setconf wg0 /dev/fd/63 Jul 04 06:35:16 ubuntu20 wg-quick[2016]: [#] ip -4 address add 10.8.0.10 dev wg0 Jul 04 06:35:16 ubuntu20 wg-quick[2016]: [#] ip link set mtu 1420 up dev wg0 Jul 04 06:35:16 ubuntu20 wg-quick[2016]: [#] ip -4 route add 10.8.0.0/24 dev wg0 Jul 04 06:35:16 ubuntu20 systemd[1]: Finished WireGuard via wg-quick(8) for wg0. 

在所有客户端上完成后,检查 IP 地址分配。

ip add show wg0

乌班图;

6: wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1000     link/none      inet 10.8.0.10/32 scope global wg0        valid_lft forever preferred_lft forever

Debian;

3: wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1000     link/none      inet 10.8.0.20/32 scope global wg0        valid_lft forever preferred_lft forever

Rocky Linux 客户端;

5: wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1000     link/none      inet 10.8.0.30/32 scope global wg0        valid_lft forever preferred_lft forever

验证 VPN 服务器和客户端之间的互连

现在,尝试 ping vpn 服务器;

ping 10.8.0.1 -c 3
PING 10.8.0.1 (10.8.0.1) 56(84) bytes of data. 64 bytes from 10.8.0.1: icmp_seq=1 ttl=64 time=2.29 ms 64 bytes from 10.8.0.1: icmp_seq=2 ttl=64 time=2.06 ms 64 bytes from 10.8.0.1: icmp_seq=3 ttl=64 time=2.26 ms  --- 10.8.0.1 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 53ms rtt min/avg/max/mdev = 2.057/2.202/2.291/0.110 ms 

从另一个客户端 Ping 每个客户端;

ping 10.8.0.10 -c 4
PING 10.8.0.10 (10.8.0.10) 56(84) bytes of data. 64 bytes from 10.8.0.10: icmp_seq=1 ttl=63 time=3.41 ms 64 bytes from 10.8.0.10: icmp_seq=2 ttl=63 time=3.63 ms 64 bytes from 10.8.0.10: icmp_seq=3 ttl=63 time=3.69 ms 64 bytes from 10.8.0.10: icmp_seq=4 ttl=63 time=3.67 ms  --- 10.8.0.10 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 83ms rtt min/avg/max/mdev = 3.405/3.596/3.686/0.120 ms 

我们关于如何在 Rocky Linux/Ubuntu/Debian 上安装 WireGuard VPN 客户端的指南到此结束。

在 Ubuntu 20.04/Ubuntu 18.04 上安装 FortiClient VPN 客户端

如何使用 openvpn-monitor 工具监控 OpenVPN 连接