Návod
Jak nastavit VPN v Linuxu
Klient poskytovatele z jeho vlastního repozitáře, alternativa konfiguračního souboru v nástrojích systému, detail DNS, který v Linuxu uniká více než kdekoli jinde, a kontroly z terminálu. Pro Ubuntu 26.04 LTS a NetworkManager.
Než začnete
Tento návod nevybere poskytovatele za vás
Každý níže uvedený krok je stejný bez ohledu na to, kterého poskytovatele použijete, proto zde žádného nejmenujeme. Výběr je samostatný úkol a provádí se v registru, kde se rozhoduje podle zveřejněného skóre, nikoli podle stránky ke stažení.
Nainstalujte klienta z vlastního repozitáře poskytovatele a s podpisovým klíčem z jeho vlastních pokynů. Nikdy nevkládejte do terminálu jednorázový instalační příkaz z fóra nebo blogu: příkaz se spouští jako root a nevíte, co stáhl. Balíček z podepsaného repozitáře lze ověřit; skript přesměrovaný do shellu nikoli.
Nainstalujte klienta
V Linuxu existují dvě cesty a obě jsou legitimní. První je vlastní klient poskytovatele; přináší nouzový vypínač, výběr serveru a správu DNS bez další práce. Druhou možností je konfigurační soubor v nástrojích systému a závěrečná část tohoto návodu vysvětluje, co za něj zaplatíte.
- Přihlaste se na webu poskytovatele a v části účtu otevřete jeho pokyny pro Linux. Uvádějí repozitář, klíč a balíček; řiďte se jimi a ničím jiným.
- Přidejte repozitář a jeho klíč a potom nainstalujte balíček pomocí správce balíčků distribuce. Klíč umožňuje správci balíčků odmítnout pozměněný balíček, takže repozitář přidaný bez něj je repozitář, kterému jste začali důvěřovat bez ověření.
- Povolte službu klienta, aby se spouštěla při startu systému. Klient obvykle tvoří démon běžící jako root a desktopová aplikace, která s ním komunikuje; démon spravuje tunel a nouzový vypínač, který má fungovat od startu, potřebuje, aby od startu běžel i on.
- Přihlaste se do klienta — z aplikace nebo z příkazového řádku pomocí tokenu, který vám poskytne část účtu — a zařízení pojmenujte tak, aby vás neidentifikovalo.
- Zatím se nepřipojujte. Nejprve otevřete nastavení. U většiny klientů jsou dvě ze tří níže uvedených možností ve výchozím nastavení vypnuté.
Tři nastavení, která stojí za kontrolu
Nabídky klientů se liší, nastavení nikoli. Každé ze tří má v glosáři vlastní heslo, pokud jeho název neznáte.
Nouzový vypínač
Blokuje veškerý provoz, pokud tunel spadne, místo aby tiše nechal připojení přejít zpět na běžnou síť. V Linuxu jde o sadu pravidel firewallu, která klient zapisuje: zahodí vše kromě tunelového rozhraní a vlastního koncového bodu tunelu. Zapněte jej a pokud ho klient nabízí, zvolte vždy zapnutou nebo lockdown variantu, aby pravidla platila od startu systému, nejen během připojení. K čemu vypínač slouží, vysvětluje jeho vlastní stránka.
DNS uvnitř tunelu
Dotazy na názvy mohou opustit počítač mimo tunel, i když je v něm všechno ostatní, a v Linuxu k tomuto úniku dochází nejčastěji, protože resolver je proměnlivou součástí systému. V Ubuntu tuto úlohu plní systemd-resolved: každé rozhraní má vlastní resolvery a ten, který má pro DNS výchozí trasu, zodpovídá všechny dotazy, na něž se nevztahuje konkrétnější doména. Klient by měl tento výchozí resolver nasměrovat na resolver poskytovatele přes tunelové rozhraní. Nastavte DNS klienta na vlastní resolver poskytovatele, nikoli na resolver třetí strany; další strana, která vidí pouze dotazy, je další stranou navíc. Jak k úniku dochází, vysvětluje stránka o únicích DNS.
Protokol
Nechte moderní výchozí volbu, pokud něco nefunguje — stránka protokolů uvádí, které jsou aktuální a které zastaralé. Pokud klient nabízí starší možnost k vyřešení problému s připojením, jde o kompromis, který je třeba zvolit vědomě a potom ho vrátit zpět: registr označuje nejslabší protokol, který poskytovatel stále nabízí, a jeho ručním výběrem toto označení volíte sami pro sebe.
Ověřte, že skutečně funguje
Připojte se a potom ověřujte, místo abyste předpokládali. Proveďte z terminálu tyto tři kontroly v uvedeném pořadí:
- Vaše adresa se změnila. Pomocí
curlse dotazujte služby typu „jaká je moje IP“, případně ji otevřete v prohlížeči, a ověřte, že země odpovídá zvolenému exit.ip route getpro veřejnou adresu by měl uvést tunelové rozhraní, nikoli rozhraní Wi-Fi nebo Ethernetu. - Dotazy probíhají uvnitř tunelu.
resolvectl status: tunelové rozhraní by mělo používat resolver poskytovatele a nést výchozí trasu DNS; resolver fyzického rozhraní by se neměl používat. Test úniku DNS v prohlížeči je druhým ověřením a cokoli patřící vašemu poskytovateli internetu znamená, že nastavení DNS se neujalo. - Nouzový vypínač dělá to, co uvádí. Při běžícím stahování zastavte službu klienta pomocí
systemctl stopnebo vypněte tunelové rozhraní příkazemip link set … down, aby tunel spadl bez pokynu klientovi. Přenos by se měl okamžitě zastavit. Pokud pokračuje, je vypínač jen na ozdobu.
Delší baterii testů a vysvětlení, co každý z nich může a nemůže ukázat, najdete v samostatném návodu.
Co tyto kontroly dokazují
+Váš provoz odchází přes exit server v zemi, kterou jste zvolili
+Resolver, který odpovídá na vaše dotazy, patří poskytovateli a nachází se uvnitř tunelu
+Při pádu tunelu dojde k bezpečnému zablokování namísto tichého návratu na běžnou síť
Co nedokazují
−Nic neříkají o tom, co poskytovatel uchovává — to je otázka dokumentů, na kterou odpovídají stránky o uchovávání
−Nečiní vás anonymními: váš prohlížeč a přihlášení se nemění, viz před čím vás VPN nechrání
−Úspěšný test dnes není příslibem pro další aktualizaci balíčku ani další jádro
Cesta přes konfigurační soubor a její cena
Většina poskytovatelů zveřejňuje v části účtu konfigurační soubory pro dva běžné protokoly. Soubor WireGuard se do NetworkManageru importuje z editoru připojení nebo pomocí nmcli connection import a stejně dobře funguje pod wg-quick; soubor OpenVPN se importuje stejným způsobem pomocí pluginu OpenVPN. Získáte tunel, vlastní přepínač rozhraní systému a nic, co poskytovatel do souboru nepřidal.
Ztrácíte zbytek klienta. Neexistuje nouzový vypínač, pokud pravidla firewallu nenapíšete sami; konfigurační soubor importovaný do NetworkManageru se při pádu jednoduše vrátí s provozem na běžnou síť. Neexistuje správa DNS nad rámec řádku DNS v souboru a soubor bez něj je při prvním řešení potíží zdrojem úniku. Neexistuje výběr serveru: každý soubor představuje jeden exit a změna exit znamená jiný soubor. Generujte soubory z části účtu a uchovávejte je v soukromí: soubor WireGuard obsahuje soukromý klíč, který je vaší identitou u poskytovatele.
Tato cesta je vhodná pro server, bezhlavý počítač nebo distribuci, kterou klient nepodporuje. Na notebooku dávejte přednost klientovi; jeho přepínač je právě to, co konfigurační soubor nedokáže nabídnout.
Když to nefunguje
Tunel je aktivní, ale DNS stále směřuje k mému poskytovateli internetu
Klasický únik v Linuxu. Konfigurační soubor, který nenastavuje DNS, nechává systemd-resolved používat resolver přidělený sítí mimo tunel. Spusťte resolvectl status: tunelové rozhraní by mělo uvádět resolver poskytovatele a nést výchozí trasu DNS označenou znaménkem plus.
Přidejte do konfigurace řádek DNS nebo nastavte DNS u připojení v NetworkManageru a znovu se připojte. Vlastní klient poskytovatele to nastavuje sám, což je jeden z důvodů, proč mu dát přednost.
Když tunel spadne, všechno přestane fungovat, což je otravné
To nouzový vypínač plní svou funkci: spadlý tunel znamená nefunkční připojení, nikoli tichý návrat na běžnou síť. Místo vypnutí vypínače se znovu připojte.
Pokud na jedné síti padá často a jinde jen zřídka, jednou přepněte protokol a zkuste bližší exit. Pokud na této síti neudrží připojení žádný protokol, síť blokuje provoz VPN a tento návod zde končí.
Klient při každém použití žádá o sudo nebo heslo
Vytvoření síťového rozhraní je privilegovaná operace a klient, který neinstaluje službu na pozadí, se musí ptát pokaždé. Většina klientů ji instaluje — démona běžícího jako root a desktopovou aplikaci, která s ním komunikuje — takže opakovaná výzva znamená, že služba neběží nebo není povolena.
Ověřte to pomocí systemctl status a názvu služby z pokynů poskytovatele a povolte ji, aby se spouštěla při startu systému.
Na testovací stránce se zobrazují adresy IPv6
Tunel přenáší IPv4, ale počítač má stále trasu IPv6 mimo něj, takže vše, co upřednostňuje IPv6, VPN obejde. Poskytovatelé, kteří IPv6 netunelují, by je měli na rozhraní zakázat; lepší klienti to dělají.
Pokud jste připojení vytvořili ze souboru, zakažte IPv6 u připojení v NetworkManageru nebo je vypněte pomocí sysctl a test zopakujte. Tunel, který nechává otevřenou druhou adresní rodinu, je jen poloviční tunel.
Stejné kroky, jiné stroje
Ostatní platformy
Každá platforma má vlastní návod, ne záložku na tomto. Kroky se rozcházejí, jakmile se otevře instalátor, a stránka, která odpovídá na tři platformy najednou, neodpovídá pořádně na žádnou.