LINUX.ORG.RU
ФорумAdmin

Шейпинг трафика в зависимости от времени суток


0

0

Имеется сервер radius и pptpd на linux.

Как на vpn-соединении юзеров шейпить их скорость в зависимости от времени суток? Сейчас шейпится статично, но хотелось бы, к примеру, ночью, поднимать скорость доступа в Интернет.

Есть ли в tc что-нибудь аналогичное шейпу скорости по time-based-acl на цисках?

anonymous

В iptables есть правило, срабатывающее (или не срабатывающее) в зависимости от времени суток, правда не в базовом, а в extra, но в общем можно по разному маркировать трафик, он будет попадать в разные очереди и по разному шейпиться... Это если не охото менять настройки скриптом по cron'у.

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

А в текущей сессии сменится правило, или нужно перелогиниваться, чтобы ppp-интерфейс заново создался?

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

ps. Нужно не у всех подряд шейпить, а у определенных, принадлежащих одной из групп юзеров. Группы уже раскидываются в скриптах ip-up ip-down, на разные скорости в tc.

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

Не могу понять, как это через крон сделать?
Имеется 2 группы юзеров, у одной из них нужно сделать повышение скорости ночью, правила tc задаются каждой группе по ip-up-скрипту в /etc/ppp/


Вот кусок:

#!/bin/bash
#
interface=$1
remoteIP=$5
iptables=/sbin/iptables
tc=/sbin/tc

filter=`grep Filter-Id /var/run/radattr.$interface | awk '{ print $2; }'`
contamark=`echo $interface | cut -c 4-99`
mark=`expr $contamark + 500`

echo "$filter" > /tmp/$interface.filter

### blablabla###

if [ $filter == "256_in" ]
then
# Ограничиваем входящую скорость до 256Kb/c
$tc qdisc del dev $interface root
$tc qdisc add dev $interface root tbf rate 256Kbit latency 70ms burst 16kb minburst 1540
# Ограничиваем исходящую скорость до 256Kb/c
$tc qdisc del dev $interface handle ffff: ingress
$tc qdisc add dev $interface handle ffff: ingress
$tc filter add dev $interface parent ffff: protocol ip prio 50 u32 match ip src 0.0.0.0/0 \
police rate 256Kbit burst 32kb drop flowid :1
fi

if [ $filter == "512_in" ]
then
# Ограничиваем входящую скорость до 512Kb/c
$tc qdisc del dev $interface root
$tc qdisc add dev $interface root tbf rate 512Kbit latency 70ms burst 64kb minburst 1540
# Ограничиваем исходящую скорость до 512Kb/c
$tc qdisc del dev $interface handle ffff: ingress
$tc qdisc add dev $interface handle ffff: ingress
$tc filter add dev $interface parent ffff: protocol ip prio 50 u32 match ip src 0.0.0.0/0 \
    police rate 256Kbit burst 32kb drop flowid :1
fi

=================

Можно ли без реконнекта менять на ходу правила для определенной группы?

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