Eit fråkoplingsskript feilar vanlegvis av éin grunn: det vender seg til feil eigar. Ein tunnel som blir styrt av OpenVPN-GUI-et til fellesskapet, høyrer til den GUI-økta, ein tunnel som ein Windows-teneste startar, høyrer til tenesta, og OpenVPN Connect høyrer til ingen av dei. Gå gjennom desse kontrollane i rekkjefølgje og stopp når eigaren er uklar. Å senda ein kill-kommando fordi eigaren var tvitydig, er nettopp måten fråkoplinga av éin profil blir eit avbrot for heile staden.

For ei GUI-styrt tilkopling er den nyttige kommandoen ein melding til GUI-et, ikkje eit signal til openvpn.exe.

Finn først eigaren

Sjå kva program som faktisk viser den tilkopla tilstanden før du skriv noko. Eit ikon i systemkurven tyder på at GUI-økta eig han. Ein tenestepost tyder på at tenesta eig han. Eit eige programvindauge med si eiga profilliste tyder på ingen av dei, og det eige versjonsspesifikke grensesnittet gjeld.

Kontroller òg kontoen og skrivebordsøkta. Ein planlagd oppgåve som køyrer som ein annan brukar, eller i ei ikkje-interaktiv økt, bør ein ikkje gå ut frå at styrer det GUI-et ein innlogga person ser. Denne skilnaden gir ein kommando som blir avslutta reint og ikkje endrar noko, og det er den dyraste typen feil å greia ut frå ein logg.

Send deretter den eigne fråkoplinga til eigaren

Når GUI-et er installert på stien frå dømet og det finst ein profil som heiter office, er heile kommandoen éi linje:

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

Byt ut med din faktiske installasjonssti og det nøyaktige konfigurasjonsnamnet, inkludert store og små bokstavar slik GUI-et viser dei. Kommandodokumentasjonen til prosjektet listar dei støtta GUI-kontrollane, og dette dømet høyrer berre til OpenVPN GUI — det er ikkje ein kommando for kvart program med OpenVPN i namnet.

For ein tenesteeigd tunnel er rett kontroll tenesta, ikkje GUI-binæren. Undersøk den installerte tenesta og profila ho styrer før du stoppar noko, fordi ein stopp kan ta ned fleire tunnelar samstundes, og du får ikkje eit resultat per profil tilbake.

Kontroller at ingenting anna fell

GUI-et dokumenterer òg kommandoen disconnect_all, og rekkevidda hans er nettopp grunnen til at han er feil reiskap for eit skript som berre skal stoppa office. Viss du blir freista til å bruka han for enkelheits skuld, spør kva anna som er tilkopla på den maskina og korleis brukaren vil merka det.

taskkill /F /IM openvpn.exe er verre på to måtar. Han vel prosessar etter namnet på køyrbar fil, og han tvingar fram avslutting, så han uttrykkjer korkje eit profilnamn eller den normale fråkoplingsrekkjefølgja til eigaren. Å kalla det ei pen avslutting gøymer båe problema bak éin einaste utgangsstatus.

Kva veg du enn vel, kontroller omfanget av påverknaden før endringa: list opp dei tilkopla profila, noter kva som skal overleva, og kontroller dei igjen etterpå.

Stadfest tilstanden, ikkje utgangskoden

Etter å ha bede om fråkoplinga, les tilstanden til den namngjetne tilkoplinga gjennom eigaren i staden for å stola på returverdien til kommandoen. Viss neste steg treng nettet etter nedrivinga, vent på den tilstandsendringa med ein eksplisitt tidsfrist i staden for å gå ut frå at oppryddinga var ferdig då prosessen kom attende. Eit skript som spring om kapp med nedrivinga, vil feila av og til, og VPN-et får skulda.

Viss tilstanden aldri endrar seg, er eigaren truleg ikkje den du vende deg til. Kontroller økta og kontoen på nytt før du eskalerer til ein sterkare kommando.

Kva du bør leggja i loggen

Logg profilnamnet, eigaren du vende deg til og oppstartskonteksten, i tillegg til den resulterande tilstanden. Ikkje tøm heile konfigurasjonen eller påloggingsinformasjon i oppgåveloggen, og ikkje logg kommandolinja viss ho inneheld ein sti til ei fil med løyndomar.

Ei feilmelding som namngjev profilen og konteksten er nok for at neste person kan gjenskapa problemet. Ein logg som berre registrerer ein generisk utgangskode, sender dei attende til starten, og det er nettopp der gjettinga byrjar på nytt.

Relaterte artiklar