trinux 3 Опубликовано: 2009-04-26 06:30:05 Share Опубликовано: 2009-04-26 06:30:05 Здравствуйте товарищи Суть вопроса в том что-бы сделать дневную и ночную скорость. Как вариант думаю использовать замену по крону в определенное время скриптов OnConnect в которых будет указана нужная скорость. Но вот как быть с теми что уже подключены и работаю в инете... Я подумал что можно просто убить правила для tc и поднять их заново , но вот со скриптом для этого дела несколько сложно у меня дела обстоят. Активные ip адреса я подумал взять из файла который пускает людей к squid , а именно это : root@slackware:~# cat /var/stargazer/squid/squid 10.1.1.9 10.1.1.6 10.1.1.4 Т.е. это будут конкретно работающие в данный момент времени люди. Вобщем те же правила что и в OnConnect нужно отработать для каждого из списка /var/stargazer/squid/squid.... Правила из OnConnect думаю многим знакомы. #Cut speed tarif=`/etc/stargazer/tarif.php $2` $IPTABLES -t filter -A FORWARD -s $IP -j QUEUE $IPTABLES -t filter -A FORWARD -d $IP -j QUEUE prioid="${ID}0" if [ "$tarif" = "64" ]; then speed=64 elif [ "$tarif" = "128" ]; then speed=128 elif [ "$tarif" = "256" ]; then speed=270 elif [ "$tarif" = "1024" ]; then speed=1024 elif [ "$tarif" = "512" ]; then speed=512 else speed=0 fi if [ $speed != 0 ]; then echo $1 $2 $prioid $speed $tarif >> /var/log/speed tc class add dev $eth_local parent 1:1 classid 1:${prioid} htb rate $speed'kbit' burst 20k tc filter add dev $eth_local parent 1: protocol ip prio ${prioid} u32 match ip dst $IP flowid 1:${prioid} fi Вобщем ищу помощи Ссылка на сообщение Поделиться на других сайтах
Shtorm 0 Опубліковано: 2009-04-27 07:25:13 Share Опубліковано: 2009-04-27 07:25:13 Навскидку я бы сделал так правила для tc я создаю с flowid собранным по принципу подсеть.сеть ( 6050 - *.*.6.50 и тд ) после того как ты знаешь каким IP нужно изменить скорость , то дальше совсем просто на каждого даешь такую команду ( значения свои ) `echo $TC class change dev $eLAN parent 1:1 classid 1:$net3$net4 htb rate "$newSpeed"000bit` Ссылка на сообщение Поделиться на других сайтах
trinux 3 Опубліковано: 2009-04-27 08:51:57 Автор Share Опубліковано: 2009-04-27 08:51:57 Навскидку я бы сделал так правила для tc я создаю с flowid собранным по принципу подсеть.сеть ( 6050 - *.*.6.50 и тд ) после того как ты знаешь каким IP нужно изменить скорость , то дальше совсем просто на каждого даешь такую команду ( значения свои ) `echo $TC class change dev $eLAN parent 1:1 classid 1:$net3$net4 htb rate "$newSpeed"000bit` Как мне вытаскивать поочередности каждый ip? из файла Ссылка на сообщение Поделиться на других сайтах
Shtorm 0 Опубліковано: 2009-04-27 12:03:53 Share Опубліковано: 2009-04-27 12:03:53 Попробуй чегото-такое end_adress=`cat твой_файл | wc -l` for i in $(seq 0 $end_adress); do поищи как вытаскивать i-строку из файла ( не помню ) твое done Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас