Thanks again @solene for this similar with Proton VPN I could not get this to work in Debian 13, but succeeded with a Fedora 42 Template, except instead of
I installed the Mullvad App in the Fedora 42 Template and made the sys-mullvad-app be the Service Qube. At first I kept having DNS issues in the App Qube, but that was because I overlooked this line:
Perhaps re-phrasing this as sudo dnf install inotify-tools would save some people (like me ) time in accidentally missing things?
Everything seemed to work except for saving of the account login code, but after doing this suggested fix, it saves the login code.
With the latest release of the Mullvad app it appaers they have removed ability to select a port to connect to on the Wireguard server. Which makes using the Qubes Firewall editor in the QUbes manager a no-go without listing all potential ports used by Mullvad
Is there a way when using the âkill switchâ nft rules to allow the VMs behind sys-vpn-mullvad-app to access specific RFC1918 ip address ranges (when VPN is off) so I can do data transfer?
Previously I was using 3 rules via the qubes manager
any to port_number udp # vpn to connect
any to port_number tcp # vpn to connect
rfc1918 to any any # be able to reach my home systems when VPN is disconnected
Create new AppVM using the template created above, with networking = sys-firewall and CHECK âlaunch settings after creationâ and CHECK âProvides network access to other qubesâ in âAdvancedâ
Qube settings (leave everything else as-is);
Check âStart qube automatically on bootâ
Private storage size = 5GB
Advanced: Uncheck âinclude in memory balancingâ (leave initial mem at 400 and 2 CPU)
Services: add ânetwork-managerâ and âqubes-firewallâ
Applications: add âMullvad VPNâ
Start Mullvad appVM, log into Mullvad VPN and configure settings, then configure other appVMs to use the Mullvad AppVM as network
Hi. I just tried installing the qubes-core components on the minimal templates terminal but, no matter what, it wonât accept the password - even if I enter the correct one, even if I enter the root password.
Never mind. I found a way around it. I followed the rest of the instructions and successfully set up the VPN but, for some reason, my browser (connected to the vpn qube) isnât reaching online. Could I have miss anything?
What was the âway around itâ? Might be helpful for other users, or perhaps the instructions could be made more clear!
As for your browser not going online, in Mullvad VPN app, go to Settings > VPN Settings > enable âLocal network sharingâ. Did you try that? Does the Mullvap VPN app show as âConnectedâ?
@solene Can qvm-firewall work with the application? I donât understand how to add an ip for connecting an application when starting sys-vpn: I can add ip of the need servers when app is already running, but how can I add a rule to sys-firewall for connecting to an app when starting sys-vpn, because I need Internet to connect?
Itâs certainly possible to add firewall rules when using the app but it will be really loose. I didnât do the work to figure ports and IP with mullvad. But with Proton I ended up opening ports 443 in TCP and udpâŚ
I also have Proton app. Could you add a guide on using the app vpn (Proton or other app) and qvmâfirewall to your guide please? Iâm afraid I will do something wrong, and Iâm having internet problems when I try to do it correctly. Thank you
I wasnât able to figure a proper list of IPs to allow that is certain to work with all features.
If you use the killswitch firewall rules within the vpn qube
# Prevent the qube to forward traffic outside of the VPN
nft add rule qubes custom-forward oifname eth0 counter drop
nft add rule ip6 qubes custom-forward oifname eth0 counter drop
This should guarantee that no qube using it as a netvm will have traffic routed outside a VPN. Having firewall rules for the vpn qube itself does not bring too much, a breached app could use a VPN tunnel to exfiltrate data anyway.
I added several Proton server IPs and it works great when I connect, disconnect, and reconnect in the same location. However, if I change locations, internet drops and app canât connect until I disable qvmâfirewall. Could you help me with this problem? What do I need to add to qvmâfirewall so it works when switching locations?
Sorry I kept you waiting. By âway around itâ, I went to https://duck.ai to ask how I can perform any sudo actions on a minimal template and was told I can run qvm-run -u root <template_name> <command> to do it.
Edit: Correction. I run qvm-run -u root <template_name> xterm to open a terminal in the template then run the rest of my commands there.
As for the VPN, I just switched on âLocal network sharingâ and itâs finally working. Thanks!
maybe a dumb question, but is there a specific reason why standalones are the method of choice for VPN Apps instead of installing it on a template and running it in its own AppVM?
Hello, maybe a stupid question but my Mullvad install (with this guide) doesnât seem to work too well with the Windows qubes I have. Perhaps it is due to them being Win11 or due to the general shakiness of the net stack seeing as even restarting the net cube for the windows qube seems to cause it getting confused and requiring a restart.
Could somebody perhaps suggest how I may go about troubleshooting this issue?
I do not favor standalones in this case, but always generate a template
to hold the VPN software. This allows for general VPN proxy
configuration, as well as single use VPN set up.
So âmethod of choiceâ is overstated.
In the Mullvad package I provide, I do exactly this - a template to hold
the software, a sys-mullvad for general use, and disposables which can
be used for Mullvad Browser, or for single use VPN. source and packaged
On a general note I very rarely favor standalones over template based
qubes. I see little advantage, and templating gives overall benefits
imo.
I never presume to speak for the Qubes team.
When I comment in the Forum I speak for myself.