Mullvad (Nederlands)

From ArchWiki

Mullvad is een VPN service uit Zweden die OpenVPN en WireGuard gebruikt.

Installatie

De nieuwe officiele GUI is beschikbaar als mullvad-vpnAUR.

Na installatie zal je mullvad-daemon.service moeten start/enable.

As alternatief kan je OpenVPN of WireGuard met een configuratie file gebruiken zoals verteld in #Handmatig configuratie.

Handmatig configuratie

Als je de Mullvad app niet wilt gebruiken kan je het ook gebruiken met standaard Linux software. Mullvad ondersteund het OpenVPN en WireGuard protocols. Mullvad zelf adviseerd het gebruik van Wireguard. Maar in sommige situtaties zou OpenVPN worden gekozen omdat bijv. GNOME GUI OpenVPN servers in een graphics interface support. Wat het makelijker maakt om te kijken welke VPN wordt gebruikt, or tussen VPN's schakelen.

OpenVPN Gebruiken

Als eerste, weet zeker dat je openvpn en openresolv geinstaleerd zijn. Download hierna Mullvad's OpenVPN configuratie file pak van hun website[dead link 2023-05-06 ⓘ]. unzip de downloaded file naar /etc/openvpn/client van hier kan je of NetworkManager front-ends gebruiken met NetworkManager. Of je kan systemd gebruiken om het automatisch op boot te starten.

Using NetworkManager front-ends

Zie OpenVPN#NetworkManager-native VPN configuration.

Note: Maak zeker dat je Android/ChromeOS hebt en niet Linux van de Mullvad Website

Systemd Gebruiken

Verander de naam van mullvad_linux.conf voor een kortere naam om later voor de systemd service te gebruiken:

# mv /etc/openvpn/client/mullvad_linux.conf /etc/openvpn/client/mullvad.conf

Om de nameservers van Mullvad te gebruiken word update-resolv-conf script gebruikt om resolv.conf te veranderen met de correcte IP adressen waneer de connectie gestart en gestopt wordt. Dit script zit ook in de Mullvad configuratie zip, maar moet worden verplaatst naar /etc/openvpn/ om het pad dat gespecifeerd is te voldoen:

# mv /etc/openvpn/client/update-resolv-conf /etc/openvpn/

Maak zeker dat het script executable is.

Dit script kan updated blijven door het gebruik van openvpn-update-resolv-conf. Die ook een fix voor DNS leaks heeft.

Na configuratie kan de VPN connectie managed worden met openvpn-client@mullvad.service. Als de service faalt om te starten met een error als Cannot open TUN/TAP dev /dev/net/tun: No such device (errno=19). Moet je waarschijnlijk het systeem rebooten zodat OpenVPN de correcte netwerk devices kan maken.

Kill Switch aanzetten

Om Kill Switch te gebruiken om leakages te voorkomen als de VPN connectie neer gaat, kan je iptables gebruiken zoals uitgelegd op de Mullvad OpenVPN on Linux pagina. Onder "Enabling a Kill Switch"

WireGuard gebruiken

Met NetworkManager

Install de wireguard-tools package. Log in op de Mullvad pagina met je account, en ga naar de Wireguard-config pagina. Kies Linux as platform, en click op "Generate Key" om een public key te genereren. In een terminal, gebruik de volgende command om een private key te maken:

# wg genkey

Click op "Manage keys" in de Mullvad WireGuard-config pagina, en plaats de private key die je net hebt gemaakt in de field die "Enter Private key" heeft, en click op "import key". Vul stap 3 op de website in en download de file die je krijgt. Unzip deze file die je hebt gedownload om één of meerdere files te krijgen, wat ligt aan je selectie bij stap 3. Met deze kan je de terminal interface van NetworkManager gebruiken, nmcli.

Om een wireguard connectie van een config file toetevoegen, execute het volgende command in een terminal:

# nmcli connection import type wireguard file configuratie_file

Als de file naam WG1.conf was, zou een connectie genaamd WG1 toegevoegd moeten zijn.

Als je op enige punt de connectie wilt verwijderen, execute het volgende command:

# nmcli connection delete connectie_naam

Om de Wireguard VPN tunnel te starten issue het volgende command:

# nmcli connection up connectie_naam

Check of de connectie er staat met het command:

# nmcli

Je wilt misschien checken of de Private en Public key overeen komen met wat je van je de website hebt gekregen:

# WG_HIDE_KEYS=never wg

Mullvad heeft een shell script om deze stappen te automatiseren, met een waarschuwing. Deze automatisch aangemaakte configuratie files hebben geen kill switch, deze zult u zelf aan moeten maken als u dit wilt.

Met systemd-networkd

/etc/systemd/network/99-wg0.netdev
[NetDev]
Name=wg0
Kind=wireguard
Description=WireGuard VPN

[WireGuard]
FirewallMark=0x8888
ListenPort=51820
RouteTable=off
PrivateKey=<private key>                               

[WireGuardPeer]
PublicKey=<public key>                                
AllowedIPs=0.0.0.0/0  
AllowedIPs=::0/0
Endpoint=<ip>:<port>
/etc/systemd/network/99-wg0.network
[Match]
Name=wg0

[Network]
Address=<ipv4 addr>/32
Address=<ipv6 addr>/128
DNS=193.138.218.74
DNSDefaultRoute=yes
Domains=~.

[RoutingPolicyRule]
Family=both
SuppressPrefixLength=0
Priority=999
Table=main

[RoutingPolicyRule]
Family=both
FirewallMark=0x8888
InvertRule=true
Table=1000
Priority=1000

[Route]
Gateway=0.0.0.0
Table=1000

[Route]
Gateway=::
Table=1000

Voor basis kill-switch functionaliteit kan je iptables gebruiken om alle uitgaande connectie te blockeren die niet voor fwmark 0x8888 zijn:

iptables incomplete example
-A OUTPUT -m mark --mark 0x8888 -j ACCEPT
-A OUTPUT -j DROP

DNS leaks

In de standaard settings zal de Mullvad OpenVPN configuratie DNS leaks toestaan, wat in een normale situtatie voor een VPN niet ideaal is. Mullvad's nieuwe GUI client stopt automatisch DNS leaks door elke DNS server IP van de system configuratie te vervangen met een IP die verwijst naar Mullvad's eigen niet-behoudend DNS server tijdens de VPN connectie. Deze fix kan ook handmatig worden gedaan door resolv.conf te vertellen om alleen de Mullvad DNS server IP die op hun website staat te gebruiken.

De resolv.conf update script versie in openvpn-update-resolv-conf implementeerd een andere fix voor dit probleem die gebruiken maakt van een exclusief interface switch -x waneer resolvconf geexecuteerd word. Maar dit kan een ander probleem vormen omdat elk lokaal netwerk adress door Mullvad's DNS server zal draaien. Zoals genoteerd in de [https://github.com/masterkorp/openvpn-update-resolv-conf/issues/18 script's GitHub issue pagina

Automatisch configuratie

vopono support automatisch genereren van configuratie files voor mullvad, hierdoor kan je meteen applicaties via een Mullvad connectie draaien in een tijdelijk netwerk namespace.

OpenVPN en Wireguard connecties zijn ondersteud. Shadowsocks is nu ondersteund voor OpenVPN connecties, en port forwarding is ondersteund voor Wireguard connecties.

Zie ook