VPN-ის ping მუშაობს, მაგრამ საიტი იკეტება: შეამოწმეთ ზომა
პატარა ექოს პასუხი არ ამოწმებს არც TCP მსმენელს და არც დიდ გადაცემას. გამოყავით წვდომის პოლიტიკა პაკეტის ზომისგან, სანამ გვირაბის MTU-ს შეამცირებთ.
ექოს პასუხები მოდის, დისტანციური სამუშაო მაგიდა მუშაობს, ბრაუზერი კი ცარიელ გვერდზე ზის, სანამ დანებდება. ამ ნიმუშს ორი ახსნა შეესაბამება და ისინი ერთი პრობლემის ვარიანტები არ არიან: პოლიტიკა, რომელსაც სერვისი არასდროს დაუშვია, ან პაკეტები, რომლებიც წყვეტენ ჩატევას, როგორც კი გადაცემა იზრდება. ექოს პასუხი არც ერთს არ გამორიცხავს.
გადადით ყველაზე პატარა კითხვიდან ყველაზე დიდამდე და ჩაწერეთ, რა დაამტკიცა თითოეულმა ნაბიჯმა სინამდვილეში.
ექოს პასუხი ბევრად უფრო პატარა კითხვას პასუხობს
ექოს პასუხი ამბობს, რომ დანიშნულების IP სტეკმა უპასუხა თქვენი წყაროდან გამოგზავნილ ICMP მოთხოვნას. ის არაფერს ამბობს იმაზე, არის თუ არა TCP მსმენელი იმ პორტზე, რომელიც გჭირდებათ, უშვებს თუ არა პოლიტიკა ამ პორტს, ან ფილტრავს თუ არა დანიშნულების ჰოსტი ტრაფიკს კარიბჭისგან დამოუკიდებლად. კარიბჭეს, რომელიც ერთ სერვისს უშვებს, შეუძლია მეორე ჩამოაგდოს, მაშინ როცა ორივე სამიზნე პასუხობს ping-ს. წაიკითხეთ პასუხი როგორც ერთი ფაქტი ერთ პაკეტზე და ერთ მიმართულებაზე.
სანამ რაიმე სხვას განმარტავთ, დაადასტურეთ დანიშნულება და სერვისის პორტი. მისამართი, რომელიც შეამოწმეთ, და მისამართი, რომელსაც აპლიკაცია იყენებს, ზოგჯერ სხვადასხვა ჩანაწერია, და სახელი, რომელიც ორ მისამართზე იშლება, ამას სავარაუდოს ხდის.
გაარკვიეთ, დაიწყო თუ არა კავშირი
დაუყოვნებლივ უარყოფილი კავშირი მსმენელის ან პოლიტიკის პასუხია: რაღაცამ უპასუხა და თქვა არა. კავშირი, რომელიც იხსნება და შემდეგ იჭედება, როცა მონაცემები იწყებს მოძრაობას, ზომაზე მიუთითებს. კავშირი, რომელიც ხელის ჩამორთმევას საერთოდ არ ასრულებს, ჩვეულებრივ პოლიტიკის ან მარშრუტიზაციის საკითხია და ვადის გასვლას ჰგავს და არა უარყოფას.
curl -v --max-time 10 https://internal.example/ -o /dev/null
ss -tn state established '( dport = :443 )'
ჩაწერეთ, ამ სამიდან რომელი დააკვირდით MTU-ის პარამეტრებზე შეხებამდე. გვირაბის ზომის შეცვლა უარყოფილი კავშირის გასწორებისთვის ცვლილებას ფლანგავს და ნამდვილ მიზეზს გარკვეული დროით მალავს.
გაზომეთ ზომა მითითებული რიცხვით
როცა შეჩერება დატვირთვის ქვეშ ჩნდება, შეამოწმეთ ერთი პაკეტის ზომა ფრაგმენტაციის აკრძალვის ბიტით და მიუთითეთ არითმეტიკა, რომ შედეგს მნიშვნელობა ჰქონდეს. iputils-იან Linux-ზე 1392 ბაიტიანი დატვირთვა პლუს 8 ბაიტიანი ICMP სათაური და 20 ბაიტიანი IPv4 სათაური ქმნის შიდა პაკეტს ზუსტად 1420 ბაიტით. მიუთითეთ ეს არითმეტიკა ბილეთში, რადგან კარიბჭემდე მისული შიშველი ping აპლიკაციაზე არაფერს ამტკიცებს.
ping -4 -M do -s 1392 10.44.0.10
ping -4 -M do -s 1372 10.44.0.10
ორივე შემოწმება საზომი წერტილია და არა გვირაბის ზომის რეკომენდაცია. თუ ICMP სადმე გზაზე ფილტრდება, ვადის გასვლა ზომაზე არაფერს ამბობს, რადგან ფილტრაცია და ზედმეტად დიდი პაკეტი კლიენტის მხრიდან ერთნაირად გამოიყურება. წარმატებაც არაფერს ამბობს საპირისპირო მიმართულებაზე ან სხვა დანიშნულებაზე.
გაითვალისწინეთ გარე გზა
ინკაფსულაცია ამატებს საკუთარ სათაურებს, ამიტომ მავთულზე პაკეტი უფრო დიდია, ვიდრე გვირაბის შიგნით გაზომილი პაკეტი. სწორედ მათ შორის სხვაობა ხდის ერთდროულად შესაძლებელს მომუშავე პატარა მოთხოვნას და წარუმატებელ დიდ მოთხოვნას.
IPv4-ში გზის MTU-ის აღმოჩენა დამოკიდებულია უკუკავშირზე იმ პაკეტების შესახებ, რომელთა გადაცემაც ფრაგმენტაციის გარეშე შეუძლებელია, ხოლო IPv6 იყენებს Packet Too Big შეტყობინებებს. IPv4 სპეციფიკაცია აღწერს ამ მექანიზმს. უკუკავშირის ფილტრაცია ამტვრევს გამომგზავნის სწავლის უნარს და ტოვებს მას ისეთი პაკეტების ხელახლა გაგზავნაში, რომლებიც არასდროს ჩაეტევა. ამიტომ მომუშავე პატარა მოთხოვნა და წარუმატებელი დიდი ასე მშვიდად თანაარსებობენ.
შეცვალეთ ერთი რიცხვი და ხელახლა შეამოწმეთ აპლიკაცია
შეამცირეთ გვირაბის MTU ან შეზღუდეთ TCP-ის სეგმენტის მაქსიმალური ზომა, შემდეგ გაიმეორეთ აპლიკაციის საწყისი ტესტი და არა შემოწმება. შემოწმება, რომელიც ცვლილების შემდეგ წარმატდება, და აპლიკაცია, რომელიც ჯერ კიდევ იჭედება, მსგავსი ფორმის სხვადასხვა პრობლემაა და მხოლოდ აპლიკაციის ტესტი განასხვავებს მათ.
შეინახეთ არითმეტიკა ცვლილების ჩანაწერში: გაზომილი ზომა, თქვენ მიერ ნაგულისხმევი დამატებითი ხარჯი და თქვენ მიერ დაყენებული მნიშვნელობა. ვინც მოგვიანებით გადახედავს, შეძლებს დაშვების შემოწმებას ping-ის ეკრანის ანაბეჭდიდან ხელახლა გამოყვანის ნაცვლად.
თუ აპლიკაცია მუშაობს ყველა იმ ზომაზე, რომელიც სცადეთ, შეწყვიტეთ რიცხვების რეგულირება და შეხედეთ პოლიტიკას, რომელიც ჰყოფს მომუშავე სერვისს წარუმატებლისგან.