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

1. ჩაწერეთ დანიშნულება და წყარო

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

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

2. ჰკითხეთ ბირთვს, რომელი მარშრუტი აირჩია

ნუ წაიკითხავთ მარშრუტების ცხრილს და ნუ გამოიტანთ პასუხს. დასვით იგივე კითხვა, რომელსაც სტეკი სვამს, იმავე წყაროს მისამართით: ip route get 10.20.4.10 from 10.8.0.2 Linux-ზე ან Find-NetRoute -RemoteIPAddress 10.20.4.10 PowerShell-ში. გამოსავალი ასახელებს მარშრუტს, რომელიც რეალურად გამოიყენებოდა, და ეს ხშირად არ არის ის, რასაც ცხრილის კითხვისას ელოდით.

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

3. შეამოწმეთ, გადაამისამართა თუ არა ძიება პოლიტიკის წესმა

სანამ მარშრუტების ცხრილი მოწმდება, ბირთვი გადის თავის პოლიტიკის წესებს. წესმა შეიძლება მოცემული წყაროს, მომხმარებლის ან ფაირვოლის ნიშნის ტრაფიკი სრულიად სხვა ცხრილში გაგზავნოს, ამიტომ მთავარ ცხრილში გამარჯვებული პრეფიქსი შეიძლება ამ ნაკადისთვის არასოდეს მოწმდებოდეს. ip rule show მათ შეფასების რიგით ჩამოთვლის, ხოლო ip route show table 100 აჩვენებს, რა არის რეალურად არჩეულ ცხრილში.

აქ ორი ხაფანგია. ცარიელ ცხრილზე მიმანიშნებელი წესი ქმნის ძიებას, რომელიც შემდეგ წესზე ჩამოვარდება, ამიტომ წესი თითქოს არაფერს აკეთებს. მეორე თავად პრიორიტეტის ნომერია: წესები იკითხება ზრდადი რიგით, ხოლო ჩაშენებული მნიშვნელობებია 0 local, 32766 main და 32767 default. 32767-ზე ნაკლები ნომრის წესი ყველაფრის დამჭერ ნაგულისხმევ წესამდე მოწმდება. 32767-ზე მეტი ნომრის წესი მის უკან დგას და მხოლოდ მაშინ მიიღწევა, როცა არც ერთი წინა ცხრილი არ პასუხობს, რასაც main-ში ჩვეულებრივი ნაგულისხმევი მარშრუტი ხელს უშლის, ამიტომ პრაქტიკაში არასოდეს მიიღწევა და ჩუმად არაფერს აკეთებს, სანამ დაყენებულად გამოიყურება. თუ კლიენტმა დაწერა წესი და მარშრუტი, შეამოწმეთ ორივე და ხელახალი დაკავშირების შემდეგ კიდევ ერთხელ შეამოწმეთ, რადგან გადაწერილმა პროფილმა შეიძლება დაამატოს მეორე წესი სხვა პრიორიტეტით.

4. გამოყავით მარშრუტის ფრე მისამართების გაორმაგებული გეგმისგან

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

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

5. დაადასტურეთ, რომ ამომხსნელი მარშრუტს ეთანხმება

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

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

6. ხელახლა დაუკავშირდით, დაათვალიერეთ გამოყენებული მდგომარეობა და შემდეგ გამოსცადეთ ორივე ნაკადი

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

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

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