Šta se zapravo dešava kada pokrenete VPN na Linuxu
Pokretanje VPN-a na Linuxu stvara interfejs, instalira rute i mijenja resolver. Znanje koja usluga posjeduje svaki korak objašnjava većinu neuspjeha pri podešavanju.
Pritisnete poveži i na Linux mašini se mijenjaju tri stvari: pojavi se interfejs, instaliraju se rute i resolver počne odgovarati drugačije. Većina neuspjeha pri podešavanju dolazi od toga da se jedno od tih troje dogodi bez ostalih ili da se dva programa ne slažu oko toga ko ih posjeduje. Razumijevanje slijeda objašnjava neuspjeh brže od čitanja izlaza iz dnevnika klijenta.
Interfejs se pojavi prije nego što bilo šta radi
Klijent tunela otvara virtuelni interfejs i predaje mu pakete. TUN uređaj nosi IP pakete, što je ono što rutirani VPN traži; TAP uređaj nosi Ethernet okvire, što je ono što premosni dizajn traži. Kernel modul pruža uređaj, a klijent ga posjeduje dok god sesija traje.
Podizanje interfejsa nije isto što i rad tunela. Može postojati s adresom dok je partner nedostupan, i zato je lista interfejsa prva provjera, a ne posljednja. Uređaj koji se prijavljuje kao podignut opisuje pogled kernela na virtuelnu vezu, a ne spremnost partnera da odgovori.
Ostavite isporučeni način interfejsa na miru. Pretvaranje TUN profila u TAP ne pretvara rutirani server u premosni i obično daje vezu koja se uspostavi i ništa ne prosljeđuje.
Rute instalira onaj koji posjeduje tunel
Rute su druga promjena i njihovo vlasništvo je važnije od sadržaja. NetworkManager profil, systemd jedinica i ručno pokrenut klijent mogu svi instalirati rute, a kada dvoje to rade istovremeno, nastaje tabela koju kasnije niko ne može objasniti.
ip -br addr show ip route show ip -6 route show
Profil punog tunela zamjenjuje zadanu rutu; profil podijeljenog tunela dodaje konkretnije rute i ostavlja zadanu na miru. Oba su normalna, a drugo je razlog zašto je brisanje zadane rute loš prvi test na mašini kojom upravljate na daljinu. Uklanjanje je i najbrži način da izgubite sesiju koju koristite da popravite problem.
Čitajte tabelu umjesto da pretpostavljate. Konkretnija ruta ili pravilo politike može poslati saobraćaj u tunel dok zadana ruta i dalje pokazuje na fizički interfejs, što izgleda protivrječno dok ne pročitate cijelu tabelu. Ta kombinacija je normalna za podijeljeni tunel i zbunjuje svakoga ko očekuje da jedan red opiše dizajn. Tražite rutu koja odgovara vašem stvarnom odredištu, a ne onu koja odgovara dijagramu.
Resolver mijenja vlasnika
DNS je treća promjena i ona kojom se najvjerovatnije upravlja negdje gdje niste gledali. Na desktopu NetworkManager može slati postavke resolvera po vezi. Na sistemu koji koristi systemd-resolved postavke se primjenjuju po linku i /etc/resolv.conf može biti stub ili simbolička veza, a ne datoteka koju biste trebali uređivati.
resolvectl status readlink -f /etc/resolv.conf cat /etc/resolv.conf
Ako ručna izmjena datoteke resolvera nestane nakon ponovnog povezivanja, to je signal da pronađete komponentu koja je održava i umjesto toga promijenite profil. Uređivanje generisane datoteke je promjena koju će ponovno povezivanje izbrisati.
Privatna imena obično traže interni resolver i domene pretrage koje je operater dao. Zamjena javnim resolverom može pokvariti upravo onaj resurs zbog kojeg VPN postoji, a simptom izgleda kao neuspjeh rutiranja, a ne DNS-a. Testirajte ime i adresu odvojeno, jer jedno koje radi i drugo koje ne uspijeva tačno vam kaže gdje da gledate. To jedno poređenje štedi sat vremena otklanjanja problema s rutama.
Jedan upravljač po vezi
Format profila odlučuje koji program ga može koristiti. OpenVPN profil traži OpenVPN ili kompatibilan dodatak, a WireGuard konfiguracija ima svoj format s ključevima partnera i dozvoljenim prefiksima. Dijalog za uvoz ne prevodi jedno u drugo, šta god produžetak datoteke sugerisao.
Izaberite jedan upravljač i pustite ga da posjeduje vezu. Podizanje istog tunela kroz dva alata čini tabelu ruta i ponašanje pri ponovnom povezivanju nejasnim, a drugi koji počne obično pobjeđuje na načine koje je teško reproducirati.
Instalirajte pakete koje vaša distribucija podržava i pribavite profil od operatera. Tretirajte ga kao akreditive, jer obično sadrži privatni ključ ili ekvivalentan materijal, i čuvajte ga tamo gdje žive ostale vaše tajne. Profil ostavljen u fascikli za preuzimanja je ključ ostavljen na stolu.
Šta provjeriti kada je podignuto ali ne radi
S podignutim interfejsom i klijentom koji prijavljuje uspjeh, radite prema van: da li tabela ruta bira tunel za odredište, da li resolver odgovara za privatno ime i da li druga strana ima povratni put. Svako ima zasebnu komandu i zasebnog vlasnika.
nmcli connection show --active nmcli device status wg show
nmcli referenca dokumentuje komande statusa i veze ako vam treba cijeli skup. Ovdje je važna razlika između aktivnog profila i uređaja koji nosi saobraćaj, jer se njih dvoje mogu razilaziti.
Ponovo se povežite jednom kroz isti upravljač prije nego što podešavanje nazovete završenim, i provjerite da DNS još radi nakon prekida veze. Konfiguracija koja radi samo do prve promjene mreže nije završena, ona samo trenutno radi.