გათიშეთ ერთი OpenVPN GUI პროფილი და არა ყველა გვირაბი
GUI-ით მართული გვირაბი GUI ბრძანებას მოითხოვს, სერვისით მართული გვირაბი — სერვისის კონტროლს. სანამ რამეს დაასკრიპტებთ, დაადგინეთ, რომელი პროგრამა ფლობს პროფილს.
გათიშვის სკრიპტი ჩვეულებრივ ერთი მიზეზით ვარდება: ის არასწორ მფლობელს მიმართავს. OpenVPN-ის GUI-ით მართული გვირაბი ამ GUI-ის სესიას ეკუთვნის, Windows სერვისის მიერ გაშვებული გვირაბი სერვისს ეკუთვნის, ხოლო OpenVPN Connect არც ერთს არ ეკუთვნის. გაიარეთ ეს შემოწმებები თანმიმდევრობით და გაჩერდით, როცა მფლობელი გაურკვეველია. kill ბრძანების გაგზავნა იმიტომ, რომ მფლობელი ორაზროვანი იყო, სწორედ ის გზაა, რომლითაც ერთი პროფილის გათიშვა მთელი ობიექტის შეწყვეტად იქცევა.
GUI-ით მართული კავშირისთვის სასარგებლო ბრძანებაა შეტყობინება GUI-სთვის და არა სიგნალი openvpn.exe-ისთვის.
ჯერ დაადგინეთ მფლობელი
სანამ რამეს დაწერთ, შეხედეთ რომელი პროგრამა აჩვენებს რეალურად დაკავშირებულ მდგომარეობას. სისტემურ უჯრაში არსებული ხატულა ნიშნავს, რომ მას 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-ს დაეკისრება.
თუ მდგომარეობა არასოდეს იცვლება, მფლობელი ალბათ არ არის ის, ვისაც მიმართეთ. ხელახლა შეამოწმეთ სესია და ანგარიში, სანამ უფრო ძლიერ ბრძანებაზე გადახვალთ.
რა ჩავწეროთ ჟურნალში
ჩაწერეთ პროფილის სახელი, მიმართული მფლობელი და გაშვების კონტექსტი, ასევე მიღებული მდგომარეობა. ნუ ჩამოაქცევთ სრულ კონფიგურაციას ან სანდოობის მონაცემებს ამოცანის ჟურნალში და ნუ ჩაწერთ ბრძანების ხაზს, თუ ის შეიცავს საიდუმლოებების მქონე ფაილის გზას.
შეცდომის შეტყობინება, რომელიც ასახელებს პროფილს და კონტექსტს, საკმარისია იმისთვის, რომ შემდეგმა ადამიანმა პრობლემა გაამრავლოს. ჟურნალი, რომელიც მხოლოდ ზოგად გასვლის კოდს იწერს, მათ თავში აბრუნებს, და სწორედ იქ იწყება გამოცნობა ხელახლა.