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

ყველაზე გრძელი პრეფიქსი იმარჯვებს WireGuard-ის შიგნით

თითოეულ peer ჩანაწერს დანიშნულების პრეფიქსების ნაკრები აქვს. როცა პაკეტი ინტერფეისში მარშრუტდება, იმპლემენტაცია ეძებს ჩანაწერს ყველაზე კონკრეტული შესაბამისი პრეფიქსით — იმავე წესს იყენებს მარშრუტიზაციის ცხრილი. ამიტომ /24 ამარცხებს მის შემცველ /16-ს და უფრო ვიწრო peer იღებს ტრაფიკს.

road-warrior კონფიგურაციები ამას განზრახ იყენებენ. ერთი peer ფლობს ფართო დიაპაზონს საიტისთვის, ხოლო ცალკეული ჰოსტები გამოიყოფა /32 ჩანაწერებით, რომლებიც სხვა peer-ებს ეკუთვნის. ნიმუში მუშაობს იმიტომ, რომ გამოყოფები უფრო კონკრეტულია და არა რიგის გამო.

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

ოპერაციული სისტემა ჯერ ინტერფეისს ირჩევს

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

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

შემავალი პაკეტები მოწმდება წყაროს მიხედვით

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

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

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

დუბლირებული დიაპაზონები failover არ არის

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

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

შეამოწმეთ არჩევანი რედაქტირებამდე

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

wg show wg0 allowed-ips
ip route get 10.66.8.20
wg show wg0
ip rule show

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

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

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