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

რას აკეთებს def1 სინამდვილეში

ეს დროშა ამატებს 0.0.0.0/1-ს და 128.0.0.0/1-ს, ორივე გვირაბისკენ. 0.0.0.0/1 ფარავს ყველა მისამართს, რომლის პირველი ოქტეტი 0-დან 127-მდეა, ხოლო 128.0.0.0/1 ფარავს 128-დან 255-მდე, ამიტომ ყველა IPv4 დანიშნულებას აქვს უფრო კონკრეტული დამთხვევა, ვიდრე ძველ ნაგულისხმევს. რომელი მარშრუტი მოიგებს, განსაზღვრავს პრეფიქსის სიგრძე და არა მეტრიკა.

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

რატომ /1 და არა /0

მარშრუტიზაცია ირჩევს ყველაზე გრძელ შესაბამის პრეფიქსს და არა ყველაზე დაბალ მეტრიკას, ამიტომ /1 ამარცხებს /0-ს, რაც არ უნდა თქვას ნაგულისხმევის მეტრიკამ. ორივე ნახევარი არსებობს იმიტომ, რომ ერთი /1 ფარავს სივრცის მხოლოდ ნახევარს; როცა მხოლოდ 0.0.0.0/1 არის, 128.0.0.0-დან ზემოთ ყველაფერი კვლავ ძველ ნაგულისხმევს მიჰყვება, რაც ქმნის დამაბნეველ სიმპტომს, როცა ზოგი საიტი მუშაობს, ზოგი კი არა.

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

წაიკითხეთ რეალური მარშრუტიზაციის ცხრილი

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

default via 192.168.50.1 dev wlan0
0.0.0.0/1 via 10.8.0.1 dev tun0
128.0.0.0/1 via 10.8.0.1 dev tun0

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

შეამოწმეთ, რომელ მარშრუტს იღებს პაკეტი სინამდვილეში

უფრო კონკრეტულ მარშრუტებს მაინც შეუძლიათ მოგება: კერძო დიაპაზონის, ლოკალური ქვექსელის მარშრუტი ან თავად VPN სერვერის მისამართი /1-ზე გრძელია. გვირაბს სჭირდება გარე გზა თავის სერვერამდე, და ამ კავშირის უკან გვირაბში გაგზავნა დაუყოვნებლივ გატეხავს მას. Linux-ზე ჰკითხეთ ბირთვს ცხრილის თვალით კითხვის ნაცვლად: ip route get თქვენთვის საინტერესო დანიშნულებით ბეჭდავს არჩეულ მარშრუტს, ინტერფეისს და წყაროს. თუ პოლიტიკაზე დაფუძნებული მარშრუტიზაციაა კონფიგურირებული, შეამოწმეთ წესებიც, რადგან წესს შეუძლია სხვა ცხრილი აირჩიოს მთავარ ცხრილამდე.

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

რას არ ფარავს def1

ორი IPv4 ჩანაწერი არაფერს ამბობს IPv6-ზე: IPv6 კავშირის მქონე ჰოსტი აგრძელებს საკუთარი ნაგულისხმევის გამოყენებას, სანამ რაღაც ამ ოჯახს ცალკე არ გადაამისამართებს, რის გამოც ორმაგი დასტის ქსელში ნაწილი ტრაფიკისა თითქოს გვირაბს გვერდს უვლის. სხვა კლიენტები და ქსელის მენეჯერები სრული გვირაბის მარშრუტიზაციას სხვაგვარად ახორციელებენ, და მათი ცხრილები არ დაემთხვევა. აქ აღწერილი def1-ის ქცევა ეკუთვნის OpenVPN-ის დოკუმენტირებულ დროშას და არა მანქანაზე არსებულ ყველა VPN-ს.

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

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