Proton VPN on Ubuntu Server

VPN is a paid service. If it's suitable for your case, below are the steps to install and activate Proton VPN on an Ubuntu server.

Installation and Basic Setup of Proton VPN

For operating systems with graphical user interfaces, Proton VPN can be used with the Proton VPN client for the respective OS. The following steps outline the configuration of the Proton VPN client via the command line on Ubuntu Server, making it applicable for the Server distribution of this OS.

Previously, Proton VPN could be managed using the community protonvpn-cli client. This client is no longer supported. Currently, Proton VPN must be configured by setting up the Proton VPN server using the WireGuard protocol.

Manual Configuration of Proton VPN on Ubuntu Desktop/Server Using WireGuard

  1. Installing the WireGuard Client

    Instructions for installing the WireGuard client on various operating systems are available on the WireGuard website. For Ubuntu OS, the installation can be done using the following command:

    sudo apt install wireguard
  2. Obtaining Proton VPN Configuration for WireGuard

    • Log in to your Proton VPN account and navigate to the WireGuard section.
    • In the WireGuard section, select the GNU/Linux platform and download the configuration files for the servers you are interested in.
  3. Placing Proton VPN Server Configurations in the System

    Place the downloaded configuration files into the /etc/wireguard/ directory of your Ubuntu Desktop/Server OS.

  4. Allowing PC Access from the Local Network

    Access from devices in local network is enabled by defualt.

  5. Connecting to the VPN Server

    sudo wg-quick up [the name of the configuration file, excluding the .conf suffix]
    For example, sudo wg-quick up swiss1-CH-5
    You can check the current IP using the command sudo wg
  6. Disconnecting from the VPN Server

    sudo wg-quick down [the name of the configuration file, excluding the .conf suffix]
    For example, sudo wg-quick down swiss1-CH-5
    You can check the current IP using the command sudo wg
  7. Enabling/Disabling VPN Connection on System Startup

    WireGuard runs on Ubuntu Desktop/Server via the wg-quick system service. The service name is followed by the @ symbol, which is followed by the name of the Proton VPN configuration file in the /etc/wireguard directory.

    • Check the status of the VPN connection to the server named wg0 in /etc/wireguard:
      systemctl status wg-quick@wg0
    • Enable automatic connection to the server named wg0 in /etc/wireguard on system startup:
      sudo systemctl enable wg-quick@wg0
    • Disable automatic connection to the server named wg0 in /etc/wireguard on system startup:
      sudo systemctl disable wg-quick@wg0

    Note: Files in /etc/wireguard/ should be readable only by the root user, as per:

    sudo chmod 600 /etc/wireguard/wg0.conf