Здравствуйте! Знаю что есть способ ограничивать с помощью police в tc или нормально шейпить с помощью редиректа на ifbX (ifb0, например). Но если нужно шейпить (ограничивать) трафик у большого количества устройств, то правильнее было бы создать много ifbX (например, 3000 шт; modprobe numifbs=3000). Но это как то странно выглядит и сервер грузится из-за этого минут 5-8. У ограничения с помощью police есть проблема когда ограничиваешь скорость на 20Mbit/s - в итоге выдает только половину этого значения. Нормально ограничивает только на больших скоростях, около 80 Мбит/с. Можете что либо подсказать?
делал на pptp сервере, который держал до 2-3к клиентов
все собиралось скриптами.
А в чем проблема в количестве машин?
Два интерфейса - имеется в виду следующая схема:
роутер
eth0 - смотрит в инет
eth1 -смотрит в сторону клиентов
Шейпер вешается:
на eth0 - для исходящего трафика клиента
на eth1 - для входящего трафика клиента
в обоих случаях шейпер вешается на исходящий из интерфейса трафик, поэтому никаких policy и ifb не надо.
ifb надо в том случае, если у вас несколько интерфейсов в сторону инета или несколько интерфейсов в сторону клиента. Тогда тоже достаточно двух ifb. На одном объединяется входящий трафик клиента, на втором исходящий. Объединяется и вешается шейпер, по такому же принципу.
Логику не понимаю просто. У меня PPPoE. И мы создаем для каждого ppp устройства htb шейпер. Поэтому у меня точно такая же логика создать для каждого ppp по ifb и зеркалировать туда трафик. Можно сделать и для каждого абонента по подклассу в одном общем классе htb и отсылать каждого абонента к своему подклассу и шейпить его там. Не делал так. Поэтому и не знаю как это будет работать по сравнению с текущим способом с учетом того, что тогда каждый пакет должен будет быть классифицирован в одном общем классе, а не просто тупо отправлен к классу для своего устройства. Хотя возможно слабо это представляю. Поэтому и прошу помочь разобраться с такими нюансами. Спасибо за ответ.
У вас получится шейпер исходящего в сторону абонента - на pppoe интерфейсе, а шейпинг исходящего от абонента - либо в общем шейпере на внешнем интефейсе сервера, либо через tc ingress policy.
А то, что там неточно получается - так не задавайте шейпер точь в точь, как написано в тарифе. У меня вот в тарифе написано 1 мегабит - а шейпер стоит на 10% больше. Вам не принципиально, а клиент видит у себя именно тарифную скорость. И ему не интересно про служебный трафик, накладные расходы....
Руслан Федосеев: Нет. У нас задается одинаковая скорость для аплинка и доунлинка на ppp интерфейсе. Одна скорость шейпером. Другая - police. В итоге при тестировании с помощью спидтеста (да или хотябы расшарить hfs с белым IP) выдает положенную для даунлинка, но в два раза меньшую для аплинка. На пример, для 21Мбит/с выдаст 21 и 10 соответственно. Вы не поделились своими соображениями по поводу того что будет эффективнее: создавать для каждого устройства по шейперу или создавать один общий шейпер и классифицировать по ip.