LINUX.ORG.RU
ФорумAdmin

Как ограничить скорость на PPP интерфейсе???


0

0

Есть VPN каждый юзверь подключившись по VPN получает определенный ему IP адрес
нужно ограничить скорость на этот IP адрес но так как при каждом подключении он получает разный интерфейс обычными способами не обойтись (CBQ HTB) как реализовать шейпинг? Подскажите плз.

anonymous

Можно сквидом через авторизацию и delay pools.

anonymous
()

Как раз алгоритмы cbq и htb здесь подходят, просто в этом случае не подходят сами скрипты cbq.init и htb.init. Их задача преобразовать входные данные в команды утилиты TC, а она собственно дает указания ядру, что кому и как выдавать траффик. Так вот эти cbq.init и htb.init не умеют шейпить динамические интерфейсы, а если и имеют то мне это не известно. Тебе надо добавить в скрипт ip-up команды, которые шейпят траффик, а в ip-down убить шейпер на нужном интерфейсе. Все это описано в Linux 2.4 Advanced Routing HOWTO.

anonymous
()

Самое оптимальное - использовать tc с соответсвующими ключиками.

Например в ip-up:

# Скорость задается в синтаксисе tc

MAXSPEED=64Kbit

/usr/local/sbin/tc qdisc add dev $IFNAME root tbf rate $MAXSPEED latency 50ms burst 1540

А в ip-down:

/usr/local/sbin/tc qdisc del dev $IFNAME root tbf

Второй вариант - использовать утилитку rshaperctl. Она гораздо проще в использовании, но умеет рулить скоростью не выше 256Кбит. Тогда в ip-up:

# Скорость задается в байтах в секунду

MAXSPEED=16384

/usr/local/sbin/rshaperctl $IPREMOTE $MAXSPEED

А в ip-down:

/usr/local/sbin/rshaperctl $IPREMOTE 0

Для работы и первого и второго варианта необходимо также включить поддержку этого безобразия в ядре.

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