რატომ ადაპტერების რიგი არ განსაზღვრავს თქვენი ლაბორატორიის VPN მარშრუტს
ჰიპერვიზორში ადაპტერი 1 არაფერს ამბობს იმაზე, რომელ მარშრუტს აირჩევს სტუმარი. შეადარეთ პრეფიქსები, მეტრიკები და პოლიტიკის წესები ყოველი ტექნიკური ცვლილების შემდეგ.
ის, რომ ადაპტერი 1 ჰიპერვიზორის სიაში პირველია, მხოლოდ ჩვენების რიგია და სტუმრის მარშრუტიზაციის ცხრილი მას არ კითხულობს. გზას განსაზღვრავს პრეფიქსი, მეტრიკა და ნებისმიერი პოლიტიკის წესი, რომელიც ორივეზე ადრე მოქმედებს. ამიტომ ლაბორატორიის VM-ზე ხიდის ადაპტერის დამატებამ შეიძლება შექმნას მეორე ნაგულისხმევი გზა, მაშინ როცა ძველი NAT ინტერფეისი კვლავ ჩანს როგორც არსებული და მეორედ დანომრილი. შედეგია VM, რომელიც ზოგჯერ იყენებს გვირაბს და ზოგჯერ არა, ყოველგვარი კონფიგურაციის ცვლილების გარეშე, რომელიც ამას ახსნიდა.
სამი პირობა განსაზღვრავს გზას
სამი პირობაა: რომელი პრეფიქსია უფრო კონკრეტული, რას აკეთებენ მეტრიკები, როცა პრეფიქსები თანაბარია, და რომელი წესები გამოიყენა სტუმარმა ტექნიკური ცვლილების შემდეგ. თითოეულზე პასუხი ერთი ბრძანებით შეიძლება, და არცერთი მათგანი ჰიპერვიზორის დანომვრას არ ეხება.
სწორედ ეს უკანასკნელი წერტილია გადაწყვეტილება: თუ ვერ ამბობთ, რომელი პრეფიქსი იმარჯვებს VPN-ის საბოლოო წერტილის საკუთარი მისამართისთვის, თქვენ არ გაქვთ მარშრუტიზაციის პოლიტიკა, გაქვთ ტოპოლოგია, რომელიც დღეს შემთხვევით მუშაობს.
პირველი პირობა: რომელი პრეფიქსი იმარჯვებს
10.8.0.0/24-ისკენ მიმავალი მარშრუტი ამარცხებს ნაგულისხმევ მარშრუტს მის შიგნით არსებული მისამართისთვის, მეტრიკებისა და ადაპტერების რიგის მიუხედავად. ამიტომ კონკრეტული მარშრუტის დამყენებელი VPN კლიენტი აგრძელებს მუშაობას მაშინაც, როცა ჩნდება მეორე ადაპტერი უფრო დაბალი მეტრიკით: კონკრეტულობა იმარჯვებს ღირებულების განხილვამდე. შეამოწმეთ ip route show-ით ის ცხრილი, რომელიც ფიქრობთ, რომ გამოიყენება, და ip route get 203.0.113.9-ით ის პასუხი, რომელსაც ბირთვი რეალურად მოგცემდა კონკრეტული დანიშნულებისთვის.
საბოლოო წერტილის საკუთარი მისამართი ყველაზე მნიშვნელოვანი გამოცდაა. თუ VPN სერვერის მისამართი წყდება ახლად დამატებული ხიდის ადაპტერის მეშვეობით, გვირაბი შეიძლება საერთოდ არ დამყარდეს, ან დამყარდეს და შემდეგ დაკარგოს საკუთარი ტრანსპორტირების გზა. ჰკითხეთ სწორედ იმ მისამართს, ნაცვლად იმისა, რომ ჩათვალოთ გვირაბის ინტერფეისი პასუხად.
მეორე პირობა: რას აკეთებს მეტრიკა და რას არა
მისი როლი ვიწროა, ვიდრე უმეტესობა ელის. მეტრიკები წყვეტენ თანაბრობას ერთი და იმავე პრეფიქსის მარშრუტებს შორის; ისინი არ აძლევენ ფართო მარშრუტს უფრო კონკრეტულის დამარცხების საშუალებას. თანაბრობისას ნაკლები რიცხვი სასურველია, და სხვადასხვა ოპერაციული სისტემა საპირისპირო მიმართულებით ითვლის, ამიტომ Linux-სა და Windows-ს შორის გადაწერილი რჩევები ხშირად საკუთარ თავს ეწინააღმდეგება.
სტუმარში ip route show მეტრიკას ყოველი მარშრუტის გვერდით ბეჭდავს, ხოლო Windows-ში Get-NetRoute ბეჭდავს InterfaceMetric-ს და მარშრუტის მეტრიკას. წაიკითხეთ ორივე, რადგან ეფექტური უპირატესობა შეიძლება ჯამი იყოს და არა ერთი ველი. თუ ორი ნაგულისხმევი მარშრუტი არსებობს, ეს არის აღმოჩენა: სტუმარს გასასვლელის ორი გზა აქვს, და რომელი იმარჯვებს, დამოკიდებულია რიცხვებზე, რომლებიც ტექნიკურ ცვლილებას შეუძლია შეცვალოს.
მესამე პირობა: რა გამოიყენა სტუმარმა რეალურად
კონფიგურაცია არ არის იგივე, რაც გამოყენებული მდგომარეობა. ინტერფეისების სახელები ტექნიკური ცვლილებებისას ყველა პლატფორმაზე არ არის სტაბილური, და კონფიგურაცია, რომელიც სახელს ემთხვეოდა, ახლა შეიძლება არაფერზე ვრცელდებოდეს.
შეამოწმეთ გამოყენებული მდგომარეობა და არა განზრახული. ip -br link აჩვენებს ახლა არსებულ ინტერფეისებს, ხოლო NetworkManager-ის მქონე ჰოსტზე nmcli connection show აჩვენებს, რომელი პროფილია რომელ მოწყობილობაზე მიბმული. მიბმის ვერმოხერხებელი პროფილი ინტერფეისს მისამართების გარეშე ტოვებს ჩართულს, რაც მარშრუტიზაციის პრობლემად გამოიყურება და სახელების პრობლემაა. აღდგენილი სნეპშოტები ამას აუარესებს, რადგან სტუმრის შენახული მდგომარეობა შეიძლება მიუთითებდეს ადაპტერების იდენტობებზე, რომლებსაც ახალი ტექნიკა აღარ იძლევა.
შეინარჩუნეთ ლაბორატორიის ტოპოლოგია გამრავლებადი
შეინახეთ განზრახული ვირტუალური ქსელის კავშირები სტუმრის კონფიგურაციასთან ერთად, რათა როლიდან ადაპტერზე დაბმა ჩაწერილი იყოს და არა სიის პოზიციიდან გამოტანილი.
ჩვეულებრივ საკმარისია ოთხი როლის დასახელება: კერძო კავშირი, მართვა, გარე ტრანსპორტი და გვირაბი. თითოეული ფაილში კონკრეტულ ადაპტერსა და კონკრეტულ სტუმრის ინტერფეისს უნდა შეესაბამებოდეს.
შემდეგ შეამოწმეთ რეალური აპლიკაცია ტექნიკური ცვლილების, გადატვირთვის ან აღდგენილი სნეპშოტის შემდეგ და ამ შემოწმებაში ჩართეთ VPN-ის საბოლოო წერტილამდე მიმავალი მარშრუტი. თუ კარიბჭის VM უნდა იყოს ერთადერთი გასასვლელი, დაადასტურეთ, რომ ტესტის VM-ს არ აქვს უნებლიე მეორე ნაგულისხმევი გზა, რადგან ხიდის ადაპტერი ზუსტად მეორე ნაგულისხმევ გზას ამატებს. შეამოწმეთ სტუმრიდან და არა ჰიპერვიზორის კონსოლიდან, რადგან ორივე შეიძლება არ თანხმდებოდეს, რომელი ინტერფეისი რომელია.
VirtualBox-ის ქსელური დოკუმენტაცია აღწერს ადაპტერების რეჟიმებს და რას უკავშირდება თითოეული, და სწორედ ეს ნაწილი ღირს წაკითხვად მეორის დამატებამდე. ლაბორატორია, რომელიც ადგენს, რომელი ადაპტერი ემსახურება რომელ როლს, მარშრუტის ცვლილებას ახსნადს ხდის. ლაბორატორია, რომელიც ჰიპერვიზორის დანომვრას ეყრდნობა, ყოველ ცვლილებას ექსპერიმენტად აქცევს.