ერთი tc ჩამოყალიბებელი თავისით ვერ ზღუდავს ყველა VPN კლიენტს
კლიენტზე დაფუძნებულ ლიმიტს სჭირდება დათვლის იდენტობა, ორი მიმართულება და კლასიფიკაციის წერტილი. ერთი ჩამოყალიბებელი გვირაბზე არ არის ერთი კვოტა მომხმარებელზე.
ინსტრუქცია სრულად ჟღერს: შეზღუდე ყველა VPN კლიენტი 20 Mbit/s-მდე. მაგრამ ის სრული არ არის და გვირაბის ინტერფეისზე ერთი რიგის დისციპლინა ამას ვერ უზრუნველყოფს. «კლიენტზე» შეიძლება ნიშნავდეს გვირაბის მისამართზე, მოწყობილობაზე ან ანგარიშზე, და ყოველი არჩევანი პაკეტებს სხვაგვარად აკლასიფიცირებს. ნებისმიერი წესის დაწერამდე გადაწყვიტე, რომელს ასახელებს სინამდვილეში მოთხოვნა.
ქვემოთ ყველაფერი ეხება მანძილს ამ წინადადებასა და რაღაც მომუშავეს შორის.
რა უნდა ნიშნავდეს პირველ რიგში «კლიენტზე»
გვირაბის მისამართი ადვილად კლასიფიცირდება და ადვილად გადამუშავდება. მოწყობილობა უფრო რთულია, რადგან ერთ ანგარიშს შეიძლება რამდენიმე ატაროს, და მოწყობილობას შეიძლება რამდენიმე მისამართი ჰქონდეს, განსაკუთრებით IPv6-ით. სამართლიანობის პოლიტიკისთვის ანგარიში ყველაზე მნიშვნელოვანი ერთეულია და პაკეტის თავსართში ყველაზე ძნელად შესამჩნევი. ყოველი განსაზღვრება თავის დათვლის გასაღებს გულისხმობს, ამიტომ მათ შორის რყევადი პოლიტიკა იმას არ გააკეთებს, რასაც აღწერა ამტკიცებს.
მიმართულება მეორე დაკარგული სიტყვაა. ატვირთვა, ჩამოტვირთვა და კომბინირებული სამი სხვადასხვა მოთხოვნაა, და ერთ ინტერფეისზე ერთი გამავალი წესი იშვიათად ფარავს ორივე გზას.
აირჩიე წერტილი, სადაც კლიენტი ჯერ კიდევ ჩანს
ყოველი მიმართულება განისაზღვრება ინტერფეისის მიმართ. რაც გამოდის სერვერის გვირაბიდან დაშორებული კლიენტისკენ, ითვლება ჩამოტვირთვად იმ კლიენტისთვის; რასაც კლიენტი აგზავნის, შედის გვირაბში და შემდეგ გამოდის თავის დანიშნულებისკენ. აირჩიე დაგეგმვის წერტილი ყოველი მიმართულებისთვის და იკითხე, რომელი ველები არსებობს იქ. წყაროს NAT-ამდე ატვირთვა ჯერ კიდევ ატარებს კლიენტის შიდა მისამართს; თარგმნის შემდეგ მარტივმა წყაროს დამთხვევამ შეიძლება ვეღარ ამოიცნოს ის.
დაშიფრულ გზაზე თავსართები VPN-ის ტრანსპორტს ეკუთვნის, ამიტომ შიდა მისამართებს რომ ადარებს ფილტრს შესადარებელი არაფერი აქვს. დიზაინმა შეიძლება უფრო ადრე დააკლასიფიციროს და ნიშანი გადასცეს გვიანდელ დამგეგმავს, მაგრამ ეს გადაცემა განზრახ უნდა იყოს: პაკეტის ნიშნები, კავშირის ნიშნები და დამგეგმავის კლასები სხვადასხვა მდგომარეობაა, და არა ერთი მნიშვნელობა, რომელიც წინ გადაეცემა.
ვედრები თავისით არ ჩნდება
ინტერფეისზე მიმაგრებული ტოკენ-ვედრო აყალიბებს ნებისმიერ ტრაფიკს, რომელიც მას იყენებს; ის არ ჭრის ახალ ვედროს ყოველი წყაროს მისამართისთვის. კლასებზე დაფუძნებული დიზაინი ნაცვლად ალაგებს არჩეულ ტრაფიკს კლასებში, ფილტრები წყვეტენ წევრობას, და HTB-ის სახელმძღვანელო ჰყოფს კლასის სიჩქარეს მის ჭერს, როცა მშობელს თავისუფალი გამტარობა აქვს. თუ განზრახვა მკაცრი ზღვარია, დააყენე ჭერი და განზრახ გადაწყვიტე სესხების ქცევა; არ მიიჩნიო ყოველი სიჩქარის რიცხვი აბსოლუტურ მაქსიმუმად.
როცა მოთხოვნა კლიენტზეა, ერთდროულად მიმავალმა ორმა გადაცემამ ერთი კვოტა უნდა გაიყოს. თითოეულ ნაკადს სრული სიჩქარის მიცემა სხვა პოლიტიკაა და ის უძლებს ნებისმიერ გამოცდას, რომელიც მხოლოდ ერთ ჩამოტვირთვას უყურებს.
ორი მოწყობილობა, ერთი ანგარიში, ერთი კვოტა?
ორი მოწყობილობის მისამართის ცალ-ცალკე შეზღუდვა არასოდეს იკრიბება ანგარიშის დონეზე ერთ კვოტად, მაშინაც კი, როცა ორივე მოწყობილობა ერთი და იმავე პიროვნებად შედის. იგივე ეხება მთელ LAN-ს, რომელიც ერთი პარტნიორის უკან ითარგმნება, ან დამატებით IPv6 მისამართებს, რომლებსაც კლასიფიკატორი არასოდეს მოელოდა. შეინახე მისამართისა და იდენტობის კავშირი აქტუალური, და გახსოვდეს, რომ სტაბილური მისამართი ამარტივებს რუკას, მაგრამ არ ადასტურებს მის მფლობელს.
განსაზღვრე აგრეთვე აფეთქებისა და რიგის ქცევა. ტოკენ-ვედრები იძლევა საშუალოზე მაღალი ხანმოკლე აფეთქებების საშუალებას, და ბუფერიზაცია ამატებს დაყოვნებას; ჭარბის პოლიცირება და მისი მოგვიანებით რიგში ჩაყენება სხვადასხვა გადაწყვეტილებაა სხვადასხვა სიმპტომით.
გადამოწმებისთვის გაუშვი ორი გადაცემა ერთი კლიენტიდან, დაამატე მეორე კლიენტი და წაიკითხე კლასების მთვლელები ყოველ მიმართულებით.