Mullvad Setup

Hey guys, I’m a total noob to Qubes and Linux. Trying to get Mullvad up and running. Got the Config file generated but instructions say to unzip. Ran command line as stated to unzip but doesn’t locate file as a .zip. Any idea what I’m doing wrong

And thanks in advance

You can always extract the config files from a file manager, like Thunar or Nautilus. For beginners this is an easier way to navigate the file system. You may not be in the same directory as the .zip file in the terminal. Just type ls to check.


What command did you run?

As mentioned, you might have an easier time using a graphical file manager to unzip the file (just double click). In either case, the unzipped folder will be in the same directory as the original zip file.

My file downloaded as a .conf I believe. Per I was to run: unzip “filename” but was reported as unfound…is it that the file is not in fact zipped?

Mullvad configuration files are packed in zip format. The zip includes a .conf file but it also includes a .crt file and a couple of other files. All of them will eventually be moved to the /etc/openvpn directory in your standalone MullvadVPN qube.

Let’s say you are accessing this forum on your Qubes machine via a browser in an appVM named personal.

  1. Download a configuration zip archive from My account | Mullvad VPN

  2. Go to the downloads directory and double click the downloaded zip file to unzip it. The unzipped folder will appear in the same directory. Double click on that unzipped folder to reveal the actual Mullvad configuration directory within. If you double click on that directory, you will see configuration files.

  3. Right click the configuration directory (the one that contains the configuration files) and select “copy to other appVM” and choose MullvadVPN (or the name of your standalone VPN qube) as the destination VM.

  4. In the standalone VPN qube, open a terminal and navigate to the location of the folder you just moved with cd /home/user/QubesIncoming/personal. Confirm the directory was moved with the command ls. You terminal should display the name of the configuration directory.

  5. Now (assuming you have already installed openvpn in the standalone VPN qube), copy the contents of the configuration directory to /etc/openvpn with the following command sudo cp mullvad_config_linux_se/* /etc/openvpn/ (replacing “mullvad_config_linux_se” with the actual name of your configuration directory). The asterisk means “everything”. So the entire command means “I’m the administrator (sudo)… copy (cp) everything in this directory to /etc/openvpn”

1 Like

Thanks @necker …so somehow after signing up for Mullvad earlier today, I navigated myself into a different part of the site. I was generating keys, etc. and that is where the .conf file was coming from. When I followed your link, everything was as you said. Must have gotten myself off the beaten path somewhere.

1 Like

for Wireguard:

I used bind-dirs in an App-VM:


  1. installl wireguard in the template vm,
  2. configure bind dir in app vm
  3. reboot and put config files into /etc/wireguard
  4. add one line to /rw/config/rc.local wg-quick up mullvad_se9 (or config desired)
  5. reboot and test curl


  • Make sure you adjust firewall to the disired IPs
  • download the config files with IPs (i tried ipv6 only but wasnt able to connect to all the services desired…)
  • usually mullvad configs proivide their own DNS, but there is config scripts you could run at boot (rc.local) to disable dns leak
  • maybe there is other security implications my setup doesnt cover, feel free to correct me
1 Like

I would go for an openvpn configuration. After you have downloaded your file from mullvad and unzipped it - try this link “”. It is from Qubes Documentation and works really great with mullvad (and every other openvpn provider I have tried). It includes firewall, dns-handling, leak protection and autostart.

1 Like

Thanks to all that replied, great info for a noob