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

ოპკოდი პროტოკოლში პოზიციას აღნიშნავს

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

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

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

რას აკეთებს კლიენტი სინამდვილეში იმ მომენტში

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

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

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

სად იმალება ნამდვილი ჩავარდნა გადატვირთვის შემდეგ

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

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

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

grep -nE 'VERIFY|AUTH_FAILED|TLS Error|SIGUSR1' /var/log/openvpn*.log

ეს ძებნა თავისთავად დიაგნოზი არ არის, მაგრამ ერთი ნაბიჯით გადაგიყვანთ პროტოკოლის ლექსიკიდან რეალური ჩავარდნის კლასამდე.

რატომ არის შემოწმების გამორთვა არასწორი რეაქცია

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

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

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

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