«დაკავშირებულია» VPN-ბილეთში ყველაზე ნაკლებად ინფორმატიული ფაქტია. ის აღრიცხავს, რომ ორმა მხარემ დაასრულა handshake, და არაფერს ამბობს გამოკითხულ სახელზე, ინტერფეისზე, რომლიდანაც პაკეტი გავიდა, მის ზომაზე ან იმაზე, მიიღო თუ არა ის შორეულმა მხარემ. ამიტომ ერთი სერვისი შეიძლება ჩავარდეს, მაშინ როცა იმავე ლეპტოპზე ყველა სხვა აპლიკაცია მუშაობს. გაიარეთ ეტაპები რიგითობით და პირველი ჩავარდნილი დაასახელებს ხარვეზს.

დაიწყეთ სახელით, არა გვირაბით

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

resolvectl query host.internal
getent hosts host.internal

ბრაუზერები საკუთარი უსაფრთხო DNS-ის პარამეტრით აქ ჩავარდებიან, მაშინ როცა დანარჩენი სისტემა მუშაობს. ამიტომ მხოლოდ ბრაუზერზე მოდებული საჩივარი პირველ რიგში ამ ეტაპს ეკუთვნის, სანამ ვინმე მარშრუტს შეეხება. შეადარეთ ორივე ბრძანება და არა ერთი, რადგან getent NSS-ის გზას მიჰყვება, გამხსნელის მოთხოვნა კი არა.

ჰკითხეთ ბირთვს, რომელი გზა აირჩია

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

ip route get 10.20.30.40
ip -brief address show

წაიკითხეთ dev, via და src ველები ამ რიგით, რადგან თითოეული სხვადასხვა ეჭვს ხსნის. ეს ეტაპი ასევე ფლობს კლიენტის მიერ დაყენებულ მდგომარეობას, რადგან firewall-ის წესები და მარშრუტები შეიძლება დარჩეს არანორმალური გასვლის შემდეგ. ამიტომ «გვირაბის გარეშე ინტერნეტი არ არის» და «ინტერნეტი არ არის, თუ კლიენტი არ მუშაობს» ერთი ხარვეზების ოჯახია და არა ორი.

შეამოწმეთ პაკეტის ზომა

პატარა პასუხი, რომელიც ბრუნდება, სანამ დიდი გადაცემა ჩერდება, პირველ რიგში გზის MTU-ზე მიუთითებს. გვირაბის შიგნიდან გაგზავნილი ერთი ზონდი do-not-fragment ბიტით გამოყოფს ამ ეტაპს დანარჩენებისგან. აწიეთ დატვირთვა, სანამ ზონდი ჩავარდება, და გექნებათ ის რიცხვი, რომელსაც მნიშვნელობა აქვს.

ping -M do -s 1400 10.20.30.40

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

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

შეამოწმეთ შორეული მხარე

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

curl -sv http://10.20.30.41:8080/health
nc -vz -w 3 10.20.30.41 3389
ss -lnt 'sport = :8080'

გვირაბით მისაწვდომი ვერაფერი ვერ იქნება სერვისი, რომელიც მხოლოდ 127.0.0.1-ზე ისმენს, რადგან მსმენელი პაკეტს არასდროს ხედავს. როცა შორეული ჰოსტის firewall ოფისის ქვექსელს უშვებს და გვირაბის აუზს უარყოფს, შედეგი კლიენტის ხარვეზად გამოიყურება და ასე არ არის. Remote Desktop ან ფაილების გაზიარება, რომლებიც ფუჭდება, სანამ ვებ-ტრაფიკი ცოცხლობს, ჩვეულებრივ აქ ხვდება, როგორც არ უნდა ჩამოაყალიბოს მომხმარებელმა.

დააკავშირეთ საჩივარი ერთ ეტაპთან

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

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

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

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