我有一台 VPN 服务器,上面有 Wireguard 和 OpenVPN。我的大多数隧道都是 OpenVPN,但我正在努力过渡到 Wireguard。Wireguard 服务器位于主位置,我有 3 个客户端位于同一远程站点。两个有 Wireguard 隧道,一个有 OpenVPN 隧道。OpenVPN 隧道上的客户端没有看到数据包丢失。我从没有隧道的站点上的系统运行 ping,没有看到从该站点到 VPN 服务器的数据包丢失。
但是两个 Wireguard 客户端每 2 小时左右会出现大约 5-10 分钟的数据包丢失。我附上了一张包含 3 个客户端的 smokeping 结果的图片,OpenVPN 是顶部图表,下面两个是 Wireguard 客户端。
目前,由于还处于测试阶段,我的 Wireguard 客户端的配置非常简陋,基本没有路由。我已将 wg 设置为多个点对点隧道。
客户端/服务器之间的隧道配置如下。smokeping 在 VPN 服务器上运行,并 ping 隧道的远端 IPv4 地址
VPN 服务器配置
[Interface]
PrivateKey = ...
ListenPort = 32012
Address = 10.3.199.24
Address = fd6c:d0ed:2749:20c7::18
[Peer]
AllowedIPs = 10.3.199.24/31
AllowedIPs = fd6c:d0ed:2749:20c7::18/127
PublicKey = ...
PersistentKeepalive = 120
VPN 客户端配置
[Interface]
PrivateKey = ...
Address = 10.3.199.25
Address = fd6c:1111:1111:20c7::19
[Peer]
AllowedIPs = 10.3.199.24/31
AllowedIPs = fd6c:1111:1111:20c7::18/127
Endpoint = publicvpnip:32012
PublicKey = ...
PersistentKeepalive = 120
由于在 Wireguard 之外运行的 ping 没有显示任何损失,并且 OpenVPN 也没有显示任何损失,这让我怀疑 Wireguard 出了问题,但我不知道是什么问题。
所有涉及的计算机均运行 Debian buster,其中包含最新的 Wireguard 反向移植版本和 5.7“amd64”内核。
ii wireguard 1.0.20200513-1~bpo10+1 all fast, modern, secure kernel VPN tunnel (metapackage)
ii wireguard-tools 1.0.20200513-1~bpo10+1 amd64 fast, modern, secure kernel VPN tunnel (userland utilities)
ii linux-image-5.7.0-0.bpo.2-amd64 5.7.10-1~bpo10+1 amd64 Linux 5.7 for 64-bit PCs (signed)
那么,有人知道我该从哪里找到这个原因吗?我没有看到任何地方记录任何有用的信息,也没有发现未使用 VPN 的客户端或 OpenVPN 客户端的数据包丢失,我认为这与网络无关。