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

წაიკითხეთ სიმპტომი როგორც გზის სხვაობა

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

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

კლიენტი QoS ბაიტს სვამს ყველა SSH სოკეტზე

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

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

ჯერ დაადასტურეთ კლიენტის ვერსია ბრძანებით ssh -V. 7.8 ან უფრო მაღალი ნებისმიერი ვერსია ამ ქცევას ნაგულისხმევად ატარებს.

სამი ბრძანება, რომლებიც ამას MTU-სა და DNS-ისგან გამოყოფს

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

ssh -o IPQoS=none -v [email protected]
ssh -G [email protected] | grep -i ipqos
sudo tcpdump -ni any -vv "tcp port 22"

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

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

მოათავსეთ გამონაკლისი ერთ ფაილში, თითო ჰოსტი ყოველ ჯერზე

გამონაკლისი ეკუთვნის იმ ჰოსტს, რომელზეც ვრცელდება, კომენტარით, რომელიც ამბობს, რატომ არსებობს.

Host gitlab.example.internal
    IPQoS none
    # direct route rewrites the marking; the tunnel route passes it

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

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

დახურეთ წრე ქსელის მფლობელთან

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

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

კლიენტში ცვლილება ვადის მქონე დროებითი ღონისძიებაა. ჩაწერეთ ის ვადა კომენტარში.

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