რატომ ინარჩუნებს /32 ჰოსტის მარშრუტი VPN-ის ბოლო წერტილს ხელმისაწვდომს
ჰოსტის მარშრუტი ირჩევს ერთ მისამართს და არა ქვექსელს. მას შეუძლია გვირაბის ბოლო წერტილი ხელმისაწვდომი შეინარჩუნოს ან ერთი რესურსი მიამაგროს, მაგრამ ძველდება, როცა მისამართები იცვლება.
დაკავშირების შემდეგ ხსნით მარშრუტიზაციის ცხრილს და ხედავთ ერთ მისამართს, რომელიც გვირაბში გადის, მაშინ როცა მის გარშემო არსებული ქვექსელი კვლავ ლოკალურ კარიბჭეს მიემართება. ეს ჩანაწერი ჰოსტის მარშრუტია: ერთი მისამართი, რომელსაც ემთხვევა ყველა ერთისაგან შემდგარი პრეფიქსი. ეს მნიშვნელოვანია, რადგან მარშრუტიზაციის გადაწყვეტილებები იყენებენ ყველაზე გრძელ დამთხვევ პრეფიქსს, ამიტომ /32-ს შეუძლია გადააჭარბოს /24-ს ან ნაგულისხმევ მარშრუტს მათგან არც ერთის შეცვლის გარეშე. ეს ფრთხილი გამონაკლისია თუ მომავალი შეფერხება, დამოკიდებულია იმაზე, თუ რომელ მისამართს ასახელებს და ვინ ინახავს მას.
ერთი მისამართი, ერთი ჩანაწერი ცხრილში
IPv4 ჰოსტის მარშრუტს აქვს /32 პრეფიქსი, ხოლო IPv6 ჰოსტის მარშრუტს — /128, რაც ნიშნავს, რომ ჩანაწერი შეიძლება ზუსტად ერთ დანიშნულების მისამართს დაემთხვეს. ცხრილში სხვა არაფერი მოძრაობს: დამფარავი ქვექსელი და ნაგულისხმევი მარშრუტი რჩება იქ, სადაც იყო. ვიწრო ჩანაწერი იმარჯვებს ამ მისამართისთვის იმიტომ, რომ მისი პრეფიქსი გრძელია და არა იმიტომ, რომ მოგვიანებით დაემატა.
ეს თვისება ჰოსტის მარშრუტს კარგ გამონაკლისად და ცუდ ჩვევად აქცევს. ორი /32 ჩანაწერი, რომლებიც სერვისის შესასვლელ კარს ასახელებენ, არ ფარავს მის მეორე მისამართს, მის IPv6 მისამართს ან მისამართს, სადაც ის მომავალ თვეში გადავა. გაურკვეველი ერთმისამართიანი ჩანაწერებით სავსე ცხრილი ჩვეულებრივ ნიშნავს, რომ ვიღაც ქვექსელის გადაწყვეტილების მიღების ნაცვლად მის გარშემო ლაქებს აკეთებდა. ჯერ წაიკითხეთ პრეფიქსის სიგრძე, შემდეგ იკითხეთ, რისგან უნდა იცავდეს ჩანაწერი.
წაიკითხეთ ჩანაწერი კლიენტიდან გარეთ
დაიწყეთ იმ მანქანიდან, სადაც პრობლემაა, რადგან ერთი და იგივე მისამართი შეიძლება განსხვავებულად მარშრუტიზდეს ლეპტოპზე და მის წინა კარიბჭეზე. ჰკითხეთ ბირთვს, რომელ გზას აირჩევდა ზუსტად იმ მისამართისთვის, რომელსაც აპლიკაცია იყენებს, ცხრილის ზემოდან წაკითხვის ნაცვლად. პასუხი მოიცავს ინტერფეისს და შემდეგ ნახტომს, რომლებიც ერთად წარმოადგენენ გადაწყვეტილებას.
ip route get 203.0.113.25
ip -6 route get 2001:db8:4::25
ip route show | grep -F 203.0.113.25
Find-NetRoute -RemoteIPAddress 203.0.113.25
გაიმეორეთ მოთხოვნა იმ მისამართთა ოჯახისთვის, რომელსაც აპლიკაცია რეალურად ირჩევს, რადგან კლიენტმა შეიძლება უპირატესობა მიანიჭოს IPv6-ს და ჩუმად აუაროს გვერდი IPv4 გამონაკლისს. შეადარეთ შედეგი გვირაბის აწევამდე და შემდეგ და შეინახეთ ორივე გამონატანი. ეს შედარება გვიჩვენებს, დაუმატა თუ არა კლიენტმა ჩანაწერი დაკავშირებისას, თუ ის უკვე იქ იყო.
მუდმივი ჩანაწერი და მუშაობის დროის ჩანაწერი სხვადასხვაგვარად ცდება. მუშაობის დროისა ქრება სესიასთან ერთად, ხოლო მუდმივი გადაურჩება გადატვირთვას და აგრძელებს ტრაფიკის გაგზავნას კარიბჭეზე, რომელიც აღარ არსებობს.
ბოლო წერტილის გამონაკლისი და რეკურსიის ხაფანგი
VPN კლიენტები ჩვეულებრივ ჰოსტის მარშრუტს აყენებენ სერვერის გარე მისამართზე საწყისი კარიბჭის გავლით, ვიდრე ნაგულისხმევ მარშრუტს გადამისამართებენ. ამ ჩანაწერის გარეშე დაშიფრული პაკეტები გაიგზავნებოდა იმ გვირაბში, რომლის აგებასაც ცდილობენ, და კავშირი იმუშავებდა მარყუჟში, სანამ ვადა არ ამოიწურება.
ხაფანგი ჩნდება მაშინ, როცა გვირაბის მიღებული ქვექსელები შემთხვევით მოიცავს იმ ბოლო წერტილის მისამართს, ან როცა მეორე პროფილი მოგვიანებით დაამატებს უფრო ფართო მარშრუტს. მაშინ ბოლო წერტილის ჩანაწერი აგებს უფრო გრძელ პრეფიქსთან და სესია იშლება, როგორც კი ტრაფიკის გატარებას დაიწყებს. ბოლო წერტილის მისამართის მიღებული ქვექსელების გვერდით ჩაწერა ყველაზე იაფი გზაა შეჯახების შესამჩნევად მომხმარებლებამდე. ეს ასევე ხსნის, რატომ მუშაობს იგივე პროფილი ერთი ქსელიდან და ვერ მუშაობს მეორედან.
შეამოწმეთ გზა, რომელსაც აპლიკაცია ნამდვილად იყენებს
ჰოსტის სახელზე წარმატებული ping სუსტი მტკიცებულებაა, როცა აპლიკაცია სხვა მისამართზე ან სხვა ოჯახზე უკავშირდება. შეამოწმეთ მისამართის, ოჯახის, პორტისა და ინტერფეისის ზუსტი კომბინაცია იმ მანქანიდან, რომელიც კლიენტს უშვებს.
ip route get 203.0.113.25
sudo nft list ruleset | grep -A 4 'chain output'
curl -sS --max-time 8 -o /dev/null -w '%{remote_ip}
' https://app.example.net
თუ გზა არასწორია, სანამ რამეს შეცვლით, გადაწყვიტეთ მოთხოვნა ქსელია თუ ერთი მისამართი. ერთი მისამართის მოთხოვნა ამართლებს ჰოსტის მარშრუტს კომენტარითა და მფლობელით; მბრუნავი მისამართების მქონე სერვისს სჭირდება დომენზე დაფუძნებული მარშრუტიზაცია ან ქვექსელის პატიოსანი გადაწყვეტილება.
წაშალეთ ჩანაწერები, რომლებიც აღარ შეესაბამება რეალურ დანიშნულებას, და ჩაინიშნეთ ის, რომლებსაც ტოვებთ. გაურკვეველი /32 სამი თვის შემდეგ ვერ გაირჩევა შეცდომისგან და შემდეგი ადამიანი წაშლის მას, არ იცის, რა იყო მასზე დამოკიდებული.