UDP-ის VPN უმოქმედობისას ჩერდება: firewall-მა თქვენი ნაკადი დაივიწყა
Firewall-მა შეიძლება უმოქმედო UDP ასახვა ჩამოაგდოს, სანამ კლიენტი კვლავ სესიას აჩვენებს. გაზომეთ გაჩერება, იპოვეთ უმოკლესი ტაიმერი და შემდეგ შეარჩიეთ გადაწყვეტა.
VPN უკავშირდება, გარკვეული დრო მუშაობს და შემდეგ წყვეტს ტრაფიკის გატარებას, მაშინ როცა კლიენტი კვლავ სესიას აჩვენებს. ხელახალი დაკავშირება ასწორებს ამას, რის გამოც კლიენტის შეცდომად გვეჩვენება. ჩვეულებრივ, ეს არის firewall ან NAT მოწყობილობა, რომელმაც უმოქმედო UDP ასახვა ჩამოაგდო და არ იცის, რომ გვირაბი ჯერ კიდევ არსებობს.
სიმპტომი საკმარისად თანმიმდევრულია დიაგნოსტიკისთვის: ის ჩნდება უმოქმედობის შემდეგ და არა დატვირთვის დროს.
როგორ გამოიყურება უმოქმედობის გაჩერება
გაზომეთ და ნუ აღწერთ. ჩაწერეთ რამდენ ხანს რჩება გვირაბი უმოქმედოდ ტრაფიკის შეწყვეტამდე, აცოცხლებს თუ არა მას ახალი გამავალი პაკეტი და ინარჩუნებს თუ არა კლიენტის ინტერფეისი თავის მისამართს. თუ კლიენტის ახალი მოთხოვნა მუშაობს, მაგრამ არსებულ ნაკადზე პასუხი არა, მაშინ ეჭვმიტანილი ასახვაა. თუ ხელახალ დაკავშირებამდე არაფერი მუშაობს, კლიენტის სესიის მდგომარეობაც დაიკარგა.
ორივე უმოქმედობას უკავშირდება და განსხვავებულ გასწორებას მოითხოვს.
ჩაწერეთ დროები, სანამ რაიმეს შეცვლით. მოხსენება, რომ ის დაახლოებით ათი უმოქმედო წუთის შემდეგ ჩერდება, შესამოწმებელია, ხოლო მოხსენება, რომ შემთხვევით წყდება, არ არის. ეს განსხვავება წყვეტს, ტაიმერს მიჰყვებით თუ მარშრუტიზაციის ცვლილებას.
იპოვეთ მოწყობილობა, რომელმაც დაივიწყა
რამდენიმე მოწყობილობას შეუძლია ერთი და იმავე ნაკადის მდგომარეობის შენახვა: ლოკალური მარშრუტიზატორი, ზემოთ მდებარე გადამთარგმნელი, ღრუბლის საზღვარი და host-ის firewall. თითოეულს აქვს საკუთარი ტაიმერი და იმარჯვებს უმოკლესი. ხუთწუთიანი შეწყვეტა ჩვეულებრივ ნიშნავს, რომ ერთი მოწყობილობა სხვებზე ბევრად დაბლა არის კონფიგურირებული.
ნუ ჩათვლით, რომ დოკუმენტირებული ნაგულისხმევი მნიშვნელობა თქვენი გზის ვადაა. ეს ერთი მოწყობილობის ნაგულისხმევია.
- სახლის მარშრუტიზატორი: ხშირად წუთები, ზოგჯერ გაცილებით ნაკლები.
- ღრუბლოვანი NAT ან დატვირთვის გამანაწილებელი: მოძებნეთ დოკუმენტირებული უმოქმედობის ვადა სპეციალურად UDP-ისთვის.
- Host-ის firewall: netfilter-ის თვალთვალის ტაიმერები ვრცელდება თითოეულ ნაკადზე.
შეამოწმეთ ტაიმერები რეალურ გზაზე
Linux-ში netfilter-ის თვალთვალის ტაიმერები ხილული და რეგულირებადია: sysctl net.netfilter.nf_conntrack_udp_timeout და net.netfilter.nf_conntrack_udp_timeout_stream. მეორე ძალაშია მაშინ, როცა ტრაფიკი უკვე ორივე მიმართულებით შენიშნულია, ამიტომ დამყარებულ გვირაბს შეუძლია უბრალო პრობაზე მეტხანს იცოცხლოს.
RFC 4787 განსაზღვრავს UDP NAT-ის ქცევას და რეკომენდებულ მინიმუმებს. ეს არის ის ცნობარი, რომელზეც უნდა დაეყრდნოთ, როცა მომწოდებლის ნაგულისხმევი უჩვეულოდ მოკლე ჩანს.
Keepalive და ხელახალი დაკავშირება სხვადასხვა იარაღია
Keepalive ინარჩუნებს ასახვას ცოცხალს; ხელახალი დაკავშირება მკვდარ სესიას თავიდან აშენებს. ისინი სხვადასხვა ხარვეზს აგვარებენ და ურთიერთშემცვლელი სიჩქარის პარამეტრები არ არიან. WireGuard-ის PersistentKeepalive პარამეტრი ფიქსირებული ინტერვალით აგზავნის პაკეტს, რომ NAT-ის კავშირი ღიად შეინარჩუნოს. OpenVPN-ის keepalive პარამეტრი იგივე საქმეს აკეთებს თავისებურად. არც ერთი არ ეხმარება, თუ შუაში მდგარ მოწყობილობას ნაკადი უკვე დავიწყებია და ორივე მიმართულებას ყრის.
ძალიან ხშირი პრობები სამუშაოს ზრდის, მაგრამ არასწორ საზღვარს არ ასწორებს.
შეამოწმეთ ახალი მოთხოვნით და არა გვერდის გადატვირთვით
ტაიმერის შეცვლის ან keepalive-ის დამატების შემდეგ გაიმეორეთ უმოქმედობის სცენარი ზუსტად როგორც ადრე. შემდეგ გააკეთეთ ნამდვილად ახალი მოთხოვნა დაფარული აპლიკაციიდან. უკვე ჩატვირთული ბრაუზერის ჩანართი შეიძლება ქეშიდან გამოჩნდეს და არაფერს გეტყვით.
თუ გაჩერება გრძელდება, გადაადგილდით ერთი ჰოპით გარეთ და შეამოწმეთ იმ მოწყობილობის მდგომარეობის ცხრილი.