როგორ შევამოწმოთ, მართლა მუშაობს თუ არა Linux-ის VPN გვირაბი
ინტერფეისის დროშები, მარშრუტის ძიებები, ცხრილი 220 და ხელის ჩამორთმევის დროის ნიშნები სხვადასხვა კითხვას პასუხობს. სკრიპტის ყოველი ნაბიჯი დაუკავშირეთ შემოწმებას, რომელიც მის წინაპირობას ამტკიცებს.
Cron ყოველ ათ წუთში თავიდან უშვებს სრულიად ჯანსაღ VPN-ს, და იგივე დავალება მკვდარს მთელი კვირა ამუშავებს. ორივე შეცდომა იქიდან მოდის, რომ «მუშაობს» ერთ ფაქტად ითვლება, მაშინ როცა ის სულ ცოტა ოთხია. მოწყობილობა შეიძლება იყოს ადმინისტრაციულად ჩართული, სწორად მარშრუტიზებული, სრულად დაშიფრული და მაინც არაფერი სასარგებლო არ გადაიტანოს. ჯერ დაკვირვებები გამოყავით, და შემოწმება თითქმის თავისით დაიწერება.
კავშირის დროშები მოწყობილობას აღწერს, არა გზას
შემოწმება, რომელსაც ყველა აკოპირებს, ეძებს მხოლოდ ნულებისგან შემდგარ ტექნიკურ მისამართს. ეს ხრიკი ზოგიერთ დრაივერში ნამდვილ ინტერფეისს განასხვავებს შემცვლელისგან და დანარჩენებში არაფერს ამტკიცებს, რადგან tun მოწყობილობას საერთოდ არ აქვს MAC, რომელიც უნდა შეატყობინოს. ip -brief link show tun0 სამაგიეროდ დროშებს იძლევა: UP ნიშნავს, რომ ადმინისტრატორმა მოწყობილობა ჩართო, და LOWER_UP ნიშნავს, რომ დრაივერი კავშირს გამოსადეგად მიიჩნევს. ერთად წაკითხული, ისინი ამბობენ, რომ მოწყობილობა არსებობს და ადმინისტრაციულად გამორთული არ არის. არც ერთი მათგანი არ ამბობს, რომ პაკეტს წასასვლელი აქვს.
OpenVPN თავის tun მოწყობილობას მარშრუტების დაყენებამდე ქმნის, ამიტომ დროშები შეიძლება სრულყოფილად გამოიყურებოდეს, სანამ არაფერია მარშრუტიზებული. მათ წინაპირობად მოეპყარით, არასდროს პასუხად.
იკითხეთ, სად წავა პაკეტი
მარშრუტის ძიება პასუხობს კითხვას, რომელსაც დროშები ვერ შეძლებს. ip route get 10.8.0.1 from 10.8.0.2 ასახელებს ინტერფეისს, წყაროს მისამართს და ცხრილს, რომელსაც ბირთვი გამოიყენებდა, და სწორედ ამასთან უნდა შემოწმდეს გაყოფილი გვირაბი. წყაროს მისამართის გარეშე სხვა რამეს კითხულობთ, ხოლო პოლიტიკური მარშრუტიზაციისას პასუხი შეიძლება წყაროს მიხედვით განსხვავდებოდეს. ეს არის ყველაზე იაფი პატიოსანი გამოცდა, რადგან ის იმავე წესებს ეკითხება, რომლებსაც თქვენი ტრაფიკი გამოიყენებს.
WireGuard-ისთვის დაამატეთ ხელის ჩამორთმევა. wg show ბეჭდავს თითოეული პარტნიორის ბოლო ხელის ჩამორთმევის დროის ნიშანს, და ნიშანი, რომელმაც წინსვლა შეწყვიტა, ნიშნავს, რომ პარტნიორი წავიდა, რაც არ უნდა თქვან ინტერფეისის დროშებმა. კონფიგურირებული ინტერფეისი უახლესი ხელის ჩამორთმევის გარეშე ერთ-ერთი ყველაზე გავრცელებული ცრუ დადებითია სახლისეულ მონიტორინგში.
ცხრილი 220 IPsec-ის ისტორიას ჰყვება
strongSwan მოლაპარაკებული სელექტორების მარშრუტებს ცხრილში 220 აყენებს, როცა მარშრუტების დაყენება ჩართულია. ip route list table 220 ამიტომ გამოყოფს მოლაპარაკებულს მარშრუტიზებულისგან: ცარიელი ცხრილი ჩატვირთული კავშირის გვერდით ნიშნავს, რომ IKE და CHILD SA-ები ავიდნენ, მაგრამ მათკენ ტრაფიკი არ მიემართება. შეამოწმეთ ip xfrm state მის გვერდით, რადგან ის ჩამოთვლის დაყენებულ უსაფრთხოების ასოციაციებს და მათ ბოლო წერტილებს.
ნაკვდავი პოლიტიკა ის შემთხვევაა, რომელსაც ყურადღება უნდა მიაქციოთ. ის მარშრუტიზაციის ნაცვლად საინტერესო ტრაფიკს ელოდება, ამიტომ ცხრილი ცარიელი რჩება, სანამ რაღაც გვირაბს გაააქტიურებს.
მენეჯერის მდგომარეობა და დემონის მდგომარეობა სხვადასხვა სიაა
NetworkManager მხოლოდ საკუთარ კავშირებს ჩამოთვლის. nmcli -t -f NAME,TYPE connection show --active არაფერს აბრუნებს wg-quick ან OpenVPN დემონის მიერ უშუალოდ გაშვებული გვირაბისთვის.
ეს განსხვავება მნიშვნელოვანია, როცა სკრიპტმა უნდა გადაწყვიტოს, ორი მენეჯერიდან რომელს ჰკითხოს. აირჩიეთ ის, ვინც ამ ჰოსტზე გვირაბს რეალურად ფლობს, და უგულებელყავით მეორის სიჩუმე. თუ ორივე არსებობს, გადაწყვიტეთ რომელია ავტორიტეტული და გამორთეთ მეორე, რადგან ორი მენეჯერი, რომლებიც ერთ ინტერფეისზე მარშრუტებს გადაწერენ, ქმნიან გაუმართაობებს, რომელთა გამეორებაც ვერავინ შეძლებს. დაკარგული ჩანაწერი ინფორმაციაა მენეჯერზე, არა გვირაბზე.
შემდეგი ნაბიჯი დაუკავშირეთ მისთვის საჭირო შემოწმებას
UDP პორტის გამოკითხვა მზაობაზე არაფერს ამტკიცებს, რადგან UDP-ს ხელის ჩამორთმევა არ აქვს და nc -u წარმატდება პაკეტის გასვლისთანავე. შეამოწმეთ, რას ნამდვილად მოიხმარს შემდეგი ნაბიჯი: TCP კავშირი გადამისამართებულ პორტთან, მოთხოვნა გვირაბის შიგნით მდებარე ჰოსტთან, სახელი, რომელიც მხოლოდ იქ იხსნება. შეზღუდეთ ლოდინი დროის ლიმიტით და ცდების რაოდენობით, და ხმამაღლა ჩავარდით, როცა ის ამოიწურება.
კაუჭები სჯობს გამოკითხვას, როცა კლიენტი მათ გვთავაზობს. OpenVPN-ის --up და --down სკრიპტები ინტერფეისის მდგომარეობის შეცვლის შემდეგ ეშვება, რაც რბოლას სრულიად აქრობს, მაგრამ ისინი დემონის მიერ შენახული უფლებებით მუშაობენ. თუ OpenVPN user და group საშუალებით არაპრივილეგირებულ ანგარიშზე დაეცა, კაუჭი ამ ანგარიშის სახით მუშაობს. მაშინ სისტემური სერვისის გადატვირთვას sudo სჭირდება, რომ ზუსტად ის ბრძანება დაუშვას. განმეორებითი ცდა გადაეცით სერვისების მენეჯერს და არა cron ციკლს: საწყისი ლიმიტის მქონე შეზღუდული გადატვირთვის პოლიტიკა გატეხილ გვირაბს ავლენს, ხოლო უსაზღვრო ციკლი მას უსასრულოდ მალავს.