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

რიგი, რომელსაც გამანაწილებელი იცავს

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

SituationAddress chosenPractical effect
Reconnect, old address still freeThe remembered addressRules appear stable for days
Old address taken by another clientLeast recently used free addressA working rule silently stops matching
Concurrent sessions, same nameFirst free address, per sessionOne identity can hold several leases

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

რატომ ჩანს ქირა სტაბილურად და შემდეგ ინაცვლებს

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

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

მდგრადობის ფაილი იმახსოვრებს, არ იტოვებს

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

ifconfig-pool-persist /etc/openvpn/ipp.txt
server 10.8.0.0 255.255.255.0

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

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

მისამართის სწორად დამაგრება

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

# client-config-dir entry for "laptop-acme"
ifconfig-push 10.8.0.50 255.255.255.0

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

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

დისტანციური მისამართი ცალკე კითხვაა

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

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

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