Pi VPN მრავალი როუტერით: მოათავსეთ თითოეული მარშრუტი მოწყობილობაზე, რომელიც წყვეტს
ქვედა როუტერი ამატებს მეორე კლიენტურ ქვექსელს და ოთხი მოწყობილობიდან თითოეულს ერთი გადაწყვეტილება აქვს. მოათავსეთ მარშრუტები, შეამოწმეთ წყარო, შემდეგ ტესტი რეალური კლიენტიდან.
Wi-Fi ყუთის Pi-ს უკან დაყენება ერთ სამარშრუტო გადაწყვეტილებას ოთხად აქცევს და გეგმა იშლება, როცა ოთხივე ერთ მოწყობილობაზე მიიღება. პირველი კითხვა არ არის, რომელი მარშრუტი დავამატოთ. არამედ, ხიდავს ახალი ყუთი თუ მარშრუტიზაციას აკეთებს, რადგან ეს პასუხი განსაზღვრავს, რამდენი ქვექსელი არსებობს და რომელმა მოწყობილობებმა უნდა ისწავლონ მათ შესახებ. ჯერ აირჩიეთ მიერთების მოდელი; ყოველი მარშრუტი მისგან გამომდინარეობს.
ხიდი თუ მარშრუტიზაცია: არჩევანი, რომელიც რაოდენობას განსაზღვრავს
ხიდი ახალ კლიენტებს ათავსებს იმავე ქვექსელში, რომელსაც Pi უკვე ემსახურება. ერთი ქვექსელი, ერთი DHCP ხელისუფლება და არანაირი გადაცემა მარშრუტიზაციისთვის. ეს უფრო მარტივი განლაგებაა და სწორი, როცა ცალკე კლიენტური ქსელი არასდროს ყოფილა მოთხოვნა. მარშრუტიზებული კავშირი სხვა დიზაინია: ყუთი ინარჩუნებს თავის ქვექსელს და ეს პრეფიქსი ყველგან უნდა გადატანილ იქნას, სადაც ტრაფიკი მიდის.
გეგმის დარჩენილი ნაწილი ინარჩუნებს ქვედა როუტერს და იცავს კლიენტების წყაროს მისამართებს. მიზანია ერთი კერძო VPN ქსელი და არა სრული ინტერნეტ გასასვლელი. ჩაწერეთ მოდელი მისამართებამდე, რადგან ქვემოთ მოცემული სია მხოლოდ მარშრუტიზებული მიერთების მაგალითია.
client subnet 10.41.0.0/24
client gateway 10.41.0.1
router-to-Pi link 192.168.71.2
Pi on that link 192.168.71.1
private target 10.72.9.0/24
ვინ რას წყვეტს
| Decision owner | Entry that encodes the decision | Failure when the entry is missing |
|---|---|---|
| Pi VPN host | Return route for 10.41.0.0/24 via 192.168.71.2, and a tunnel route for 10.72.9.0/24 | Replies to downstream clients die at the Pi |
| Owner of the remote network | A path for 10.41.0.0/24 over the permitted tunnel | Replies stop at the first unaware hop |
| LAN router behind the Pi | Specific route for 10.72.9.0/24 via 192.168.71.1, or a suitable default | Clients never send private traffic to the Pi |
| Client machine | Default via 10.41.0.1, or a specific entry for 10.72.9.0/24 | The private network is unreachable from the client |
თითოეული მოწყობილობა ერთ გადაწყვეტილებას იღებს და არცერთი ვერ მიიღებს სხვისას მის ნაცვლად. Pi-ს ორი ჩანაწერი სჭირდება და არა ერთი, ხოლო დაბრუნების გზა არის ის, რასაც ხალხი ივიწყებს. გადაგზავნილი ტრაფიკი სწორად აღწევს კერძო ქსელს და შემდეგ კვდება დაბრუნების გზაზე, რადგან Pi წარმოდგენა არ აქვს სად ცხოვრობს 10.41.0.0/24. ეს ჰგავს ბარათის პრობლემას და სინამდვილეში დაკარგული მარშრუტია.
შორეულ მხარესაც სჭირდება საკუთარი მარშრუტი. თუ შორეულ ბოლოში მყოფმა სერვისმა არ იცის, რომ 10.41.0.0/24 თქვენი გვირაბით ხელმისაწვდომია, პასუხები ჩერდება პირველ ნაბიჯზე, რომელსაც პასუხი არ აქვს. დაამატეთ ორივე მიმართულება პაკეტის ფილტრების წაკითხვამდე.
შემდეგი ნაბიჯები მიერთებიდან მოდის
შემდეგი ნაბიჯი უნდა იყოს მისამართი ქსელში, რომელსაც მოწყობილობა ნამდვილად აღწევს. VPN პარტნიორის საჯარო მისამართი არ არის შემდეგი ნაბიჯი კერძო ქვექსელისთვის და შორეული სერვისული ქსელი საერთოდ არ არის შემდეგი ნაბიჯი. მიუწვდომელ კარიბჭემდე მიმავალი მარშრუტი სიაში სწორად გამოიყურება და ყოველ პაკეტს ყრის. შეამოწმეთ კარიბჭე პასუხობს თუ არა, სანამ დანიშნულებას დაადანაშაულებთ.
შეინარჩუნეთ Pi-ს გარე VPN პარტნიორი ხელმისაწვდომი მისივე ქვედა მარშრუტით. ეს ჩანაწერი გამოყოფილია დატვირთვის მარშრუტებისგან და მათი შერევა იძლევა გვირაბს, რომელიც ბილიკის ცვლილების შემდეგ ვეღარ აღდგება.
სტატიკური მარშრუტების დოკუმენტაცია ცხადს ხდის განსხვავებას დანიშნულებასა და კარიბჭეს შორის, თუმცა ყოველი პლატფორმა თავის მენიუებს სხვანაირად უწოდებს. წაიკითხეთ თქვენს წინ მყოფი მოწყობილობის დოკუმენტაცია და ნუ დააკოპირებთ სხვა მწარმოებლის ეკრანს. ქვემოთ მოცემული ბრძანებები Linux-ში ჩანაწერების ფორმას აჩვენებს.
# on the Pi
ip route add 10.41.0.0/24 via 192.168.71.2
ip route add 10.72.9.0/24 dev tun0
# on the downstream router
ip route add 10.72.9.0/24 via 192.168.71.1
რას აკეთებს თარგმანი წყაროსთან
თუ ქვედა როუტერი უკვე თარგმნის თავის კლიენტებს ტრანზიტულ მისამართზე, Pi ხედავს ერთ თარგმნილ წყაროს თითოეული კლიენტის საკუთარი მისამართის ნაცვლად. ეს განსხვავებული დიზაინია ზემოთ აღწერილი წყაროს შემნახველისგან. ის ცვლის წყაროზე დაფუძნებულ პოლიტიკას, ჟურნალირებას და იმას, რომელი მხარე შეიძლება იწყებდეს კავშირებს. ორივე დიზაინი მუშაობს; ისინი სხვადასხვა კითხვას პასუხობენ.
როცა ზედა VPN სერვისი უარს ამბობს კლიენტის პრეფიქსის უკან მარშრუტიზაციაზე, ვიწრო თარგმანი Pi-ს გვირაბის გასასვლელში შეიძლება იყოს ლეგიტიმური დროებითი გადაწყვეტა. ეს არ არის მტკიცებულება, რომ დაკარგული მარშრუტი ზედმეტი იყო. ჩაწერეთ, რომელ მისამართს ხედავს შორეული ქსელი სინამდვილეში და რა დაბრუნების გზა გამოდის.
მარშრუტის არჩევა, გადაგზავნის ნებართვა და წყაროს თარგმანი რჩება სამ ცალკე საქმედ. საერთო NAT ჯაჭვის გასუფთავება ან ყოველი ინტერფეისის დაშვება იმის გამო, რომ ერთი სადენიანი კლიენტი მუშაობს, არის გზა, რომლითაც მომუშავე ტესტი ღია გადამცემად იქცევა.
დაამტკიცეთ ეს კლიენტის მანქანიდან
გაგზავნეთ მოთხოვნა ქვედა LAN-ის მანქანიდან, შემდეგ თვალი ადევნეთ მის წყაროს გარეთ და უკან. Pi-ის მიერ გაგზავნილი ping არასდროს ამოწმებს ქვედა დაბრუნების მარშრუტს, ამიტომ წარმატებული ping ნაკლებს ამტკიცებს, ვიდრე ჩანს. დაამატეთ მეორე ტესტი სადენიანი კლიენტიდან Pi-ის საკუთარ LAN-ში, რათა ორი გზა შედარდეს. გაიმეორეთ ორივე რომელიმე მოწყობილობის გადატვირთვის შემდეგ.
ხელით დამატებული მარშრუტები და არასდროს შენახული თარგმანები ერთად ქრება. მაშინ წყვილი ახალ ხარვეზად გამოიყურება და არა დაუმთავრებელ სამუშაოდ.
შეინახეთ მიერთების მოდელი მარშრუტებთან, დაშვებულ კერძო სერვისთან და ნებისმიერ თარგმანთან ერთად ერთ ჩანაწერში. სწორედ ეს ჩანაწერი უშლის ხელს შემდეგ ადამიანს უსადენო განლაგება მარშრუტიზაციის პოლიტიკის საკითხად მიიჩნიოს.