Dva spúšťače otvárajú ten istý profil na jednom počítači a pripája sa len GUI. Súbor je v poriadku a inštalátor je pravdepodobne tiež; líši sa kontext, ktorý každý spúšťač dáva openvpn.exe. Pracovný adresár, identita účtu a atribúty súboru putujú spolu s týmto kontextom. Skontrolujte ich v tomto poradí a zastavte sa pri prvom, ktorý chybu vysvetlí.

Potvrďte, ktorý spúšťač zlyháva

Začnite dôkazom rozdelenia. Ak sa GUI pripojí a služba nie, s tou istou cestou k profilu, súbor je pre niekoho čitateľný a otázkou sa stáva, kto ho číta a odkiaľ. Ak zlyhajú oba, profil je poškodený a nič z toho neplatí. Zapíšte názov služby a presný profil, ktorý mala načítať.

Služba nasmerovaná do vlastného adresára automatického spustenia nemusí načítať súbor, ktorý máte otvorený v editore. Porovnajte cestu v konfigurácii služby s cestou v GUI, znak po znaku, pretože názov priečinka na konci alebo iné písmeno jednotky stačí na to, aby vás to poslalo do nesprávnej vetvy.

Kde sa riešia relatívne cesty

Profil, ktorý odkazuje na ca.crt alebo pomocný skript iba menom, žiada hľadanie relatívne k tomu, kde sa proces nachádza. GUI začína v konfiguračnom priečinku, takže tie mená sa vyriešia. Služba spustená správcom služieb taký východiskový bod nemá a hľadanie zlyhá skôr, než sa prečíta akýkoľvek certifikát. Preto ten istý profil funguje v jednom spúšťači a v druhom nie.

Dajte obalu adresár, v ktorom má začať, alebo urobte každý odkaz absolútnym. Reprodukcia kontextu GUI na príkazovom riadku vyzerá takto:

openvpn --cd "C:\VPN\profiles\office" --config "C:\VPN\profiles\office\office.ovpn"

Zvýšenie podrobnosti pri tomto príkaze ukáže presnú cestu, ktorá bola skúšaná. Urobte to pred zmenou oprávnení, pretože chýbajúci súbor a odmietnuté čítanie vyžadujú rôzne opravy. Predvolený protokol ich nerozlišuje. Jeden prepínač navyše ušetrí hodinu hádania.

Keď identita služby nemôže čítať

Služba beží ako systémová identita, nie ako vy. ACL, ktorý dáva vášmu používateľovi plnú kontrolu a nikomu inému, tam zlyháva, zatiaľ čo vo vašej relácii funguje dokonale. Profil uložený na mapovanej jednotke alebo na overenom zdieľaní zlyháva z rovnakého dôvodu. Potvrďte oprávnenia súboru, než sa pozriete na čokoľvek iné.

Kontrolou je čítanie efektívnych oprávnení plus čítanie skúšané ako identita služby. Spustite prvú časť zo zvýšeného príkazového riadku:

icacls "C:\VPN\profiles\office\office.ovpn"

Potom skúste to isté čítanie ako identita služby, napríklad s psexec -s -i zo Sysinternals, a sledujte, či sa súbor otvorí. Ak nie, žiadna oprava cesty nepomôže. Opravte ACL alebo presuňte profil na miesto, ktoré identita služby môže čítať.

Šifrovanie na úrovni súboru je druhý, zriedkavejší prípad. Profil označený atribútom Encrypting File System sa dešifruje priehľadne pre používateľa, ktorý ho zašifroval, a zostáva nečitateľný pre účet služby. Preto sa ten istý súbor otvorí vo vašom editore a nie pod službou.

Atribút je viditeľný zo zvýšeného príkazového riadku a jeho kontrola neotvorí profil. Spustite oba príkazy a prečítajte výstup:

cipher /s:"C:\VPN\profiles\office"
attrib "C:\VPN\profiles\office\office.ovpn"

Odstránenie atribútu urobí súbor čitateľným a tiež odstráni ochranu, ktorú niesol. Ak má profil zostať chránený, umiestnite tajný materiál tam, kde má identita služby výslovné povolenie, namiesto spoliehania sa na šifrovanie pre jednotlivých používateľov. Také usporiadanie prežije zmenu hesla a umožní prístup preskúmať niekomu inému než osobe, ktorá súbor zašifrovala.

Rozhodnutie, kto vlastní tunel

GUI môže požiadať o heslo a môže prečítať certifikát z vášho používateľského úložiska. Služba nemôže ani jedno, takže profil závislý od interaktívneho tajomstva sa nikdy nespustí bez dozoru, nech sa cesty opravia akokoľvek. Tento limit je rozhodnutie o návrhu, nie chyba, ktorú treba obchádzať. Vyberte jedného vlastníka, než zmeníte čokoľvek iné.

Ak tunel musí byť hore pred prihlásením, dajte službe zdroj prihlasovacích údajov bez dozoru a vlastnú kópiu profilu. Ak má existovať len vtedy, keď ste pri stole, nechajte ho v GUI a kópiu služby odstráňte. Oboje naraz je konfigurácia, ktorá vytvára konflikty adaptérov a duplicitné trasy.

Tento konflikt sa zvyčajne diagnostikuje ako chyba konfigurácie, nie ako dvaja vlastníci bojujúci o jeden adaptér. Protokol udalostí ukáže jeden proces, ktorý nedokáže otvoriť zariadenie TAP, čo vyzerá ako problém s oprávneniami, ale nie je. Najprv spočítajte vlastníkov.

Čo obal služby skutočne spúšťa

Vstupným bodom služby je malý obal, ktorý prečíta svoje uložené parametre a potom spustí openvpn.exe. Keď sa príkazový riadok v protokole udalostí nezhoduje s vaším očakávaním, práve tie hodnoty treba preskúmať. Preinštalovanie ich vráti na predvolené hodnoty a zničí dôkazy. Prečítajte ich najprv.

Hodnoty žijú v registri pod vlastným kľúčom služby a sc qc ukazuje cestu k binárnemu súboru, ktorý správca služieb spustí. Porovnajte túto cestu s uloženou konfiguráciou obalu, než upravíte ktorúkoľvek z nich.

Nahradiť obal skriptom, ktorý ovládate, je invazívnejšie, ale zloží efektívny príkazový riadok do jedného čitateľného súboru. Skončite reštartom a potom čítajte protokol pre jednotlivé profily, kým sa neobjaví prvý úspešný riadok spustenia. Stav služby beží znamená len to, že obal neskončil, čo platí aj vtedy, keď jeho potomok okamžite zomrel.

Súvisiace články