LINUX.ORG.RU
ФорумAdmin

Шейпинг трафика клиентов PPTPd


0

2

pptpd генерирует для каждого клиента интерфейс в виде pppX. При шейпинге с помощью htb.init надо писать правила для каждого интерфейса.

Можно ли все интерфейсы pppX динамически объединять в один виртуальный?

Если нет, то как привязать конкретный номер pppX к клиенту, чтобы поместить сгенерированные правила в скрипте в /etc/ppp/ip-up.d/?

Или есть иные, более красивые, способы шейпинга PPTP-трафика?

Ответ на: комментарий от Chaser_Andrey

Свежий accelpppd умеет вешить tbf дисциплину сразу на ппп интерфейс при его создании. Про htb.init лучше забыть, а прочитать мануалы и написать свой скрипт.

ventilator ★★★ ()

Можно, конечно, почитать про IMQ. Но там слишком сложный конфиг получится для шейпинга =)

Jaizer ()
Ответ на: комментарий от ventilator

а я делаю полисинг на брасе, а шейплю сам канал на другой циске, это наиболее удобный вариант =)

П.С. Без обид, просто че-та шутко такая )))

Jaizer ()
Ответ на: комментарий от Jaizer

#

ваш удобный вариант удобен, только топикстартер просил другое то. PS: но зачем же imq когда есть идеологически верный ifb включеный в ядро?

ventilator ★★★ ()
Ответ на: # от ventilator

да, согласен. Почитал про ifb - более разумно =)

Jaizer ()

>Или есть иные, более красивые, способы шейпинга PPTP-трафика?

как уже подсказали - ifb. Сам использую - всем доволен. Только вот шейпинг входящего трафика дома не очень красиво идет, но тут проблема в NAT, если б не он - сделал бы через шейпинг исходящего

Pinkbyte ★★★★★ ()
Ответ на: комментарий от Pinkbyte

Ну есть еще способ не сильно красивый правда, но производительность не падает. Заранее грузим модуль ifb c 3000(или сколько нужно)интерфейсов. Делаем egress шейпинг прямо на ppp, а ingress заворачиваем для каждого ppp на соответствующий ifb. C натом нормально работает.

ventilator ★★★ ()
Ответ на: комментарий от ventilator

не, у меня дома 1 ifb девайс и два интерфейса eth0 - локалка и eth1 - wifi. Стоит дисциплина htb с разбивкой sfq+flow classifier. Проблема в том, что на самом роутере стоит торрент-клиент. То есть чистый egress shaping отпадает сразу... а как скомбинировать egress и ingress чтоб он лишний раз не дропал туеву хучу пакетов - я не понял :(

Pinkbyte ★★★★★ ()

Меня тоже очень интересует такой вопрос. Откуда вырывать пакеты в ifb для того, чтоб там можно было трафик справедливо поделить между юзерами (т.е. чтоб уже прошло преобразование адресов и в адресе назначения пакета стоял локальный ип юзера)? Желательно с примером кода

azure ★★ ()
Ответ на: комментарий от azure
ppp0 ingress -> ifb0
ppp1 ingress -> ifb1

Примерно таким образом, думаю какие команды писать для этого понятно. Тут вопрос в том что понимать под справедливо - такой способ не подразумевает каких либо общих классов для разных юзеров. Но пакеты которые попадут в ifb0 root qdisc и ppp0 root qdisc будут с серыми адресами и на аплинк интерфейсе можно сделать нат.

ventilator ★★★ ()
Ответ на: комментарий от ventilator

Какие команды писать - это дело техники. Тут бы схему прохождения пакетов через нетфильтр понять.

То, что вы написали, мне непонятно. Зачем входящую очередь ппп заворачивать на ифб? и почему с разных ппп на разные ифб? Я хочу чтоб один юзер мог брать весь канал если другие не используют его, но и чтоб все вместе тоже не забивали друг другу полосу. Т.е. для этого мне надо пропускать через один интерфейс

Или вы что-то другое имели ввиду?

azure ★★ ()
Ответ на: комментарий от azure

Ну так вы определитесь, я написал «такой способ не подразумевает каких либо общих классов для разных юзеров». ingress обычно заворачивают на ifb что бы его шейпить. Чтобы были общие классы - шейпите с заворотом на один ifb0. Только egress на ppp все равно будет раздельный.

ventilator ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.