Mullvad VPN na Ubuntu Server

VPN je placená služba. Jestliže je pro váš případ žádoucí, níže je v 10 krocích postup instalace a aktivace Mullvad VPN na Ubuntu serveru. Vyjma instalace přímo na serveru, VPN může být nakonfigurována i na úrovni routeru.

Instalace a nastavení Mullvad VPN v 10 krocích

  1. Přejděte do výchozí složky účtu cd ~ a stáhněte poslední instalační soubor Mullvad VPN wget --content-disposition https://mullvad.net/download/app/deb/latest
  2. Příkazem ls si zobrazte soubory ve složce, najděte stažený MullvadVPN-XXXX.X_amd64.deb soubor a příkazem sudo apt install -y ./MullvadVPN-XXXX.X_amd64.deb jej nainstalujte.
  3. Příkazem mullvad version si ověřte, že Mullvad VPN máte nainstalováno
  4. Příkazem mullvad account login <číslo účtu> se přihlaste ke svému účtu, jehož číslo získáte po přihlášení / při registraci. Konečný příkaz může vypadat následujícím způsobem: mullvad account login 1234123412341234.
  5. Na stránce Mullvad Servers si můžete projít lokace (VPN servery), ke kterým je možné se připojit. Totožný seznam dostanete i příkazem mullvad relay list.
  6. Připojení k vybranému serveru definujete příkazem mullvad relay set location se mma, kdy "se" nahraďte zemí a "mma" městem. Dále je ještě možné na konec přiřadit celý název serveru z Mullvad seznamu mullvad relay list. V případě České Republiky a Prahy příkaz vypadá následovně: mullvad relay set location cz prg, jestliže výběr seznamu necháváme automaticky na klinetu, respektive se můžeme připojit i ke konkrétnímu serveru, viz mullvad relay set location cz prg cz-prg-wg-201.
  7. Příkazem mullvad lan set allow můžete povolit LAN přístup - tedy, i když budete skryti za VPN, stále budete mít přístup k ostatním zařízením v lokální síti.
  8. Samotné připojení k VPN se provede příkazem mullvad connect, případné odpojení příkazem mullvad disconnect
  9. Automatické připojování k VPN se nastaví příkazem mullvad auto-connect set on.
  10. Stav připojení lze zjistit příkazem mullvad status, log připojení příkazem journalctl -fu mullvad-daemon.

Upgrade Mullvad VPN klienta se provede zopakováním kroku 1 a 2. Veškeré Mullvad Cli příkazy najdete na stránce How to use Mullvad Cli.

Mullvad běží jako systémový servis. Jako takový, je možné jej ovládat systémovými příkazy:

  • sudo systemctl status mullvad-daemon - zobrazit stav služby
  • sudo systemctl stop mullvad-daemon - vypnout službu
  • sudo systemctl start mullvad-daemon - zapnout službu
  • sudo systemctl enable mullvad-daemon - povolit automatické spouštění služby při načtení OS
  • sudo systemctl disable mullvad-daemon - zakázat automatické spouštění služby při načtení OS

Mullvad účet se spravuje prostřednictvím příkazové nabídky mullvad account, pro informace kolem přihlášeného mullvad účtu (název zařízení a mullvad id) použijte příkaz Mullvad account get.

Poznámka: Aktivní VPN může komplikovat připojování se na server. Pro připojování se z lokální sítě, ujistěte se, že máte na mullvad klientu povolen LAN přístup (mullvad lan set allow). Pro vzdálené připojení řešte VPN síť, ať už mezi klientem a serverem, nebo klientem a routerem, za nímž je server umístěn.

Více postupů a tipů pro Ubuntu Server naleznete v publikaci Instalace, zabezpečení a správa Ubuntu Serveru.

VPN Split Tunnel

Split Tunnel umožňuje směrovat část provozu aplikací nebo zařízení přes šifrovanou VPN, zatímco jiným aplikacím nebo zařízením nechat přímý přístup k internetu. To je zvláště užitečné při využívání služeb, které s použítím VPN nefungují tak, jak by bylo očekáváno.

VPN Split Tunel pro NTP service systemd-timesyncd

systemd-timesyncd daemon je zodpovědný za synchronizaci času serveru s přesným světovým časem dle nastavené časové zóny. Správná funkce tohoto daemona je zásadní při všech službách pracujících s časem. Tou je například i 2-faktorové ověřování (2FA) pro možnost se k serveru vůbec přihlásit.

  • Zjištění stavu timedatectl

    timedatectl status - zjištění stavu systemd-timesyncd daemonu

    Výstupem je informace o různých časech. Zásadními řádky jsou NTP service se stavem active (lze aktivovat příkazem timedatectl set-ntp true ) a poté řádek System clock synchronized s hodnotou yes. Ovšem, stav yes může být v případě používání VPN lichý - a to stav z doby před aktivací VPN. Problém je, že VPN může blokovat přístuk k NTP serverům a tím zamezit synchronizaci času.

  • Zjištění stavu systemd-timesyncd služby

    Stav služby zjistíme dotazem systemctl status systemd-timesyncd. Zde nás zajímá stav klíče Status. Stav "Initial synchronization to time server ..." je běžný, jedná se o funkční stav. Současně stav zahrnuje IP adresu NTP serveru, který je službou k synchronizaci času využíván. Problematický je stav Idle.

  • Test přístupu k IP NTP serveru

    IP NTP serveru lze zjistit rovněž pod příkazem timedatectl timesync-status, který ukazuje detailní časové hodnoty vztahující se k přesnosti času na serveru. IP NTP serveru, který je službou využíván, je pod hodnotu klíče Server. Možnost přístupu k danému serveru lze zjistit příkazem ping s adresou serveru, např. ping 8.8.8.8. Jestliže jsme schopni IP NTP serveru pingnout, vše je v pořádku.

  • Nastavení Spilt Tunelu VPN, pokud není možné NTP server pingnout

    • Split tunel je potřeba v případě NTP serveru řešit, jestliže:
      • timedatectl status ukazuje "System clock synchronized: no"
      • systemctl status systemd-timesyncd ukazuje stav "Status: Idle."
      • není možné NTP server pingnout

      Split Tunel lze aktivovat pro jakoukoli službu na serveru, a to na základě jejího pid. PID zjistíme příkazem systemctl status systemd-timesyncd, kdy pid číslo je pod klíčem Main PID.

    • pid služby lze vložit do mullvad VPN klienta příkazem:
      mullvad split-tunnel add <pid>
      mullvad split-tunnel pid add <pid>

      Od té chvíle by služba měla být prostřednictvím Split Tunnelu z VPN vyloučena. Opětovně zkontrolujte stav služby systemctl status systemd-timesyncd. Samotný ping bude i nadále neúspěšný, jelikož ten vykonáváte z vašeho účtu a ne účtu vyjmuté služby.

    • Další užitečné příkazy:
      • mullvad split-tunnel list - Zobraz všechny vyjmuté služby z VPN
      • mullvad split-tunnel delete <pid> - Obnov dříve vyloučený proces z VPN
      • mullvad split-tunnel clear - obnovit všechny dříve vyloučené procesy
      • mullvad split-tunnel pid list - Zobraz všechny vyjmuté služby z VPN
      • mullvad split-tunnel pid delete <pid> - Obnov dříve vyloučený proces z VPN
      • mullvad split-tunnel pid clear - obnovit všechny dříve vyloučené procesy
  • Další příkazy