How to get Proton VPN IPv6 working with OpenVPN on openSUSE tumbleweed

I want to make my computer connect to Proton VPN on boot. I also experienced problems with my ISP’s IPv6 address being used even though I was connected to Proton VPN through OpenVPN. This post will explain how I got it working to use IPv6 through Proton.

Start by installing OpenVPN:

sudo zypper install openvpn

Go to https://account.protonvpn.com/downloads#openvpn-configuration-files and download a config file for the server you want to use.

Note: I’m not sure if all Proton VPN servers support IPv6 at the moment, so you may need to try a different server if it doesn’t work.

Copy the downloaded config file to the OpenVPN directory

sudo cp /path/to/config.ovpn /etc/openvpn/client/proton.conf

Go to https://account.protonvpn.com/account-password#openvpn to get your OpenVPN/IKEv2 username

Create an auth file alongside your config file and enter the username and password on separate lines:

sudo vim /etc/openvpn/client/proton.auth

Edit the Proton OpenVPN config to enable IPv6

sudo vim /etc/openvpn/client/proton.conf

Inside this file add the following line to enable authentication using the username and password from the auth file:

auth-user-pass /etc/openvpn/client/proton.auth

Note: you may already have an auth-user-pass line – in this case replace it with the above.

To enable IPv6 support add:

push-peer-info
setenv UV_IPV6 1 

Set up a systemd service (change vim to whatever text editor you like).

sudo vim /etc/systemd/system/protonvpn.service

Edit the the systemd service config file and insert the following

[Unit]
Description=ProtonVPN Connection
After=network.target
[Service]
Type=simple
ExecStart=/usr/sbin/openvpn --config /etc/openvpn/client/proton.conf
Restart=always
[Install]
WantedBy=multi-user.target

Enable and start the service

sudo systemctl enable protonvpn
sudo systemctl start protonvpn

Check your IP is not being leaked using https://whatismyipaddress.com/ or a similar site. It should show the VPN’s IP address.

You can also use https://dnsleaktest.com/ to verify your DNS requests are all going through Proton too.

Leave a Reply

Discover more from Thomas Roberts - JS Engineer

Subscribe now to keep reading and get access to the full archive.

Continue reading