შეაჩერეთ სწორი OpenVPN კავშირი: წინა პლანი, systemd თუ NM
ბრძანება, რომელიც გვირაბს წყვეტს, დამოკიდებულია იმაზე, თუ ვინ დაიწყო იგი. სიგნალის გაგზავნამდე შეადარეთ წინა პლანის, systemd-ის, NetworkManager-ისა და OpenVPN 3-ის მფლობელები.
ტერმინალის ფანჯრის დახურვა არ არის იგივე, რაც გვირაბის დახურვა, და პროცესის მოკვლა არ არის იგივე, რაც სერვისის შეჩერება. Linux-ზე ბრძანება, რომელიც რეალურად წყვეტს კავშირს, დამოკიდებულია იმაზე, რომელმა კომპონენტმა დაიწყო კავშირი და ამიტომ ფლობს მის სასიცოცხლო ციკლს. ქვემოთ მოცემული შედარება მოიცავს ოთხ განლაგებას, რომლებსაც ყველაზე ხშირად შეხვდებით, და თითოეულისთვის საჭირო იდენტიფიკატორს.
წინა პლანის და დემონიზებული კლიენტები
ტერმინალში ხელით გაშვებული კლიენტი ეკუთვნის ამ ტერმინალს. Ctrl+C გადასცემს შეწყვეტას, კლიენტი არღვევს თავის ინტერფეისს და გვირაბი მთავრდება. სხვა არაფრის შეტყობინება არ არის საჭირო.
ჭურვის გარსის მეშვეობით გაშვებული და ფონზე დატოვებული კლიენტი არავის ეკუთვნის კონკრეტულად, და სწორედ ამ შემთხვევაში მიმართავენ ადამიანები killall-ს. ჯერ იპოვეთ პროცესი, დაადასტურეთ, რომ მისი ბრძანების სტრიქონი ახსენებს სასურველ პროფილს, შემდეგ კი გაგზავნეთ ჩვეულებრივი შეჩერების სიგნალი. ზედამხედველის ქვეშ მოკლული ზედამხედველობადი პროცესი უბრალოდ ხელახლა გაეშვება, ამიტომ მფლობელის იდენტიფიცირება უფრო მნიშვნელოვანია, ვიდრე სიგნალის არჩევა. პროცესების ჯგუფს სიგნალი გაუგზავნეთ მხოლოდ მაშინ, როცა დაადასტურეთ, რომ არცერთი სხვა გვირაბი არ იზიარებს მას.
SIGUSR1 არ არის გათიშვა; ის კლიენტს სთხოვს გვირაბის ხელახლა გაშვებას.
systemd-ის ინსტანსები
როცა unit ფლობს კავშირს, unit არის შესაჩერებელი ობიექტი. შაბლონური ინსტანსები, როგორც openvpn-client@office, ატარებენ პროფილის სახელს, და შაბლონის სამიზნის შეჩერებამ ინსტანსის ნაცვლად შეიძლება გავლენა მოახდინოს ჰოსტის ყველა კლიენტზე.
systemctl list-units 'openvpn-client@*'
systemctl stop [email protected]
წაიკითხეთ unit-ის ExecStart, როცა დარწმუნებული არ ხართ, რომელი პროფილი ჩატვირთა ინსტანსმა.
ჩართული unit დაბრუნდება შემდეგ ჩატვირთვაზე, რაც ცალკე გადაწყვეტილებაა მის ახლა შეჩერებასთან შედარებით. გამორთეთ ის მხოლოდ მას შემდეგ, რაც გადაწყვეტთ, რომ კავშირი არ უნდა დაბრუნდეს, და ჩაწერეთ ეს გადაწყვეტილება იქ, სადაც შემდეგი ადმინისტრატორი იპოვის.
NetworkManager-ის პროფილები
NetworkManager-ის მიერ მართული პროფილი არ არის პროცესი, რომელსაც სიგნალს გაუგზავნით. მენეჯერი ფლობს სასიცოცხლო ციკლს, და ობიექტი, რომელზეც უნდა იმოქმედოთ, არის აქტიური კავშირი, იდენტიფიცირებული UUID-ით და არა ჩვენების სახელით. აქტიური სიის წინასწარი წაკითხვა ასევე აჩვენებს, მუშაობს თუ არა მეორე გვირაბი თქვენთვის მოულოდნელი სახელით.
nmcli connection show --active
nmcli connection down uuid actual-uuid
ჩვენების სახელები მეორდება, და პროფილის ფაილის სახელი მისი იდენტიფიკატორი არ არის, ამიტომ დააკოპირეთ UUID სიიდან. თუ კავშირი მაშინვე ბრუნდება, რაღაც აქტიურებს მას: secondaries ჩანაწერი საბაზო კავშირზე, dispatcher სკრიპტი ან ავტომატური დაკავშირების დროშა. მენეჯერის კავშირის შეჩერება სწორი პირველი ნაბიჯია, და ხელახალი აქტივაცია შემდეგი კითხვაა. ნუ წაშლით პროფილს ხელახალი აქტივაციის შესაჩერებლად, რადგან ეს ასევე შლის რწმუნებებს, რომლებიც ხვალ შეიძლება დაგჭირდეთ.
მენეჯერის ბრძანებების ცნობარი აღწერს, როგორ ირჩევა down სამიზნე.
OpenVPN 3 სესიები
OpenVPN 3 Linux იყენებს სესიების მოდელს და არა პროცესს თითოეული გვირაბისთვის. თქვენ ამოწმებთ სესიებს, რომლებიც სერვისმა იცის, შემდეგ კი მოქმედებთ ერთი სესიის გზაზე. გზა არის იდენტიფიკატორი, და ის არ არის ურთიერთშემცვლელი კონფიგურაციის სახელთან.
openvpn3 sessions-list
openvpn3 session-manage --path /net/openvpn/v3/sessions/... --disconnect
ყველა სესიის გათიშვა სხვა მოქმედებაა, და ის განზრახ უნდა იყოს.
ერთსა და იმავე ჰოსტს შეიძლება ჰქონდეს რამდენიმე მომხმარებლის სესია, ამიტომ მოქმედებამდე შეადგინეთ სია და დაადასტურეთ იმ სესიის მფლობელი, რომლის დასრულებასაც აპირებთ.
რა უნდა გადაამოწმოთ შემდეგ
ამ შეჩერებიდან ნებისმიერის შემდეგ გადაამოწმეთ სამი რამ: აქტიური კავშირების სია აღარ შეიცავს გვირაბს, ინტერფეისი გაქრა, და შიდა მისამართისთვის მარშრუტის ძიება აღარ ირჩევს გვირაბის მოწყობილობას. შემდეგ გადაწყვიტეთ, რა მოხდება შემდეგ ჩატვირთვაზე.
ip -brief address
ip route get 10.8.0.1
ინტერფეისის ხელით წაშლა არ აჩერებს მფლობელს, და დასუფთავებას ნახევრად დატოვებულს ტოვებს.
ახლა გათიშვა, შემდეგი ავტომატური გაშვების თავიდან აცილება და შემდეგ არა-VPN ტრაფიკის დაშვება სამი ცალკე არჩევანია. გააკეთეთ თითოეული ცხადად.