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

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

კლიენტი აყენებს წესებს, არჩევანს ბირთვი აკეთებს

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

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

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

აპლიკაციაზე მიბმა და დანიშნულების პრეფიქსები სხვადასხვა იარაღია

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

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

DNS და დაცვის გადამრთველი საკუთარ წესებს მიჰყვებიან

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

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

შეამოწმეთ გაყოფა ორივე მხრიდან

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

ip route get 203.0.113.10
ip route get 198.51.100.25
resolvectl query intranet.example.com
curl -s --interface tun0 https://example.com -o /dev/null -w '%{http_code}\n'

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

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

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