એક OpenVPN GUI પ્રોફાઇલ ડિસ્કનેક્ટ કરો, બધા ટનલ નહીં
GUI દ્વારા સંચાલિત ટનલને GUI આદેશની જરૂર પડે છે, અને સેવા દ્વારા સંચાલિત ટનલને સેવા નિયંત્રણની. કંઈપણ સ્ક્રિપ્ટ કરતા પહેલાં નક્કી કરો કે પ્રોફાઇલ કયા પ્રોગ્રામની છે.
ડિસ્કનેક્ટ સ્ક્રિપ્ટ સામાન્ય રીતે એક કારણસર નિષ્ફળ જાય છે: તે ખોટા માલિકને સંબોધે છે. સમુદાયના OpenVPN GUI દ્વારા સંચાલિત ટનલ તે GUI સત્રની છે, Windows સેવા દ્વારા શરૂ કરાયેલી ટનલ સેવાની છે, અને OpenVPN Connect બંનેમાંથી કોઈની નથી. આ તપાસો ક્રમમાં કરો અને જ્યારે માલિક અસ્પષ્ટ હોય ત્યારે થોભો. માલિક અસ્પષ્ટ હતો તેથી kill આદેશ મોકલવો એ જ રીતે એક પ્રોફાઇલનું ડિસ્કનેક્શન આખી સાઇટના વિક્ષેપમાં ફેરવાય છે.
GUI-સંચાલિત કનેક્શન માટે, ઉપયોગી આદેશ openvpn.exe ને સિગ્નલ નહીં, પણ GUI ને મોકલેલો સંદેશ છે.
પહેલા માલિક ઓળખો
કંઈપણ લખતા પહેલાં જુઓ કે કયો પ્રોગ્રામ ખરેખર કનેક્ટેડ સ્થિતિ બતાવે છે. ટ્રે આઇકનનો અર્થ છે કે GUI સત્ર તેનું માલિક છે. સેવા એન્ટ્રીનો અર્થ છે કે સેવા તેની માલિક છે. પોતાની પ્રોફાઇલ યાદી સાથેની અલગ એપ્લિકેશન વિન્ડોનો અર્થ બંનેમાંથી કોઈ નહીં, અને તેના પર તેનું પોતાનું આવૃત્તિ-વિશિષ્ટ ઇન્ટરફેસ લાગુ પડે છે.
એકાઉન્ટ અને ડેસ્કટોપ સત્ર પણ તપાસો. બીજા વપરાશકર્તા તરીકે અથવા બિન-ઇન્ટરેક્ટિવ સત્રમાં ચાલતા શેડ્યુલ કરેલા કાર્યને લોગિન થયેલી વ્યક્તિ જે GUI જુએ છે તેના નિયંત્રક માનવું ન જોઈએ. આ વિસંગતિ એવો આદેશ આપે છે જે સ્વચ્છ રીતે પૂરો થાય છે અને કંઈ બદલતો નથી, અને લોગમાંથી ડિબગ કરવા માટે આ સૌથી ખર્ચાળ નિષ્ફળતા છે.
પછી માલિકનું પોતાનું ડિસ્કનેક્શન મોકલો
જો GUI ઉદાહરણના પાથ પર ઇન્સ્ટોલ થયેલું હોય અને office નામની પ્રોફાઇલ હોય, તો આખો આદેશ એક લીટી છે:
"C:\Program Files\OpenVPN\bin\openvpn-gui.exe" --command disconnect officeતમારા વાસ્તવિક ઇન્સ્ટોલેશન પાથ અને GUI જે રીતે બતાવે છે તે મુજબના ચોક્કસ કન્ફિગરેશન નામ સાથે બદલો, મોટા-નાના અક્ષરો સહિત. પ્રોજેક્ટના આદેશ દસ્તાવેજીકરણ સમર્થિત GUI નિયંત્રણોની યાદી આપે છે, અને આ ઉદાહરણ ફક્ત OpenVPN GUI નું છે — નામમાં OpenVPN ધરાવતી દરેક એપ્લિકેશન માટેનો આદેશ નથી.
સેવા-માલિકીની ટનલ માટે, સાચું નિયંત્રણ સેવા છે, GUI બાઇનરી નહીં. કંઈપણ બંધ કરતા પહેલાં ઇન્સ્ટોલ થયેલી સેવા અને તે જે પ્રોફાઇલોનું સંચાલન કરે છે તે તપાસો, કારણ કે એક સ્ટોપ એકસાથે ઘણી ટનલ પાડી શકે છે અને તમને પ્રોફાઇલ દીઠ પરિણામ મળશે નહીં.
ખાતરી કરો કે બીજું કંઈ પડતું નથી
GUI disconnect_all આદેશનું પણ દસ્તાવેજીકરણ કરે છે, અને તેનો વ્યાપ જ એ કારણ છે કે ફક્ત office બંધ કરવાના સ્ક્રિપ્ટ માટે તે ખોટું સાધન છે. જો સરળતા માટે તેનો ઉપયોગ કરવાની લાલચ થાય, તો પૂછો કે તે મશીન પર બીજું શું કનેક્ટેડ છે અને વપરાશકર્તા તેને કેવી રીતે જોશે.
taskkill /F /IM openvpn.exe બે રીતે ખરાબ છે. તે એક્ઝિક્યુટેબલ નામ દ્વારા પ્રોસેસ પસંદ કરે છે અને જબરદસ્તી સમાપ્તિ લાદે છે, તેથી તે ન તો પ્રોફાઇલ નામ વ્યક્ત કરે છે કે ન તો માલિકનો સામાન્ય ડિસ્કનેક્શન ક્રમ. તેને સુઘડ શટડાઉન કહેવું એ બંને સમસ્યાઓને એક જ એક્ઝિટ સ્થિતિ પાછળ છુપાવે છે.
તમે કોઈપણ માર્ગ લો, ફેરફાર પહેલાં અસરનો વ્યાપ ચકાસો: કનેક્ટેડ પ્રોફાઇલોની યાદી બનાવો, કઈ બચવી જોઈએ તે નોંધો અને પછી ફરી તપાસો.
એક્ઝિટ કોડ નહીં, સ્થિતિની પુષ્ટિ કરો
ડિસ્કનેક્શનની વિનંતી પછી, આદેશના રિટર્ન મૂલ્ય પર ભરોસો કરવાને બદલે માલિક દ્વારા નામાંકિત કનેક્શનની સ્થિતિ વાંચો. જો આગલા પગલાને ટિયરડાઉન પછી નેટવર્કની જરૂર હોય, તો પ્રોસેસ પાછી આવી ત્યારે સફાઈ પૂરી થઈ ગઈ હોવાનું ધારવાને બદલે સ્પષ્ટ ટાઇમઆઉટ સાથે તે સ્થિતિ પરિવર્તનની રાહ જુઓ. ટિયરડાઉન સાથે દોડતી સ્ક્રિપ્ટ વારંવાર નિષ્ફળ જશે અને દોષ VPN પર મૂકવામાં આવશે.
જો સ્થિતિ ક્યારેય બદલાતી નથી, તો માલિક સંભવતઃ તમે સંબોધ્યો તે નથી. વધુ મજબૂત આદેશ તરફ વધતા પહેલાં સત્ર અને એકાઉન્ટ ફરી તપાસો.
લોગમાં શું મૂકવું
પ્રોફાઇલ નામ, તમે સંબોધેલો માલિક અને લોન્ચ સંદર્ભ, તેમજ પરિણામી સ્થિતિ નોંધો. સંપૂર્ણ કન્ફિગરેશન કે ક્રેડેન્શિયલ ટાસ્ક લોગમાં ઠાલવો નહીં, અને જો કમાન્ડ લાઇનમાં રહસ્યો ધરાવતી ફાઇલનો પાથ હોય તો તેને લોગ કરો નહીં.
પ્રોફાઇલ અને સંદર્ભનું નામ આપતો ભૂલ સંદેશ આગલી વ્યક્તિ માટે સમસ્યાનું પુનરુત્પાદન કરવા પૂરતો છે. જે લોગ ફક્ત સામાન્ય એક્ઝિટ કોડ નોંધે છે તે તેમને શરૂઆતમાં પાછા મોકલે છે, અને ત્યાં જ અનુમાન ફરી શરૂ થાય છે.