Mullvad (Nederlands)
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.
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.