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

პრეფიქსს მფლობელი სჭირდება, არა მომენტი

დაიწყე მოთხოვნის დაწერით წინადადებად სუბიექტით: მიაღწიე 10.77.0.0/24 ოფისის VPN-ის გავლით, სანამ ეს კავშირი აწეულია. ეს წინადადება ასახელებს პრეფიქსს, კავშირს და პირობას, და მაშინვე გამორიცხავს ორ პოპულარულ შემცვლელს: შესვლის კაუჭს და ინტერფეისის სახელს, როგორიცაა ppp0 ან utun2.

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

გამოიყენე მარშრუტის განზრახვის მხარდაჭერილი წყარო

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

MechanismCan carry extra prefixesWho owns the lifetime
Gateway-pushed routesOften, if the gateway is configured for itThe connection
Managed profile settingsDepends on the client and profile formatThe profile
Provider tunnel settingsYes, as included and excluded routesThe provider process
Manual commandYes, onceNobody

პაკეტური გვირაბების დეველოპერებისთვის Apple-ის IPv4 გვირაბის პარამეტრები ცხადად ამჟღავნებს ჩართულ და გამორიცხულ მარშრუტებს, და IPv6-საც აქვს თავისი შესაბამისი. ეს არის API-ები, რომლებსაც პროვაიდერი იყენებს, და არა მტკიცება, რომ ყველა ბუნებრივი VPN პანელი ადმინისტრატორს თვითნებურ მარშრუტთა სიას სთავაზობს. თუ მიმდინარე კომბინაცია საჭირო პრეფიქსებს ვერ გამოხატავს, შემდეგი ნაბიჯი ოპერატორის მხარდაჭერილი კონფიგურაციის გზაა და არა სხვა აპი, რომელიც უკეთესი ქცევის იმედით დგინდება.

სიცოცხლის ხანგრძლივობა მოიცავს გაწმენდას

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

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

ხელახალი დაკავშირების რბოლა

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

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

რა უნდა შემოწმდეს და რა არ შეუძლია მარშრუტს

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

route -n get 10.77.0.5
netstat -rn -f inet

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

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

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