Tunnelid, mis ilmuvad alles pärast seda, kui keegi sisse logib, käivitatakse tavaliselt selle inimese sessioonist, mitte automaatteenusest. Tavaline süüdlane on käivituslink, mis käivitab openvpn-gui.exe, ja see ei ole katkine paigaldus. Link käivitab töölauarakenduse kasutajasessiooni sees, selle kasutaja profiili, tema sertifikaadisalvestite ja tema võimega vastata küsimusele. Miski sellest ei tee ühendust sõltumatuks sisseloginud inimesest, ja täpselt seda nõuab enne sisselogimist töötav tunnel.

Sümptomil on tavaliselt kolm põhjust

Kolm mustrit näevad väljast sarnased ja neil on erinevad parandused. Esimene on täitmise omanik, kes on teenuse asemel kasutajasessioon, mis on käivituslingi juhtum. Teine on profiil, mis asub seal, kuhu teenus ei vaata, nii et teenus käivitub, ei leia midagi ja väljub puhtalt. Kolmas on profiil, mille teenus leiab ja käivitab, kuid mille mandaadid vajavad suhtlust, mida ükski teenus ei saa pakkuda.

Et teha kindlaks, milline juhtum kehtib, on vaja kahte lugemist: mida on teenus seadistatud käivitama ja milliseid faile see näeb. Mõlemad on üks käsk, ja kumbki ei sega töötavat ühendust.

Mida automaatteenus tegelikult loeb

Community automaatteenus on ümbris, mis skaneerib oma seadistatud automaatkäivituse kataloogi, tavaliselt config-auto paigaldise all, ja käivitab OpenVPN-i protsessi iga leitud sobiva profiili jaoks. Kasutaja GUI-menüüs nähtav profiil asub hoopis selle kasutaja rändprofiili all, kataloogis, mida teenusekonto ei loe. Windowsi teenuse juhend kirjeldab seda avastamist ja tasub lugeda enne millegi kopeerimist, sest sihtkataloog on paigaldise omadus, mitte fikseeritud tava. Faili kopeerimine GUI kausta ei muuda teenuse jaoks seega midagi, ja selle kopeerimine igasse config-nimelisse kausta loob koopiaid, mitte parandust.

Get-Service OpenVPNService | Select-Object Status, StartType
Get-CimInstance Win32_Service | Where-Object Name -eq 'OpenVPNService' | Select-Object PathName, StartName
gci 'C:\Program Files\OpenVPN\config-auto'

Viimane käsk loetleb, mida ümbris tegelikult näeb, ja see on kiireim viis kinnitada, et profiil on vales kohas. Teine rida näitab ka kontot, mille all teenus töötab, ja see konto otsustab, millised failiteed ja sertifikaadisalvestid on üldse kättesaadavad.

Miks töölauasse sisselogimine töötab, aga käivitus mitte

Edu töölaual võib pikka aega varjata sõltuvust sisendist. GUI saab dialoogis koguda võtmefraasi, kontoparooli või teise faktori, sest see töötab interaktiivses sessioonis nähtava töölauaga. Teenus töötab sessioonis ilma töölauata, nii et sisenditaotlusel pole kusagil ilmuda, ja ühendus ebaõnnestub pärast ajalõppu, mis ei sarnane üldse mandaadiprobleemiga.

Failidele juurdepääs järgib sama reeglit. Kasutaja profiili alla salvestatud privaatvõti või sertifikaat kasutaja isiklikus salvestis ei ole kättesaadav masinana töötavale teenusele. Võrrelge absoluutseid teid, õigusi ja sertifikaadi valikut, mille kumbki pool teeb, selle asemel et eeldada, et sama profiilifail tähendab sama keskkonda.

Planeeritud ülesanne, mis on seatud töötama olenemata sellest, kas kasutaja on sisse logitud, pärib sarnase piirangu. See võib GUI käivitatava faili edukalt käivitada ja siiski luua protsessi, mis ei saa kunagi mandaate, nii et protsessi olemasolu tegumihalduris ei ole tõestus töötava tunneli kohta.

Valige üks omanik ja testige tegelikku elutsüklit

Sisseloginud inimesele kuuluva ühenduse jaoks kasutage GUI toetatud automaatset käivitust ja jätke teenus sellest välja. Tunneli jaoks, mis peab olemas olema enne, kui keegi sisse logib, seadistage teenus, asetage profiil sinna, kus ümbris seda loeb, ja kasutage toetatud järelevalveta mandaadimehhanismi, näiteks ilma interaktiivse fraasita võti või dokumenteeritud mandaadifail.

Get-Content 'C:\Program Files\OpenVPN\log\openvpn.log' -Tail 40
Get-WinEvent -LogName Application -MaxEvents 20 | Where-Object ProviderName -like '*OpenVPN*'

Testige elutsüklit, mis loeb: taaskäivitus, mille käigus keegi ei logi sisse, seejärel taasühendamine pärast võrgu muutust. Hoidke ühendusel üks omanik, sest kaks konkureerivat käivitusmehhanismi loovad tavaliselt kaks eksemplari, mis võitlevad samade marsruutide ja sama serverisessiooni pärast, mida on raskem diagnoosida kui kumbagi mehhanismi eraldi.

Seotud artiklid