ProtonVPN client

I’m trying to run the official ProtonVPN client in the fedora-40-minimal template. I experienced a lot of errors and messages that “Something went wrong.” I think I managed to install all of the required packages because I no longer get errors when logging in or attempting to connect. However, that meant installing and running NetworkManager. This also meant adding the network-manager service in the settings for the VM but this disables internet access within the VM for some reason. This is a template that provides network access to other VMs if that matters. edit: It’s actually the ProtonVPN client disabling network access when I try to connect not a result of enabling the NetworkManager service.

edit: I also had to install a package related the keyrings but I don’t remember which one. And also wireguard-tools for wireguard support.

Only error that is shown in the console is that the connection timed out, and this is the case using either of the 3 backends openvpn-tcp, openvpn-udp, or wireguard:

2024-10-06T23:05:43.376608 | proton.vpn.core.connection:419 | INFO | CONN:STATE_CHANGED | Disconnected
2024-10-06T23:05:43.376874 | proton.vpn.connection.persistence:111 | WARNING | CONN.PERSISTENCE:REMOVE | Connection persistence not found when trying to remove it: /home/user/.cache/Proton/VPN/connection/connection_persistence.json
2024-10-06T23:05:43.483160 | proton.vpn.core.connection:419 | INFO | CONN:STATE_CHANGED | Connecting
2024-10-06T23:05:48.585647 | proton.vpn.backend.linux.networkmanager.core.networkmanager:86 | INFO | VPN server NOT reachable.
2024-10-06T23:05:48.586033 | proton.vpn.core.connection:419 | INFO | CONN:STATE_CHANGED | Error
2024-10-06T23:05:48.586193 | proton.vpn.connection.states:351 | WARNING | Reached connection error state: Timeout (None)
2024-10-06T23:05:48.591508 | proton.vpn.app.gtk.services.reconnector.reconnector:192 | INFO | VPN connection drop was detected.
2024-10-06T23:05:48.591576 | proton.vpn.app.gtk.services.reconnector.reconnector:134 | INFO | Reconnection attempt #4 scheduled in 15.25 seconds.
2024-10-06T23:06:03.842731 | proton.vpn.app.gtk.services.reconnector.reconnector:217 | INFO | Reconnecting (attempt #4)...
2024-10-06T23:06:03.845053 | proton.vpn.core.connection:336 | INFO | CONN.CONNECT:START | Server: US-NY#470 / Domain: node-us-134.protonvpn.net / IP: 89.187.178.173 / OpenVPN Ports: ProtocolPorts(udp=[80, 51820, 4569, 1194, 5060], tcp=[443, 7770, 8443]) / WireGuard Ports: ProtocolPorts(udp=[443, 88, 1224, 51820, 500, 4500], tcp=[443]) / Protocol: openvpn-udp / Backend: linuxnetworkmanager
2024-10-06T23:06:03.845992 | proton.vpn.core.connection:419 | INFO | CONN:STATE_CHANGED | Disconnecting
2024-10-06T23:06:03.846151 | proton.vpn.core.connection:419 | INFO | CONN:STATE_CHANGED | Disconnected
2024-10-06T23:06:03.846379 | proton.vpn.connection.persistence:111 | WARNING | CONN.PERSISTENCE:REMOVE | Connection persistence not found when trying to remove it: /home/user/.cache/Proton/VPN/connection/connection_persistence.json
2024-10-06T23:06:03.954521 | proton.vpn.core.connection:419 | INFO | CONN:STATE_CHANGED | Connecting
2024-10-06T23:06:09.069633 | proton.vpn.backend.linux.networkmanager.core.networkmanager:86 | INFO | VPN server NOT reachable.
2024-10-06T23:06:09.069955 | proton.vpn.core.connection:419 | INFO | CONN:STATE_CHANGED | Error
2024-10-06T23:06:09.070384 | proton.vpn.connection.states:351 | WARNING | Reached connection error state: Timeout (None)
2024-10-06T23:06:09.078360 | proton.vpn.app.gtk.services.reconnector.reconnector:192 | INFO | VPN connection drop was detected.
2024-10-06T23:06:09.078446 | proton.vpn.app.gtk.services.reconnector.reconnector:134 | INFO | Reconnection attempt #5 scheduled in 29.82 seconds.
2024-10-06T23:06:38.900320 | proton.vpn.app.gtk.services.reconnector.reconnector:217 | INFO | Reconnecting (attempt #5)...
2024-10-06T23:06:38.928501 | proton.vpn.core.connection:336 | INFO | CONN.CONNECT:START | Server: US-NY#470 / Domain: node-us-134.protonvpn.net / IP: 89.187.178.173 / OpenVPN Ports: ProtocolPorts(udp=[80, 51820, 4569, 1194, 5060], tcp=[443, 7770, 8443]) / WireGuard Ports: ProtocolPorts(udp=[443, 88, 1224, 51820, 500, 4500], tcp=[443]) / Protocol: openvpn-udp / Backend: linuxnetworkmanager
2024-10-06T23:06:38.939150 | proton.vpn.core.connection:419 | INFO | CONN:STATE_CHANGED | Disconnecting
2024-10-06T23:06:38.939348 | proton.vpn.core.connection:419 | INFO | CONN:STATE_CHANGED | Disconnected
2024-10-06T23:06:38.940268 | proton.vpn.connection.persistence:111 | WARNING | CONN.PERSISTENCE:REMOVE | Connection persistence not found when trying to remove it: /home/user/.cache/Proton/VPN/connection/connection_persistence.json
2024-10-06T23:06:39.046542 | proton.vpn.core.connection:419 | INFO | CONN:STATE_CHANGED | Connecting
2024-10-06T23:06:44.164700 | proton.vpn.backend.linux.networkmanager.core.networkmanager:86 | INFO | VPN server NOT reachable.
2024-10-06T23:06:44.204039 | proton.vpn.core.connection:419 | INFO | CONN:STATE_CHANGED | Error
2024-10-06T23:06:44.206656 | proton.vpn.connection.states:351 | WARNING | Reached connection error state: Timeout (None)
2024-10-06T23:06:44.217303 | proton.vpn.app.gtk.services.reconnector.reconnector:192 | INFO | VPN connection drop was detected.
2024-10-06T23:06:44.217376 | proton.vpn.app.gtk.services.reconnector.reconnector:134 | INFO | Reconnection attempt #6 scheduled in 63.38 seconds.

In case anyone is following along, I had to install libayatana-appindicator3 to get the applet icon, NetworkManager and enable the network-manager service within the settings for the VM, and also NetworkManager-openvpn. I think that is all of the extra packages I needed to install in addition the the dependencies from the official RPM install.

Solved. I had a configuration issue outside of the ProtonVPN client. But I think this might be helpful for others having issues getting all of the dependencies installed.

If you want add firewall rules for protonvpn client to work, you need to enable this (it’s very large unfortunately)

  • 0.0.0.0 443/udp (all wireguard tunnels in the app use 443/udp :frowning: )
  • 0.0.0.0 443/tcp
  • 0.0.0.0 8443/tcp (no idea what it’s for, does not work if not allowed)
  • 0.0.0.0 7770/tcp (no idea what it’s for, does not work if not allowed)

I used tcpdump to see what traffic was required and opened ports until it worked.

I recommend to set this vpn qube a disposable template, so you always run with a fresh vpn qube :slight_smile:

2 Likes