Ühenduse katkestamise skript ebaõnnestub tavaliselt ühel põhjusel: see pöördub vale omaniku poole. Kogukonna OpenVPN GUI hallatav tunnel kuulub selle GUI sessioonile, Windowsi teenuse käivitatud tunnel kuulub teenusele ja OpenVPN Connect ei kuulu kummagile. Käige need kontrollid järjest läbi ja peatuge, kui omanik on ebaselge. Kill-käsu saatmine seetõttu, et omanik oli mitmetähenduslik, on täpselt see tee, kuidas ühe profiili lahtiühendamisest saab kogu saidi katkestus.

GUI hallatava ühenduse puhul on kasulik käsk sõnum GUI-le, mitte signaal openvpn.exe-le.

Esmalt tehke kindlaks omanik

Vaadake, milline programm tegelikult ühendatud olekut näitab, enne kui midagi kirjutate. Salve ikoon tähendab, et seda omab GUI sessioon. Teenuse kirje tähendab, et seda omab teenus. Eraldi rakenduse aken oma profiililoendiga ei tähenda kumbagi ja sellele kehtib oma versioonipõhine liides.

Kontrollige ka kontot ja töölaua sessiooni. Ajastatud ülesannet, mis jookseb teise kasutajana või mitteinteraktiivses sessioonis, ei tohiks pidada sisseloginud inimese nähtava GUI juhtijaks. See lahknevus annab käsu, mis lõpeb puhtalt ega muuda midagi, ja see on logist silumiseks kõige kulukam tõrke liik.

Seejärel saatke omaniku enda lahtiühendus

Kui GUI on paigaldatud näite teele ja olemas on profiil nimega office, on kogu käsk üks rida:

"C:\Program Files\OpenVPN\bin\openvpn-gui.exe" --command disconnect office

Asendage see oma tegeliku paigaldustee ja täpse konfiguratsiooni nimega, sealhulgas suur- ja väiketähed nii, nagu GUI neid näitab. Projekti käsudokumentatsioon loetleb toetatud GUI juhtelemendid ja see näide kuulub ainult OpenVPN GUI-le — see ei ole käsk iga rakenduse jaoks, mille nimes on OpenVPN.

Teenusele kuuluva tunneli puhul on õige juhtelement teenus, mitte GUI binaarfail. Enne millegi peatamist uurige paigaldatud teenust ja profiile, mida see haldab, sest peatamine võib korraga maha võtta mitu tunnelit ja te ei saa tulemust profiili kaupa.

Kontrollige, et midagi muud ei kuku

GUI dokumenteerib ka käsu disconnect_all, ja just selle ulatus on põhjus, miks see on vale tööriist skripti jaoks, mille eesmärk on peatada ainult office. Kui kiputakse seda lihtsuse huvides kasutama, küsige, mis veel selles masinas ühendatud on ja kuidas kasutaja seda märkab.

taskkill /F /IM openvpn.exe on kahel viisil halvem. See valib protsesse käivitatava faili nime järgi ja sunnib lõpetamise, seega ei väljenda see ei profiili nime ega omaniku tavalist lahtiühendusjärjestust. Selle korrektseks seiskamiseks nimetamine peidab mõlemad probleemid ühe väljumisoleku taha.

Ükskõik millise tee valite, kontrollige enne muudatust mõju ulatust: loetlege ühendatud profiilid, märkige, millised peavad alles jääma, ja kontrollige neid hiljem uuesti.

Kinnitage olekut, mitte väljumiskoodi

Pärast lahtiühenduse taotlemist lugege nimetatud ühenduse olekut selle omaniku kaudu, selle asemel et usaldada käsu tagastusväärtust. Kui järgmine samm vajab pärast lammutamist võrku, oodake seda olekumuutust selgesõnalise ajalõpuga, selle asemel et eeldada, et koristamine lõppes protsessi naasmisel. Lammutamisega võidu jooksev skript ebaõnnestub aeg-ajalt ja süü langeb VPN-ile.

Kui olek ei muutu kunagi, ei ole omanik tõenäoliselt see, kelle poole pöördusite. Kontrollige sessiooni ja kontot uuesti enne tugevama käsu juurde liikumist.

Mida logisse panna

Logige profiili nimi, omanik, kelle poole pöördusite, ja käivitamiskontekst ning tulenev olek. Ärge valage täielikku konfiguratsiooni ega identimisandmeid ülesande logisse ja ärge logige käsurida, kui see sisaldab teed saladusi sisaldava failini.

Veateade, mis nimetab profiili ja konteksti, on järgmisele inimesele probleemi taasesitamiseks piisav. Logi, mis märgib ainult üldise väljumiskoodi, saadab nad tagasi algusesse ja just seal algab oletamine uuesti.

Seotud artiklid