How to fix permanent killswitch after a reboot with ProtonVPN

I love the Proton suite. I use most of their services regularly and they all work flawlessly, but there’s this one teeny tiny issue with ProtonVPN when using the ProtonVPN GUI/application, specially on Debian-based Linux distributions, that might leave you with no internet connection.

ProtonVPN offers a feature called KillSwitch, which will block any internet connection that doesn’t go through their VPN, preventing your IP from leaking if the VPN connection temporarily cuts off. And don’t get me wrong, this Killswitch feature sounds great! However, it seems to be a bit buggy with debian-based distributions. I’ve personally experienced this issue both with Pop!_OS and Ubuntu.

If you turn your computer off or restart while the VPN (and KillSwitch) connection were active, you might find yourself unable to connect to the internet again. This is caused as ProtonVPN will keep the killswitch interface enabled on your machine, even after a reboot. In order to disable the killswitch feature, you would need to remove the virtual network interfaces created by ProtonVPN.

First, list all your connection interfaces with the nmcli command:

nmcli connection show --active

It is very likely you’ll see something like this:

Notice how, other than my wired connection, there are 2 dummy network interfaces or devices; pvpn-killswitch and pvpn-ipv6leak-protection. These interfaces are preventing your default interface from communicating with the internet. In order to restore your internet connection, you would simply need to remove these pvpn interfaces by running the following commands:

nmcli connection delete pvpn-killswitch

nmcli connection delete  pvpn-ipv6leak-protection

After effectively running these commands, your internet connection should be restored (yay!). You can now run the original nmcli command again to ensure only your real network interface is listed:

nmcli connection show --active

Leave a Reply

Your email address will not be published. Required fields are marked *