Ghid
Cum configurezi un VPN pe Linux
Clientul furnizorului din propriul depozit, alternativa unui fișier de configurare în instrumentele proprii ale sistemului, detaliul DNS care produce mai multe scurgeri pe Linux decât oriunde altundeva și verificările din terminal. Scris pentru Ubuntu 26.04 LTS și NetworkManager.
Înainte să începi
Acest ghid nu alege un furnizor pentru tine
Fiecare pas de mai jos este același indiferent de furnizorul folosit, motiv pentru care niciunul nu este numit aici. Alegerea este o sarcină separată și se face în registru, unde decizia se bazează pe un scor publicat, nu pe o pagină de descărcare.
Instalează clientul din propriul depozit al furnizorului, folosind cheia de semnare din propriile instrucțiuni ale furnizorului. Nu lipi niciodată într-un terminal o comandă de instalare pe un singur rând preluată de pe un forum sau blog: comanda rulează ca root și nu ai de unde să știi ce a preluat. Un pachet dintr-un depozit semnat poate fi verificat; un script trimis către un shell nu poate.
Instalează clientul
Pe Linux există două metode și ambele sunt corecte. Clientul propriu al furnizorului este prima; include un întrerupător de urgență, un selector de server și gestionarea DNS. Un fișier de configurare în instrumentele proprii ale sistemului este a doua, iar secțiunea de la finalul acestui ghid spune care este costul.
- Autentifică-te pe site-ul furnizorului și deschide instrucțiunile pentru Linux din zona contului. Acestea precizează depozitul, cheia și pachetul; urmează-le și nu face nimic altceva.
- Adaugă depozitul și cheia sa, apoi instalează pachetul cu managerul de pachete al distribuției. Cheia permite managerului de pachete să refuze un pachet modificat, așa că un depozit adăugat fără ea este un depozit pe care ai ales să îl accepți pe încredere.
- Activează serviciul clientului pentru a porni la boot. De obicei, un client este un daemon root și o aplicație desktop care comunică cu acesta; daemonul gestionează tunelul, iar un întrerupător de urgență care trebuie să funcționeze de la boot are nevoie ca daemonul să ruleze de la boot.
- Autentifică-te în client — din aplicație sau din linia de comandă, folosind tokenul oferit de zona contului — și dă dispozitivului un nume care nu te identifică.
- Nu te conecta încă. Deschide mai întâi setările. Două dintre cele trei sunt dezactivate implicit în majoritatea clienților.
Cele trei setări care merită verificate
Meniurile clientului diferă, dar setările nu. Pentru fiecare dintre cele trei există o intrare în glosar dacă denumirea nu îți este familiară.
Întrerupătorul de urgență
Blochează tot traficul dacă tunelul cade, în loc să permită în liniște revenirea conexiunii la rețeaua obișnuită. Pe Linux, este un set de reguli de firewall scrise de client: este eliminat tot ce nu ține de interfața tunelului și de propriul punct final al tunelului. Activează-l și alege forma permanentă sau lockdown, dacă este oferită de client, astfel încât regulile să fie valabile de la boot, nu doar în timpul conexiunii. Scopul întrerupătorului este explicat pe pagina sa proprie.
DNS în tunel
Căutările de nume pot părăsi dispozitivul în afara tunelului chiar și atunci când tot restul se află în interiorul lui, iar pe Linux aceasta este scurgerea care apare cel mai des, deoarece resolverul este o componentă mobilă. Pe Ubuntu, acea componentă este systemd-resolved: fiecare interfață are propriile rezolvere, iar cea cu ruta implicită pentru DNS răspunde la tot ce nu este asociat unui domeniu mai specific. Clientul ar trebui să direcționeze ruta implicită către resolverul furnizorului prin interfața tunelului. Setează DNS-ul clientului la resolverul propriu al furnizorului, nu la unul terț; o a doua parte care vede doar căutările înseamnă încă o parte. Modul în care apare o scurgere este explicat pe pagina despre scurgerile DNS.
Protocolul
Lasă protocolul pe opțiunea modernă implicită, cu excepția cazului în care ceva nu funcționează — pagina despre protocoale indică ce protocoale sunt actuale și care sunt vechi. Dacă clientul oferă o opțiune mai veche pentru a remedia o problemă de conexiune, aceasta este o concesie pe care trebuie să o faci în cunoștință de cauză și apoi să o anulezi: registrul marchează cel mai slab protocol oferit încă de un furnizor, iar selectarea manuală a acestuia înseamnă să alegi pentru tine acel marcaj.
Confirmă că funcționează efectiv
Conectează-te, apoi verifică în loc să presupui. Trei verificări din terminal, în această ordine:
- Adresa ta s-a schimbat. Folosește
curlpentru orice serviciu de tipul „care este IP-ul meu” sau deschide unul în browser și confirmă că țara corespunde ieșirii alese.ip route getcătre o adresă publică ar trebui să indice interfața tunelului, nu interfața Wi-Fi sau Ethernet. - Căutările se desfășoară în tunel.
resolvectl status: interfața tunelului ar trebui să aibă resolverul furnizorului și ruta DNS implicită; resolverul interfeței fizice nu ar trebui utilizat. Un test de scurgere DNS în browser este o a doua opinie, iar orice rezultat care aparține furnizorului tău de internet înseamnă că setarea DNS nu a fost aplicată. - Întrerupătorul de urgență face ceea ce spune. Cu o descărcare în desfășurare, oprește serviciul clientului cu
systemctl stopsau dezactivează interfața tunelului cuip link set … down, astfel încât tunelul să cadă fără să îi ceri clientului acest lucru. Transferul ar trebui să se oprească imediat. Dacă continuă, întrerupătorul este doar decorativ.
Bateria mai lungă de teste și ce poate sau nu poate arăta fiecare se află în propriul ghid.
Ce dovedesc aceste verificări
+Traficul tău iese prin serverul de ieșire, în țara selectată
+Resolverul care răspunde la căutările tale este al furnizorului și se află în tunel
+Un tunel căzut eșuează în mod închis, în loc să revină în liniște la conexiunea obișnuită
Ce nu dovedesc
−Nu spun nimic despre ceea ce păstrează furnizorul — aceasta este o chestiune de documente, cu răspunsul pe paginile despre reținere
−Nu te fac anonim: browserul și autentificările tale rămân neschimbate; vezi de ce nu te protejează un VPN
−Un test trecut astăzi nu este o promisiune pentru următoarea actualizare a pachetului sau următorul kernel
Metoda fișierului de configurare și costul ei
Majoritatea furnizorilor publică fișiere de configurare pentru cele două protocoale comune în zona contului. Un fișier WireGuard se importă în NetworkManager din editorul conexiunii sau cu nmcli connection import și funcționează la fel de bine cu wg-quick; un fișier OpenVPN se importă în același mod, folosind pluginul OpenVPN. Primești tunelul, comutatorul propriu al sistemului pentru interfață și nimic din ceea ce furnizorul nu a pus în fișier.
Ce pierzi este restul clientului. Nu există întrerupător de urgență decât dacă scrii singur regulile de firewall; un fișier importat în NetworkManager care cade redirecționează pur și simplu traficul către rețeaua obișnuită. Nu există gestionare DNS în afara liniei DNS din fișier, iar un fișier fără aceasta este sursa scurgerii în primul răspuns de depanare. Nu există selector de server: fiecare fișier reprezintă o singură ieșire, iar schimbarea ieșirii înseamnă folosirea altui fișier. Generează fișierele din zona contului și păstrează-le private: un fișier WireGuard conține cheia privată care reprezintă identitatea ta pentru furnizor.
Metoda este potrivită pentru un server, o mașină fără interfață grafică sau o distribuție pe care clientul nu o acceptă. Pe un laptop, preferă clientul; întrerupătorul pe care îl aduce este tocmai lucrul pe care un fișier de configurare nu îl poate oferi.
Când nu funcționează
Tunelul este activ, dar DNS-ul merge în continuare la furnizorul meu de internet
Scurgerea clasică pe Linux. Un fișier de configurare care nu setează DNS lasă systemd-resolved să folosească resolverul oferit de rețea, în afara tunelului. Rulează resolvectl status: interfața tunelului ar trebui să afișeze resolverul furnizorului și să aibă ruta implicită pentru DNS, marcată cu un semn plus.
Adaugă o linie DNS în configurație sau setează DNS-ul pentru conexiune în NetworkManager și reconectează-te. Clientul propriu al furnizorului face singur acest lucru, acesta fiind unul dintre motivele pentru care este de preferat.
Totul încetează să funcționeze când cade tunelul și este enervant
Asta înseamnă că întrerupătorul de urgență își face treaba: un tunel căzut înseamnă o conexiune moartă, nu o revenire tăcută la rețeaua neprotejată. Reconectează-te în loc să dezactivezi întrerupătorul.
Dacă tunelul cade des pe o rețea și rar în altă parte, schimbă o dată protocolul și încearcă o ieșire mai apropiată. Dacă niciun protocol nu funcționează pe acea rețea, rețeaua blochează traficul VPN, iar acest ghid se oprește aici.
Clientul îmi cere sudo sau o parolă de fiecare dată
Crearea unei interfețe de rețea este o operațiune privilegiată, iar un client care nu instalează un serviciu în fundal trebuie să ceară acest lucru de fiecare dată. Majoritatea instalează unul — un daemon care rulează ca root și o aplicație desktop care comunică cu acesta — iar solicitarea repetată înseamnă că serviciul nu rulează sau nu este activat.
Verifică folosind systemctl status și numele serviciului din instrucțiunile furnizorului și activează-l pentru a porni la boot.
Pe pagina de test apar adrese IPv6
Tunelul transportă IPv4, iar dispozitivul are în continuare o rută IPv6 în afara lui, astfel încât tot ce preferă IPv6 ocolește VPN-ul. Furnizorii care nu transportă IPv6 ar trebui să îl dezactiveze pe interfață; clienții mai buni fac acest lucru.
Dacă ai creat conexiunea dintr-un fișier, dezactivează IPv6 pentru conexiune în NetworkManager sau folosește sysctl pentru a-l opri și testează din nou. Un tunel care lasă deschisă o a doua familie de adrese este doar pe jumătate un tunel.
Aceiași pași, alte mașini
Restul platformelor
Fiecare platformă are propriul ei ghid, nu o filă pe acesta. Pașii diverg imediat ce se deschide instalatorul, iar o pagină care răspunde pentru trei platforme deodată nu răspunde corect pentru niciuna.