我有一個 VPN 伺服器,上面裝有 Wireguard 和 OpenVPN。我的大部分隧道都是 OpenVPN,但我正在努力過渡到 Wireguard。 Wireguard 伺服器位於主位置,我在同一遠端站點有 3 個客戶端。其中兩個具有 Wireguard 隧道,一個具有 OpenVPN 隧道。 OpenVPN 隧道上的用戶端沒有看到封包遺失。我從根本沒有隧道的站點上的系統運行 ping,並且沒有看到從該站點到 VPN 伺服器的封包丟失。
但兩個 Wireguard 用戶端每 2 小時就會看到大約 5-10 分鐘的資料包遺失。我提供了一張包含 3 個客戶端的冒煙結果的映像,最上面的圖是 OpenVPN,下面的兩個是 Wireguard 用戶端。
現在,由於它只是處於測試階段,我的 Wireguard 客戶端有一個基本配置,基本上沒有路由。我將工作組設定為幾個點對點隧道。
客戶端/伺服器之間的隧道之一的配置如下所示。 Smokeping 正在 VPN 伺服器上運行,並對隧道的遠端 IPv4 位址執行 ping 操作
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 用戶端沒有明顯的封包遺失,我認為它與網路的任何內容都沒有關係。