OpenVPN ამბობს, რომ დაკავშირებულია და ტრაფიკი არ მოძრაობს, წინადადება, რომელიც სულ მცირე ხუთ დაუკავშირებელ ხარვეზს ფარავს. ქსელური დაცვის წესების რედაქტირება მანამ, სანამ იცით, რომელი ფენა ვარდება, ამრავლებს უცნობს და შემდეგ ინჟინერს უტოვებს არეულობას. ნაცვლად ამისა, იმუშავეთ პროცესიდან გარეთ, რადგან ქვემოთ ყოველი ნაბიჯი ან ერთ ეტაპს ასუფთავებს, ან ავიწროებს იმას, სადაც პაკეტი იღუპება. თანმიმდევრობა აქ მნიშვნელოვანია: დაჭერა, რომელიც აღებულია მანამ, სანამ იცით, რომელი მისამართია მიბმული, რაღაცას დაამტკიცებს, მხოლოდ არა იმას, რაც გჭირდებათ.

სოკეტი ან მიბმულია, ან არა

აქტიურობას რომ აცხადებს, სერვისი მაინც შეიძლება მიბმული იყოს მისამართზე ან ტრანსპორტზე, რომელიც არასდროს გიგულისხმიათ. ჰკითხეთ თავად სოკეტს: ss -lunp ჩამოთვლის UDP მსმენელებს, ხოლო ss -ltnp TCP-ს, და წაკითხვადი სვეტი ლოკალური მისამართია, არა მდგომარეობა.

ცარიელი პასუხი ჩვეულებრივ სამიდან ერთს ნიშნავს: პროცესი გაშვების შემდეგ გავიდა, სხვა კონფიგურაციის ფაილი ჩატვირთა, ან ისმენს სხვა მისამართზე, ვიდრე ის, რომელზეც დარეკვა ხდება.

ss -lunp | grep 1194
ss -ltnp | grep 1194

local დირექტივა მსმენელს ერთ მისამართზე ამაგრებს, ამიტომ იმავე ჰოსტზე სხვაგან მიმართული კლიენტი უარყოფილია, მაშინ როცა გარედან სერვისი ჯერ კიდევ ჯანსაღად გამოიყურება. ინსტანციის სახელი ასევე შეიძლება მიუთითებდეს ფაილზე, რომელიც არასდროს შეგიცვლიათ, რაც ხდება ჰოსტებზე, სადაც ორი პროფილი გვერდიგვერდ მუშაობს.

დაიჭირეთ გარე პაკეტი, არა გვირაბი

გაფილტრეთ ფიზიკურ ინტერფეისზე და რეალურ პორტზე, საკუთარი ინტერფეისით ჩანაცვლებული: tcpdump -ni eth0 udp port 1194. გამავალი პაკეტები, რომლებზეც არაფერი ბრუნდება, მიუთითებს იმაზე, რაც ზემოთ ზის: პროვაიდერის ფილტრაცია, NAT მოწყობილობა, ან შორეული მისამართი, რომელიც არ არის ის, რასაც ფიქრობთ. სიჩუმე ორივე მიმართულებით მიუთითებს კლიენტის მარშრუტიზაციაზე ან ლოკალურ ფაირვოლზე. გვირაბის პროგრესის გარეშე მოსული პასუხები მიუთითებს მართვის არხზე, ანუ გასაღების ან შიფრის შეუსაბამობაზე, არა ფილტრაციაზე.

დაიჭირეთ ორივე მიმართულება და ფაილი მოკლედ შეინახეთ. გრძელი დაჭერა კრძალავს საინტერესო სამ წამს და პასუხი თითქმის ყოველთვის პირველ გაცვლაშია.

ჯერ მრიცხველები, კვალი მხოლოდ მაშინ, როცა იტყუებიან

დაიწყეთ მრიცხველებით, რადგან არაფერი ღირს. ან nft list ruleset, ან iptables -L -n -v პასუხობს ერთადერთ კითხვას, რაც აქ მნიშვნელოვანია: დაემთხვა თუ არა წესი? თანმიმდევრობა წყვეტს შედეგს, რადგან პირველი დამთხვევა იმარჯვებს, ამიტომ ფართო DROP უფრო გვიან ACCEPT-ამდე ტოვებს ამ ACCEPT-ს მკვდარს და ამიტომ წესის დამატება ასე იშვიათად ასწორებს რამეს.

მესაკუთრეც აბრკოლებს ადამიანებს. ბირთვი ლოკალურად წარმოქმნილ პაკეტებს მიაწერს იმ პროცესს, რომელმაც სოკეტი გახსნა, და OpenVPN ჩვეულებრივ root-ად მუშაობს, ამიტომ ჩვეულებრივი მომხმარებლის ID-ზე მიბმული წესი ვერასდროს ხედავს თავად გვირაბის ტრაფიკს. შეამოწმეთ მფლობელი UID, სანამ გადაწყვეტთ, რომ წესი არასწორია.

მხოლოდ მაშინ, როცა მრიცხველები ორაზროვანი რჩება, ჟურნალი ღირს ხმაურად, და მაშინაც მხოლოდ ვიწრო ნაწილისთვის: iptables წესი, რომელიც სიჩქარეს ზღუდავს და პრეფიქსს უმატებს თავის ჟურნალის სტრიქონებს, ან nftables წესი, რომელიც ატარებს meta nftrace set 1-ს, სანამ nft monitor trace მუშაობს. კვალი ასახელებს ჯაჭვს და წესს, რომელმაც პაკეტი მიიღო ან ჩამოაგდო. შემდეგ ორივე მოხსენით და ტვირთის ჟურნალირება გარეთ დატოვეთ.

შეამოწმეთ ტრანსპორტიც. TCP-ზე შეზღუდული ფაირვოლის სერვისი არაფერს ამბობს იმ ნომრის UDP მსმენელზე, ამიტომ სწორად წაკითხული წესი მაინც შეიძლება ყოველი პაკეტი ჩამოაგდოს.

მარშრუტიზაცია და დაბრუნების გზა

მიღებული პაკეტი, რომელიც მაინც ქრება, საჭიროებს დანიშნულების გზის შემოწმებას. ip route get აცნობს ერთი მისამართისთვის არჩეულ მარშრუტს, და საპირისპირო გზის ფილტრაციამ შეიძლება ჩამოაგდოს პასუხი, რომელიც მოდის ინტერფეისიდან, რომელსაც მთავარი ცხრილი არასდროს აირჩევდა. სიმპტომი ზუსტად ფაირვოლის მიერ ჩამოგდების მსგავსია, ამიტომ ეს შემოწმება სხვა NAT წესამდე მოდის.

კარიბჭეზე შეამოწმეთ გადაცემა და forward ჯაჭვი, და არა input ჯაჭვი. შემდეგ დაადასტურეთ, რომ შორეულმა მხარემ იცის, როგორ მიაღწიოს წყაროს მისამართს, რადგან მომუშავე გამავალი გზა, რომელზეც არაფერი ბრუნდება, სიჩუმეა ორივე შემთხვევაში.

რა უნდა თქვას ჩანაწერმა

ყოველი ცვლილებისთვის ჩაწერეთ შემოწმებული ეტაპი, წაკითხული მტკიცებულება და მრიცხველის მნიშვნელობა მის ორივე მხარეს. სწორედ ეს ჩანაწერი ხდის "ახლა მუშაობს"-ს გადარჩენადს შემდეგ მიმოხილვაზე.

ორი მოკლე გზა ჩანაწერს პატიოსნად ინახავს. პაკეტი, რომელმაც არასდროს დატოვა ჰოსტი, ვერ ჩამოაგდებდა სხვაგან არსებულმა წესმა, რაც არ უნდა დამაჯერებლად გამოიყურებოდეს შორეული მხარის კონფიგურაცია. პაკეტი, რომელიც გავიდა და დაბრუნდა, კითხვას ქსელური ფენის ზემოთ გადააქვს, სადაც ფაირვოლის მრიცხველებს მეტი სათქმელი აღარ აქვთ.

დაკავშირებული სტატიები