OpenVPN engine alebo Tunnelblick: komu patrí VPN relácia na Macu?
Terminál nie je deliaca čiara. Rozhodnite, komu patrí relácia: enginu, ktorý spustíte, alebo správcovi, ktorý sa stará o DNS, prihlasovacie údaje a upratovanie.
Homebrew inštaluje program OpenVPN; Tunnelblick inštaluje správcu, ktorý spúšťa jeden alebo viac enginov. To sú rôzne vrstvy a užitočná otázka nie je, či radi používate terminál. Je to, komu patrí konfigurácia, zmeny DNS, výzva na zadanie prihlasovacích údajov a upratovanie po skončení relácie. Jediný vlastník týchto vrstiev robí nastavenie predvídateľným.
Prejdite nižšie uvedených päť kontrol v poradí. Prvá, ktorá má dvoch vlastníkov, je tá, ktorá vytvára zvláštne polopripojené stavy, ktoré ľudia zvaľujú na samotný OpenVPN. Každá kontrola pomenuje dôkaz, ktorý ju rozhodne.
Kontrola prvá: ktorý binárny súbor OpenVPN skutočne beží
Spustite pgrep -fl openvpn, kým ste pripojení, a prečítajte si celý príkazový riadok. Prvá cesta je engine, ktorý skutočne beží. Na Apple Silicon zvyčajne inštalácia Homebrew sídli v /opt/homebrew, kým Macy Intel používajú /usr/local, a Tunnelblick spúšťa engine z vlastného balíka aplikácie.
Tunnelblick obsahuje enginy a umožňuje konfigurácii vybrať jeden z nich. Aktualizácia formule Homebrew mení samostatný binárny súbor, nie engine, ktorý spúšťa profil Tunnelblick. Ak porovnávate verzie, aby ste vysvetlili rozdiel v správaní, porovnávajte engine v zozname procesov, nie ten v správcovi balíkov. Samotný reťazec verzie vám nepovie, ktorý profil tento engine načítal.
Kopírovaný profil môže tiež spôsobiť, že dva enginy vyzerajú rovnako, hoci čítajú rôzne súbory. Cesta k profilu v príkazovom riadku hovorí, ktorú konfiguráciu bežiaci proces načítal; profil otvorený v editore nie je dôkaz. Porovnajte túto cestu skôr, než porovnáte správanie.
Kontrola druhá: kto mení DNS a trasy
Engine môže spúšťať vlastné direktívy up a down OpenVPN, ale správca môže vlastniť rovnaký životný cyklus. Nastavenia názvového servera v Tunnelblicku riadia jeho štandardné skripty pripojenia a odpojenia, a keď je táto integrácia zapnutá, konkurenčné direktívy v profile môžu byť ignorované.
To je dôležité, pretože DNS je miesto, kde funkčný tunel najčastejšie vyzerá pokazený. Skontrolujte scutil --dns, kým ste pripojení, všimnite si, ktorý resolver je prvý, a potvrďte, že sa po odpojení vráti. Ak profil očakáva, že DNS nastaví sám, zatiaľ čo ho spravuje aj správca, jeden z tých dvoch prehrá.
Rozhodnite, ktorá vrstva vlastní DNS ešte pred prvým pripojením, a potom odstráňte prehrávajúcu direktívu namiesto toho, aby ste nechali obe. Zmeny trás sa riadia rovnakým pravidlom: jeden vlastník, viditeľný v konfigurácii, so zdokumentovanou cestou obnovy.
Kontrola tretia: odkiaľ prichádzajú prihlasovacie údaje
Interaktívna výzva a proces bez dozoru majú rôzne požiadavky. Prihlasovací údaj uložený jednou aplikáciou nie je automaticky dostupný inému procesu a položka kľúčenky viazaná na správcu môže byť neviditeľná pre samostatný engine spustený z shellu.
Vymenujte zdroj prihlasovacích údajov pre profil: klientsky certifikát a kľúč, výzvu na používateľské meno a heslo alebo token poskytnutý externým pomocníkom. Potom potvrďte, že zvolený vlastník sa k tomuto zdroju dostane bez človeka, ak má spojenie prežiť reštart.
Kontrola štvrtá: kto proces spúšťa, dohliada naň a zastavuje ho
Samostatné nasadenie potrebuje dohliadača, ak má zostať bežať. Launchd môže engine spustiť pri prihlásení alebo na vyžiadanie, reštartovať ho po páde a čisto ho zastaviť, ale niekto musí tú úlohu napísať a vlastniť ju. Spustenie príkazu v termináli funguje na test a nie pre používateľa, ktorý zavrie okno.
Ak Tunnelblick zostane vlastníkom, použite jeho podporované ovládacie prvky namiesto spustenia druhého enginu. Binárny súbor Homebrew s kopírovaným profilom otvorí nezávislé spojenie s vlastnou konfiguráciou a integračným kontextom namiesto toho, aby riadil existujúcu reláciu Tunnelblick.
Nech už zvolíte akéhokoľvek vlastníka, definujte, čo sa stane pri spánku, zmene siete a odhlásení. Správca zvyčajne tieto udalosti spracúva; holý proces zvyčajne nie, a výsledná zastaraná trasa alebo resolver sa ľahko prečíta ako porucha servera.
Kontrola piata: ako sa predanie overuje
Otestujte nového vlastníka s vypnutým starým a potom znova otestujte starého, ak ho plánujete ponechať. Súkromný zdroj, ktorý odpovedá v jednom postupe a v druhom nie, je dôkazom o chýbajúcej integrácii, nie o serveri.
Pre predanie samostatnému enginu zaznamenajte cestu k profilu, cestu k binárnemu súboru, dohliadača, vlastníka DNS a zdroj prihlasovacích údajov. Potom v tomto poradí overte súkromný zdroj, cestu do verejného internetu a čisté odpojenie. Ak DNS alebo trasy po odpojení zostanú, nový vlastník nie je hotový.
Pre predanie Tunnelblicku vyberte engine pre konfiguráciu, zapnite zamýšľanú integráciu DNS a odstráňte direktívy profilu, ktoré jej odporujú. Potom zopakujte tie isté tri kontroly. Spojenie, ktoré funguje, ale nechá resolver zmenený, je neúspešné predanie, aj keď sa tunel zdvihol.
Zabalenie nerieši kompatibilitu so serverom. Skontrolujte vlastné požiadavky služby na klienta a zvoľte samotný engine len vtedy, keď hodláte zabezpečiť jeho správu.