nftables-ის ნიშნები და VPN მარშრუტიზაცია: რომელი წესი იმარჯვებს სინამდვილეში
ფაირვოლში დაყენებული ნიშანი მაინც შეიძლება გამოტოვოს მარშრუტიზაციის წესმა. მეოთხეს დამატებამდე შეამოწმეთ წესის ნიღაბი, ობიექტის ტიპი და სხვა მწერლები.
nftables-ში დაყენებული ნიშანი ერთი კლასის ტრაფიკი გვირაბში უნდა გაატაროს, თუმცა ტრაფიკი კვლავ ფიზიკური ინტერფეისიდან გადის. წესების ნაკრები ცალკე სწორად გამოიყურება. ჩვეულებრივ მოხდა ის, რომ სხვა რამემ იგივე ნიშანი ჩაწერა, ან მარშრუტიზაციის წესი ემთხვევა ნიღაბს, რომელსაც ახალი მნიშვნელობა აღარ აკმაყოფილებს.
შემოწმება 1: წაიკითხეთ წესი, რომელსაც ბირთვი ემთხვევა
დაიწყეთ პოლიტიკის წესით და არა ფაირვოლით. ბირთვი წესებს პრიორიტეტის რიგით განიხილავს და პირველი დამთხვევა განსაზღვრავს ცხრილს. წაიკითხეთ fwmark-ის მნიშვნელობა და ნიღაბი თავად წესიდან, შემდეგ დაადასტურეთ, რომ თქვენ მიერ დაყენებული ნიშნის მქონე პაკეტი ნამდვილად ემთხვევა მას. წესი, რომელიც სრულ 32-ბიტიან მნიშვნელობას ელოდება, არ დაემთხვევა მხოლოდ ერთი ბიტის მატარებელ პაკეტს.
შემდეგ დაადასტურეთ, რომელი ცხრილი ირჩევს ამ წესს და რას შეიცავს ცხრილი. ცარიელ ცხრილზე მიმთითებელი წესი ძებნის წარუმატებლობას იწვევს, რაც ბევრ სისტემაში ნიშნავს, რომ პაკეტი შემდეგ წესზე გადადის და ფიზიკური ინტერფეისიდან გადის.
ორი ბრძანება წყვეტს ამას: წესების სია და მარშრუტის ძებნა დანიშნულებისთვის ამ ცხრილში.
შემოწმება 2: პაკეტის ნიშანი თუ კავშირის ნიშანი
nftables-ს შეუძლია ნიშნის დაყენება პაკეტზე და ნიშნის დაყენება კავშირების თვალყურის ჩანაწერზე, და ეს სხვადასხვა ობიექტია. პაკეტის ნიშანი ცოცხლობს პაკეტის დამუშავების გავლის განმავლობაში, ხოლო კავშირის ნიშანი რჩება ნაკადისთვის და განზრახ უნდა დაკოპირდეს. ერთის დაყენება და მეორის მოლოდინი გავრცელებული ნახევრად შესწორებაა.
თუ მარშრუტიზაციის წესი პაკეტის ნიშანს ეყრდნობა, კავშირის ნიშნის მოგვიანებით აღდგენა გზაზე ამ გადაწყვეტილებისთვის არაფერს აკეთებს, რადგან გადაწყვეტილება უკვე მიღებულია.
გადაწყვიტეთ, რომელ ობიექტს ეკუთვნის მარშრუტიზაციის სიგნალი, შემდეგ დააყენეთ იგი იმ წერტილში, სადაც მარშრუტიზაციის გადაწყვეტილება მიიღება.
შემოწმება 3: ვინ კიდევ წერს ამ ნიშანს
WireGuard-ის საკუთარი ხელსაწყოები ნიშნავს თავის UDP პაკეტებს, რათა დაშიფრული ტრანსპორტი უკან არ გადამისამართდეს იმ გვირაბში, რომელსაც ეკუთვნის. თუ თქვენი წესების ნაკრები იმავე ველს უკავშირებელ მნიშვნელობას ანიჭებს, ეს გამონაკლისი ქრება და გვირაბის გარე ტრაფიკი საკუთარ თავში შესვლას ცდილობს. სიმპტომია გვირაბი, რომელიც მყარდება და შემდეგ წყვეტს ტრაფიკის გატარებას.
ნიშნებს ასევე იყენებს სხვა ფაირვოლის ხელსაწყოები, კონტეინერების ქსელი და პოლიტიკის მარშრუტიზაცია სხვა მიზნებისთვის, ამიტომ მთელი ველის ორი ქვესისტემის მიერ ჩაწერა კონფლიქტია, მაშინაც კი როცა თითოეული ცალკე სწორია.
ჩამოთვალეთ მწერლები სანამ კიდევ ერთს დაამატებთ.
შემოწმება 4: ნიღაბი განსაზღვრავს, რას ინარჩუნებთ
ნიშანი 32-ბიტიანი ველია და ნიღბები არის გზა, რომლითაც რამდენიმე მფლობელი იზიარებს მას. ნიღბით მნიშვნელობის დაყენება ინარჩუნებს იმ ბიტებს, რომლებიც თქვენი არ არის; მთელი ველის დაყენება ანადგურებს ყველა სხვის ბიტებს. წაიკითხეთ ნიღაბი ყველა წესში, რომელიც ეხება ველს, მათ შორის იმაშიც, რომელიც თქვენ არ დაგიწერიათ.
დაასაბუთეთ ბიტების განაწილება წესების ნაკრების გვერდით.
სხვაგვარად შემდეგი ადამიანი ხელახლა გამოიყენებს მნიშვნელობას, რომელსაც უკვე ჰყავს მფლობელი, და აქაური კონფლიქტი მარშრუტიზაციის შეცდომად გამოიყურება, სინამდვილეში კი მისამართების შეცდომაა. nftables-ის დოკუმენტაცია პაკეტის მეტამონაცემების შესახებ თავად ნიშნის ოპერაციებს აღწერს.
შემოწმება 5: გადაამოწმეთ რეალური ნაკადით და არა ძებნით
ჩვეულებრივი მარშრუტის ძებნა ნიშანს არ ატარებს, ამიტომ შეიძლება რეალური პაკეტისგან განსხვავებული გზა აჩვენოს. შექმენით ტრაფიკი, რომელიც გაინტერესებთ, და დააკვირდით მთვლელებს, კავშირების თვალყურის ჩანაწერს და ინტერფეისს, რომლიდანაც ის რეალურად გადის. შეამოწმეთ როგორც შემავალი, ისე გამორიცხული კლასი, რადგან ზედმეტად ფართო ნიშანი არღვევს გამორიცხვას და წარმატებულად გამოიყურება. თუ შემავალი კლასი მუშაობს და გამორიცხული კლასიც შედის გვირაბში, ნიშანი ზედმეტად ფართოა და არა ზედმეტად ვიწრო.
მოერიდეთ კავშირების მდგომარეობის გასუფთავებას, რათა აიძულოთ განახლება ცოცხალი სესიის დროს, რადგან ახალ და არსებულ ნაკადებს შეუძლიათ ლეგალურად სხვადასხვა გზა აირჩიონ.
ჩაწერეთ ნიშანი, ნიღაბი და ცხრილი ერთ ადგილას და შემდეგი ცვლილება განხილვადი გახდება.