Pritunl-client disconnects using Wireguard sporadically but then reconnects

I came across this error which is confusing to me on why this occurs. My raspberry pi 4 is connected to pritunl-client on Wireguard protocol. It’s been working just fine but disconnects and reconnects after 2 days. Does this have to do with Pritunl or pritunl-client? Here are my logs:

[INFO] ▶ connection: WireGuard configure ◆ client_disconnect=fal
Dec 09 08:43:02 88a29e37cd3d pritunl-client-service[440]: [2025-12-09 08:43:02][ERRO] ▶ connection: Retrying keep alive ◆ client_disconnect=fal
Dec 09 08:43:02 88a29e37cd3d pritunl-client-service[440]: profile: Request put error
Dec 09 08:43:02 88a29e37cd3d pritunl-client-service[440]: Put "https://10.50.0.1/key/wg/68dcaf7424c8a442639534e5/69014c6aaa08472a45348212/68dcb
Dec 09 08:43:02 88a29e37cd3d pritunl-client-service[440]: ORIGINAL STACK TRACE:
Dec 09 08:43:02 88a29e37cd3d pritunl-client-service[440]: github.com/pritunl/pritunl-client-electron/service/connection.(*Client).EncRequest
Dec 09 08:43:02 88a29e37cd3d pritunl-client-service[440]:         /root/go/pkg/mod/github.com/pritunl/pritunl-client-electron/service@v0.0.0-20
Dec 09 08:43:02 88a29e37cd3d pritunl-client-service[440]: github.com/pritunl/pritunl-client-electron/service/connection.(*Wg).ping
Dec 09 08:43:02 88a29e37cd3d pritunl-client-service[440]:         /root/go/pkg/mod/github.com/pritunl/pritunl-client-electron/service@v0.0.0-20
Dec 09 08:43:02 88a29e37cd3d pritunl-client-service[440]: github.com/pritunl/pritunl-client-electron/service/connection.(*Wg).WatchConnection
Dec 09 08:43:02 88a29e37cd3d pritunl-client-service[440]:         /root/go/pkg/mod/github.com/pritunl/pritunl-client-electron/service@v0.0.0-20
Dec 09 08:43:02 88a29e37cd3d pritunl-client-service[440]: github.com/pritunl/pritunl-client-electron/service/connection.(*Client).Start.func1
Dec 09 08:43:02 88a29e37cd3d pritunl-client-service[440]:         /root/go/pkg/mod/github.com/pritunl/pritunl-client-electron/service@v0.0.0-20
Dec 09 08:43:02 88a29e37cd3d pritunl-client-service[440]: runtime.goexit
Dec 09 08:43:02 88a29e37cd3d pritunl-client-service[440]:         /usr/local/go/src/runtime/asm_arm.s:884 +0x9de1b
Dec 09 08:43:02 88a29e37cd3d pritunl-client-service[440]:
Dec 09 08:43:11 88a29e37cd3d pritunl-client-service[440]: [2025-12-09 08:43:11][ERRO] ▶ connection: Keepalive failed ◆ client_disconnect=false
Dec 09 08:43:11 88a29e37cd3d pritunl-client-service[440]: profile: Request put error
Dec 09 08:43:11 88a29e37cd3d pritunl-client-service[440]: Put "https://10.50.0.1/key/wg/68dcaf7424c8a442639534e5/69014c6aaa08472a45348212/68dcb
Dec 09 08:43:11 88a29e37cd3d pritunl-client-service[440]: ORIGINAL STACK TRACE:
Dec 09 08:43:11 88a29e37cd3d pritunl-client-service[440]: github.com/pritunl/pritunl-client-electron/service/connection.(*Client).EncRequest
Dec 09 08:43:11 88a29e37cd3d pritunl-client-service[440]:         /root/go/pkg/mod/github.com/pritunl/pritunl-client-electron/service@v0.0.0-20
Dec 09 08:43:11 88a29e37cd3d pritunl-client-service[440]: github.com/pritunl/pritunl-client-electron/service/connection.(*Wg).ping
Dec 09 08:43:11 88a29e37cd3d pritunl-client-service[440]:         /root/go/pkg/mod/github.com/pritunl/pritunl-client-electron/service@v0.0.0-20
Dec 09 08:43:11 88a29e37cd3d pritunl-client-service[440]: github.com/pritunl/pritunl-client-electron/service/connection.(*Wg).WatchConnection
Dec 09 08:43:11 88a29e37cd3d pritunl-client-service[440]:         /root/go/pkg/mod/github.com/pritunl/pritunl-client-electron/service@v0.0.0-20
Dec 09 08:43:11 88a29e37cd3d pritunl-client-service[440]: github.com/pritunl/pritunl-client-electron/service/connection.(*Client).Start.func1
Dec 09 08:43:11 88a29e37cd3d pritunl-client-service[440]:         /root/go/pkg/mod/github.com/pritunl/pritunl-client-electron/service@v0.0.0-20
Dec 09 08:43:11 88a29e37cd3d pritunl-client-service[440]: runtime.goexit
Dec 09 08:43:11 88a29e37cd3d pritunl-client-service[440]:         /usr/local/go/src/runtime/asm_arm.s:884 +0x9de1b
Dec 09 08:43:11 88a29e37cd3d pritunl-client-service[440]:
Dec 09 08:43:11 88a29e37cd3d pritunl-client-service[440]: [2025-12-09 08:43:11][ERRO] ▶ connection: Disconnecting ◆ client_disconnect=true ◆ cl
Dec 09 08:43:14 88a29e37cd3d pritunl-client-service[440]: [2025-12-09 08:43:14][INFO] ▶ profile: Disconnected with restart ◆ client_disconnect=
Dec 09 08:43:14 88a29e37cd3d pritunl-client-service[440]: [2025-12-09 08:43:14][ERRO] ▶ profile: Watch connection error ◆ client_disconnect=tru
Dec 09 08:43:14 88a29e37cd3d pritunl-client-service[440]: profile: Request put error
Dec 09 08:43:14 88a29e37cd3d pritunl-client-service[440]: Put "https://10.50.0.1/key/wg/68dcaf7424c8a442639534e5/69014c6aaa08472a45348212/68dcb
Dec 09 08:43:14 88a29e37cd3d pritunl-client-service[440]: ORIGINAL STACK TRACE:
Dec 09 08:43:14 88a29e37cd3d pritunl-client-service[440]: github.com/pritunl/pritunl-client-electron/service/connection.(*Client).EncRequest
Dec 09 08:43:14 88a29e37cd3d pritunl-client-service[440]:         /root/go/pkg/mod/github.com/pritunl/pritunl-client-electron/service@v0.0.0-20
Dec 09 08:43:14 88a29e37cd3d pritunl-client-service[440]: github.com/pritunl/pritunl-client-electron/service/connection.(*Wg).ping
Dec 09 08:43:14 88a29e37cd3d pritunl-client-service[440]:         /root/go/pkg/mod/github.com/pritunl/pritunl-client-electron/service@v0.0.0-20
Dec 09 08:43:14 88a29e37cd3d pritunl-client-service[440]: github.com/pritunl/pritunl-client-electron/service/connection.(*Wg).WatchConnection
Dec 09 08:43:14 88a29e37cd3d pritunl-client-service[440]:         /root/go/pkg/mod/github.com/pritunl/pritunl-client-electron/service@v0.0.0-20
Dec 09 08:43:14 88a29e37cd3d pritunl-client-service[440]: github.com/pritunl/pritunl-client-electron/service/connection.(*Client).Start.func1
Dec 09 08:43:14 88a29e37cd3d pritunl-client-service[440]:         /root/go/pkg/mod/github.com/pritunl/pritunl-client-electron/service@v0.0.0-20
Dec 09 08:43:14 88a29e37cd3d pritunl-client-service[440]: runtime.goexit
Dec 09 08:43:14 88a29e37cd3d pritunl-client-service[440]:         /usr/local/go/src/runtime/asm_arm.s:884 +0x9de1b
Dec 09 08:43:14 88a29e37cd3d pritunl-client-service[440]:
Dec 09 08:43:14 88a29e37cd3d pritunl-client-service[440]: [2025-12-09 08:43:14][INFO] ▶ connection: Stopping reconnect ◆ client_disconnect=true
Dec 09 08:43:14 88a29e37cd3d pritunl-client-service[440]: [2025-12-09 08:43:14][INFO] ▶ profile: Connecting ◆ device_auth=false ◆ disable_dns=f
Dec 09 08:43:14 88a29e37cd3d pritunl-client-service[440]: [2025-12-09 08:43:14][INFO] ▶ connection: Resolved remotes ◆ public_address="" ◆ publ
Dec 09 08:43:14 88a29e37cd3d pritunl-client-service[440]: [2025-12-09 08:43:14][INFO] ▶ connection: Attempting remote ◆ client_disconnect=false
Dec 09 08:43:15 88a29e37cd3d pritunl-client-service[440]: [2025-12-09 08:43:15][INFO] ▶ connection: Authorization successful ◆ allow=true ◆ cli
Dec 09 08:43:15 88a29e37cd3d pritunl-client-service[440]: [2025-12-09 08:43:15][INFO] ▶ connection: WireGuard configure ◆ client_disconnect=fal
Dec 09 08:44:29 88a29e37cd3d pritunl-client-service[440]: [2025-12-09 08:44:28][ERRO] ▶ connection: Keepalive failed ◆ client_disconnect=false
Dec 09 08:44:29 88a29e37cd3d pritunl-client-service[440]: profile: Request put error
Dec 09 08:44:29 88a29e37cd3d pritunl-client-service[440]: Put "https://10.50.0.1/key/wg/68dcaf7424c8a442639534e5/69014c6aaa08472a45348212/68dcb
Dec 09 08:44:29 88a29e37cd3d pritunl-client-service[440]: ORIGINAL STACK TRACE:
Dec 09 08:44:29 88a29e37cd3d pritunl-client-service[440]: github.com/pritunl/pritunl-client-electron/service/connection.(*Client).EncRequest
Dec 09 08:44:29 88a29e37cd3d pritunl-client-service[440]:         /root/go/pkg/mod/github.com/pritunl/pritunl-client-electron/service@v0.0.0-20
Dec 09 08:44:29 88a29e37cd3d pritunl-client-service[440]: github.com/pritunl/pritunl-client-electron/service/connection.(*Wg).ping
Dec 09 08:44:29 88a29e37cd3d pritunl-client-service[440]:         /root/go/pkg/mod/github.com/pritunl/pritunl-client-electron/service@v0.0.0-20
Dec 09 08:44:29 88a29e37cd3d pritunl-client-service[440]: github.com/pritunl/pritunl-client-electron/service/connection.(*Wg).WatchConnection
Dec 09 08:44:29 88a29e37cd3d pritunl-client-service[440]:         /root/go/pkg/mod/github.com/pritunl/pritunl-client-electron/service@v0.0.0-20
Dec 09 08:44:29 88a29e37cd3d pritunl-client-service[440]: github.com/pritunl/pritunl-client-electron/service/connection.(*Client).Start.func1
Dec 09 08:44:29 88a29e37cd3d pritunl-client-service[440]:         /root/go/pkg/mod/github.com/pritunl/pritunl-client-electron/service@v0.0.0-20
Dec 09 08:44:29 88a29e37cd3d pritunl-client-service[440]: runtime.goexit
Dec 09 08:44:29 88a29e37cd3d pritunl-client-service[440]:         /usr/local/go/src/runtime/asm_arm.s:884 +0x9de1b
Dec 09 08:44:29 88a29e37cd3d pritunl-client-service[440]:
Dec 09 08:44:29 88a29e37cd3d pritunl-client-service[440]: [2025-12-09 08:44:29][ERRO] ▶ connection: Disconnecting ◆ client_disconnect=true ◆ cl
Dec 09 08:44:31 88a29e37cd3d pritunl-client-service[440]: [2025-12-09 08:44:31][INFO] ▶ profile: Disconnected with restart ◆ client_disconnect=
Dec 09 08:44:31 88a29e37cd3d pritunl-client-service[440]: [2025-12-09 08:44:31][ERRO] ▶ profile: Watch connection error ◆ client_disconnect=tru
Dec 09 08:44:31 88a29e37cd3d pritunl-client-service[440]: profile: Request put error
Dec 09 08:44:31 88a29e37cd3d pritunl-client-service[440]: Put "https://10.50.0.1/key/wg/68dcaf7424c8a442639534e5/69014c6aaa08472a45348212/68dcb
Dec 09 08:44:31 88a29e37cd3d pritunl-client-service[440]: ORIGINAL STACK TRACE:
Dec 09 08:44:31 88a29e37cd3d pritunl-client-service[440]: github.com/pritunl/pritunl-client-electron/service/connection.(*Client).EncRequest
Dec 09 08:44:31 88a29e37cd3d pritunl-client-service[440]:         /root/go/pkg/mod/github.com/pritunl/pritunl-client-electron/service@v0.0.0-20
Dec 09 08:44:31 88a29e37cd3d pritunl-client-service[440]: github.com/pritunl/pritunl-client-electron/service/connection.(*Wg).ping
Dec 09 08:44:31 88a29e37cd3d pritunl-client-service[440]:         /root/go/pkg/mod/github.com/pritunl/pritunl-client-electron/service@v0.0.0-20
Dec 09 08:44:29 88a29e37cd3d pritunl-client-service[440]: Put "https://10.50.0.1/key/wg/68dcaf7424c8a442639534e5/69014c6aaa08472a45348212/68dcb
Dec 09 08:44:29 88a29e37cd3d pritunl-client-service[440]: ORIGINAL STACK TRACE:
Dec 09 08:44:29 88a29e37cd3d pritunl-client-service[440]: github.com/pritunl/pritunl-client-electron/service/connection.(*Client).EncRequest
Dec 09 08:44:29 88a29e37cd3d pritunl-client-service[440]:         /root/go/pkg/mod/github.com/pritunl/pritunl-client-electron/service@v0.0.0-20
Dec 09 08:44:29 88a29e37cd3d pritunl-client-service[440]: github.com/pritunl/pritunl-client-electron/service/connection.(*Wg).ping
Dec 09 08:44:29 88a29e37cd3d pritunl-client-service[440]:         /root/go/pkg/mod/github.com/pritunl/pritunl-client-electron/service@v0.0.0-20
Dec 09 08:44:29 88a29e37cd3d pritunl-client-service[440]: github.com/pritunl/pritunl-client-electron/service/connection.(*Wg).WatchConnection
Dec 09 08:44:29 88a29e37cd3d pritunl-client-service[440]:         /root/go/pkg/mod/github.com/pritunl/pritunl-client-electron/service@v0.0.0-20
Dec 09 08:44:29 88a29e37cd3d pritunl-client-service[440]: github.com/pritunl/pritunl-client-electron/service/connection.(*Client).Start.func1
Dec 09 08:44:29 88a29e37cd3d pritunl-client-service[440]:         /root/go/pkg/mod/github.com/pritunl/pritunl-client-electron/service@v0.0.0-20
Dec 09 08:44:29 88a29e37cd3d pritunl-client-service[440]: runtime.goexit
Dec 09 08:44:29 88a29e37cd3d pritunl-client-service[440]:         /usr/local/go/src/runtime/asm_arm.s:884 +0x9de1b
Dec 09 08:44:29 88a29e37cd3d pritunl-client-service[440]:
Dec 09 08:44:29 88a29e37cd3d pritunl-client-service[440]: [2025-12-09 08:44:29][ERRO] ▶ connection: Disconnecting ◆ client_disconnect=true ◆ cl
Dec 09 08:44:31 88a29e37cd3d pritunl-client-service[440]: [2025-12-09 08:44:31][INFO] ▶ profile: Disconnected with restart ◆ client_disconnect=
Dec 09 08:44:31 88a29e37cd3d pritunl-client-service[440]: [2025-12-09 08:44:31][ERRO] ▶ profile: Watch connection error ◆ client_disconnect=tru
Dec 09 08:44:31 88a29e37cd3d pritunl-client-service[440]: profile: Request put error
Dec 09 08:44:31 88a29e37cd3d pritunl-client-service[440]: Put "https://10.50.0.1/key/wg/68dcaf7424c8a442639534e5/69014c6aaa08472a45348212/68dcb
Dec 09 08:44:31 88a29e37cd3d pritunl-client-service[440]: ORIGINAL STACK TRACE:
Dec 09 08:44:31 88a29e37cd3d pritunl-client-service[440]: github.com/pritunl/pritunl-client-electron/service/connection.(*Client).EncRequest
Dec 09 08:44:31 88a29e37cd3d pritunl-client-service[440]:         /root/go/pkg/mod/github.com/pritunl/pritunl-client-electron/service@v0.0.0-20
Dec 09 08:44:31 88a29e37cd3d pritunl-client-service[440]: github.com/pritunl/pritunl-client-electron/service/connection.(*Wg).ping
Dec 09 08:44:31 88a29e37cd3d pritunl-client-service[440]:         /root/go/pkg/mod/github.com/pritunl/pritunl-client-electron/service@v0.0.0-20
Dec 09 08:44:31 88a29e37cd3d pritunl-client-service[440]: github.com/pritunl/pritunl-client-electron/service/connection.(*Wg).WatchConnection
Dec 09 08:44:31 88a29e37cd3d pritunl-client-service[440]:         /root/go/pkg/mod/github.com/pritunl/pritunl-client-electron/service@v0.0.0-20
Dec 09 08:44:31 88a29e37cd3d pritunl-client-service[440]: github.com/pritunl/pritunl-client-electron/service/connection.(*Client).Start.func1
Dec 09 08:44:31 88a29e37cd3d pritunl-client-service[440]:         /root/go/pkg/mod/github.com/pritunl/pritunl-client-electron/service@v0.0.0-20
Dec 09 08:44:31 88a29e37cd3d pritunl-client-service[440]: runtime.goexit
Dec 09 08:44:31 88a29e37cd3d pritunl-client-service[440]:         /usr/local/go/src/runtime/asm_arm.s:884 +0x9de1b
Dec 09 08:44:31 88a29e37cd3d pritunl-client-service[440]:
Dec 09 08:44:31 88a29e37cd3d pritunl-client-service[440]: [2025-12-09 08:44:31][INFO] ▶ connection: Stopping reconnect ◆ client_disconnect=true

The key error I see is Dec 09 08:43:11 88a29e37cd3d pritunl-client-service[440]: Put "https://10.50.0.1/key/wg/68dcaf7424c8a442639534e5/69014c6aaa08472a45348212/68dcb

Why does this occur?

UPDATE: Btw, the 10.50.0.1 is the Virtual Gateway of Wireguard so 10.50.0.0/16 as an example. Is this a matter of updating the bind ip address being our HTTPS serverhttps://pritunl.foo.com? I was reading on this which is similar to my issue: Wireguard Unable to Connect or Stay Connected

Once the client connects to the Pritunl server with WireGuard it sends web requests to the internal VPN server IP at the interval set by the WireGuard Ping Interval in the server settings. If these fail the connection will reset. WireGuard has a connectionless design but this layer of connection management was added in Pritunl to keep the integrity of the multi-factor authentication options available in Pritunl.

@zach Thanks for the response Zach.

When it comes to “If these fail the connection will reset.” How would this occur? Would this be the pritunl-client communicating to server and it can’t communicate to the server? I have not touched the Pritunl server which makes me wary of this disconnecting and reconnecting again.

And in retrospect, it would be safe to assume this is normal and this is a security feature to keep “integrity of the multi-factor authentication options available in Pritunl”?

It will occur when the connection is unstable, if the VPN link is unavailable the request won’t be able to make it to the server. There were some older releases that did not have a retry mechanism but the current release will make 8 attempts before ending the connection.

1 Like

Thanks for the speedy response @zach.

Majority of our Raspberry Pis are on WiFi or small number are on cellular data, it can be somewhat unstable. This will be a matter of myself to improve the unstable connection. The good thing is it reconnected flawlessly so I will give it that. We had the issues with the OpenVPN but this is much better honestly.

If you have any pointers on unstable connections, what would be the go-to to implementing?

The default settings in the newer releases already have a lot of room for unstable connections. It would need to lose connectivity for more then 30 seconds to fail. Attempting to go longer would likely create more issues by delaying the recovery of the connection.