Një skript shkëputjeje zakonisht dështon për një arsye: i drejtohet pronarit të gabuar. Një tunel i menaxhuar nga OpenVPN GUI i komunitetit i përket sesionit të atij GUI, një tunel i nisur nga një shërbim Windows i përket shërbimit, dhe OpenVPN Connect nuk i përket asnjërit. Kaloni nëpër këto kontrolle me radhë dhe ndaloni kur pronari nuk është i qartë. Dërgimi i një komande kill sepse pronari ishte i paqartë është pikërisht mënyra se si shkëputja e një profili kthehet në një ndërprerje të gjithë vendit.

Për një lidhje të menaxhuar nga GUI, komanda e dobishme është një mesazh drejtuar GUI, jo një sinjal drejtuar openvpn.exe.

Së pari, identifikoni pronarin

Shikoni cili program tregon vërtet gjendjen e lidhur përpara se të shkruani gjithçka. Një ikonë në zonën e njoftimeve do të thotë që e zotëron sesioni i GUI. Një zë shërbimi do të thotë që e zotëron shërbimi. Një dritare aplikacioni më vete me listën e vet të profileve nuk do të thotë asnjërën, dhe zbatohet ndërfaqja e saj specifike për versionin.

Kontrolloni edhe llogarinë dhe sesionin e desktopit. Një detyrë e planifikuar që ekzekutohet si një përdorues tjetër, ose në një sesion jo-interaktiv, nuk duhet të supozohet se kontrollon GUI që sheh një person i identifikuar. Kjo mospërputhje prodhon një komandë që përfundon pastër dhe nuk ndryshon asgjë, dhe ky është lloji më i kushtueshëm i dështimit për t'u gjurmuar nga një regjistër.

Pastaj dërgoni shkëputjen e vetë pronarit

Nëse GUI është i instaluar në shtegun e shembullit dhe ekziston një profil me emrin office, e gjithë komanda është një rresht:

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

Zëvendësoni atë me shtegun tuaj të vërtetë të instalimit dhe emrin e saktë të konfigurimit, përfshirë shkronjat e mëdha e të vogla siç i shfaq GUI. Dokumentacioni i komandave të projektit liston kontrollet e GUI të mbështetura, dhe ky shembull i përket vetëm OpenVPN GUI — nuk është komandë për çdo aplikacion që ka OpenVPN në emër.

Për një tunel në pronësi të një shërbimi, kontrolli i saktë është shërbimi, jo binari i GUI. Shqyrtoni shërbimin e instaluar dhe profilet që ai menaxhon përpara se të ndaloni gjithçka, sepse një ndalim mund të rrëzojë disa tunele njëherësh dhe nuk do të merrni rezultat për çdo profil.

Sigurohuni që asgjë tjetër nuk bie

GUI dokumenton gjithashtu një komandë disconnect_all, dhe shtrirja e saj është pikërisht arsyeja pse është mjeti i gabuar për një skript që duhet të ndalojë vetëm office. Nëse ju tundon ta përdorni për thjeshtësi, pyesni çfarë tjetër është e lidhur në atë makinë dhe si do ta vërë re përdoruesi.

taskkill /F /IM openvpn.exe është më keq në dy mënyra. Zgjedh proceset sipas emrit të skedarit të ekzekutueshëm dhe imponon përfundimin, pra nuk shpreh as emrin e profilit as sekuencën normale të shkëputjes së pronarit. Ta quash këtë mbyllje e rregullt i fsheh të dyja problemet pas një statusi të vetëm daljeje.

Çfarëdo rruge që zgjidhni, verifikoni shtrirjen e ndikimit përpara ndryshimit: listoni profilet e lidhura, shënoni cilat duhet të mbijetojnë dhe kontrollojini përsëri më pas.

Konfirmoni gjendjen, jo kodin e daljes

Pasi të kërkoni shkëputjen, lexoni gjendjen e lidhjes së emërtuar përmes pronarit të saj në vend që t'i besoni vlerës së kthyer të komandës. Nëse hapi tjetër ka nevojë për rrjetin pas çmontimit, prisni atë ndryshim gjendjeje me një afat kohor të qartë në vend që të supozoni se pastrimi përfundoi kur procesi u kthye. Një skript që garon me çmontimin do të dështojë herë pas here dhe fajin do ta marrë VPN.

Nëse gjendja nuk ndryshon kurrë, pronari me gjasë nuk është ai të cilit iu drejtuat. Kontrolloni përsëri sesionin dhe llogarinë përpara se të kaloni në një komandë më të fortë.

Çfarë të vendosni në regjistër

Regjistroni emrin e profilit, pronarin të cilit iu drejtuat dhe kontekstin e nisjes, si dhe gjendjen që rezultoi. Mos e derdhni konfigurimin e plotë ose kredencialet në regjistrin e detyrës dhe mos e regjistroni rreshtin e komandës nëse përmban një shteg drejt një skedari me sekrete.

Një mesazh gabimi që emërton profilin dhe kontekstin mjafton që personi tjetër ta riprodhojë problemin. Një regjistër që shënon vetëm një kod daljeje të përgjithshëm i kthen ata në fillim, dhe pikërisht aty hamendja rifillon.

Artikuj të ngjashëm