OpenVPN Ubuntu-ზე ჩატვირთვისას: NetworkManager თუ systemd?
ლეპტოპსა და ეკრანის გარეშე სერვერს განსხვავებული ჩატვირთვის გზები სჭირდება. შეადარეთ NetworkManager-ის მეორადი კავშირი openvpn-client@-სა და მის სერთიფიკატების ფაილს.
გიდების უმეტესობა ამ არჩევანს კოსმეტიკურ საკითხად წარმოაჩენს: ან მიეცით NetworkManager-ს გვირაბის აწევის საშუალება, ან ჩართეთ systemd-ის ინსტანცია და დასრულდა. ორი გზა ერთი რამით განსხვავდება, რაც ეკრანის გარეშე მანქანაზე შედეგს წყვეტს, და ამას არანაირი კავშირი არ აქვს იმასთან, რომელი ხელსაწყოა უფრო ახალი. NetworkManager საიდუმლოებებს სესიის მეშვეობით ხსნის; systemd-ის ინსტანციას გასახსნელი სესია არ აქვს. აირჩიეთ ის, რომლის საიდუმლოებებთან მოპყრობა თქვენს წინ მდგარ მანქანას შეესაბამება.
დანარჩენი ყველაფერი, მარშრუტების დაყენებიდან ხელახალი დაკავშირების ქცევამდე, სწორედ ამ პირველი გადაწყვეტილებიდან გამომდინარეობს.
გასაღებების კრებული ის განსხვავებაა, რომელზეც არავინ საუბრობს
როცა NetworkManager-ს VPN პროფილი ეკუთვნის, პაროლი შეიძლება შესვლის გასაღებების კრებულში იყოს, რომელიც მომხმარებლის შესვლისას იხსნება. ეს ლეპტოპზე კარგად მუშაობს: ადამიანი ადგილზეა, კრებული იხსნება, გვირაბი ადის. ზედამხედველობის გარეშე ჩატვირთულ სერვერზე არავინაა, რომ რამე გახსნას, ამიტომ პროფილი ისეთ საიდუმლოს ელოდება, რომელიც არასოდეს მოდის. კავშირი კონფიგურირებულად გამოიყურება და არასოდეს აქტიურდება.
systemd-ის ინსტანცია ამ პრობლემას დისკიდან სერთიფიკატების ფაილის წაკითხვით თავიდან ირიდებს, რაც ფაილს თქვენი დაცვის ობიექტად აქცევს. chmod 400 და root-ის საკუთრება მინიმუმია, და ფაილი უნდა დარჩეს თქვენთვის უკონტროლო სარეზერვო ასლებისა და იმიჯის შაბლონების გარეთ.
VPN-ის კავშირზე მიმაგრება ჩატვირთვის გარანტია არ არის
nm-connection-editor-ში VPN-ის ნაცვლად აირჩიეთ სადენიანი ან უსადენო კავშირი, გახსენით General ჩანართი, მონიშნეთ ავტომატური VPN-ზე დაკავშირების პარამეტრი და დაარქვით პროფილს სახელი. შემდეგ NetworkManager VPN-ს მეორად კავშირად ააქტიურებს, როცა პირველადი დაკავშირებულ მდგომარეობას მიაღწევს. ეს დამოკიდებულებაა, არა ფაირვოლის წესი. პაკეტები მაინც შეიძლება გავიდეს იმ წამებში, სანამ გვირაბი ავა, და შენახული საიდუმლო, რომელიც არ იხსნება, მანქანას მის გარეშე ტოვებს ონლაინში.
თუ მოთხოვნაა, რომ გვირაბის გარეშე არაფერი გავიდეს, თქვით ეს და ააგეთ გამომრთველი, რადგან ეს პარამეტრი მას არ მოგცემთ. გამოსცადეთ ასევე შეჩერება და გაგრძელება, რადგან მეორადი კავშირი დაბრუნებისას ხელახლა ფასდება.
systemd-ის ინსტანციას შესაბამისი ფაილის სახელი სჭირდება
მოათავსეთ პროფილი იმ კლიენტის დირექტორიაში, რომელსაც პაკეტი ელოდება, მაგალითად /etc/openvpn/client/office.conf, და შიგნიდან მიუთითეთ სერთიფიკატების ფაილზე auth-user-pass office.cred-ით. ინსტანციის სახელია ფაილის სახელი დაბოლოების გარეშე, ამიტომ openvpn-client@office კითხულობს office.conf-ს. ჩართეთ ის sudo systemctl enable --now openvpn-client@office-ით და დაადასტურეთ შესაბამისობა systemctl cat openvpn-client@office-ით, ნაცვლად ბლოგის მაგალითის ნდობისა.
პროფილის შიგნით არსებული ბილიკები იხსნება ერთეულის სამუშაო დირექტორიის, და არა თავად პროფილის მიმართ, ამიტომ ფარდობითი ca ან auth-user-pass ხაზი შეიძლება ჩატვირთვისას ჩავარდეს, მაშინ როცა ხელით ტესტირებისას მუშაობს. გამოიყენეთ აბსოლუტური ბილიკები ყველაფრისთვის, რაც ერთეულმა უნდა იპოვოს. შემდეგ ნამდვილი ჩატვირთვის შემდეგ წაიკითხეთ journalctl -u openvpn-client@office -b; ერთეული, რომელიც გვირაბის გარეშე აქტიურობას იუწყება, ჩვეულებრივ ამ ჟურნალში აკლია ფაილს ასახელებს.
უფრო ძველი პაკეტები სხვა შაბლონის სახელს აწვდიან, ამიტომ systemctl list-unit-files 'openvpn*' წყვეტს, რომელი არსებობს ამ ჰოსტზე.
ხელახალი დაკავშირების ქცევა ცალკე გადაწყვეტილებაა
ping-restart-ის მქონე პროფილი გვირაბს დაცემის შემდეგ ხელახლა აშენებს, ხოლო გადატვირთვის დირექტივის მქონე ერთეული მსგავსს აკეთებს სერვისის დონეზე. ეს თქვენ მიერ არჩეული პოლიტიკებია და არა მემკვიდრეობით მიღებული ნაგულისხმევები. თუ კავშირი მხოლოდ მოთხოვნით უნდა ავიდეს, განზრახ მოხსენით გადატვირთვის ქცევა და ჩაწერეთ რატომ. თუ ერთეული ქსელის გამოსადეგობამდე იწყებს, მას განმეორებითი ცდის პოლიტიკა სჭირდება, რადგან ჩატვირთვისას ერთი წარუმატებელი ცდა თავისით არ მეორდება.
გაჩერებაც ისეთივე პირდაპირია: sudo systemctl disable --now openvpn-client@office აჩერებს გაშვებულ ინსტანციას და შლის ჩატვირთვის ბმას. მხოლოდ გამორთვა გვირაბს შემდეგ გადატვირთვამდე ამუშავებს, რაც აკვირვებს ყველას, ვინც გამორთვით ამოწმებს და ხედავს, რომ ინტერფეისი მაღლა რჩება.
გადატვირთეთ და შემდეგ ოთხი რამ თანმიმდევრობით შეამოწმეთ
სერვისის გადატვირთვა სერვისს ამოწმებს; მანქანის გადატვირთვა ჩატვირთვის გზას ამოწმებს. გადატვირთვის შემდეგ დაადასტურეთ, რომ ერთეული ავიდა, შემდეგ რომ დისტანციური ქვექსელისთვის მარშრუტი არსებობს, შემდეგ რომელი მისამართით წარუდგება მანქანა ინტერნეტს და ბოლოს, რომ სახელები გვირაბის გავლით იხსნება. ეს ოთხი შემოწმება სწორედ ამ თანმიმდევრობით ვარდება, როცა რამე არასწორია, რაც პირველ ჩავარდნას სასარგებლოს ხდის.
მარშრუტის გარეშე აქტიური ერთეული ჩვეულებრივ ნიშნავს, რომ პროფილი დაკავშირდა, მაგრამ სერვერმა არც ერთი მარშრუტი არ გამოგზავნა, ან მარშრუტი ინტერფეისზე დაყენდა, რომელიც შემდეგ გაქრა. მარშრუტი მომუშავე სახელების ძიების გარეშე DNS-ის კონფიგურაციაზე მიუთითებს და არა თავად გვირაბზე.
წინასწარ გადაწყვიტეთ, რა უნდა მოხდეს, როცა გვირაბი ვერ ავა. ჩვეულებრივ კავშირზე დაბრუნება პოლიტიკაა და ის უნდა ჩაიწეროს, ვიდრე დარჩეს იმ მენეჯერისთვის, რომელიც პირველად ჩაირთო.