Нашел я тут задачку в тарифном плане Скайлинк... При получении свыше 64 метров в час вылетаешь из предоплаченного пакета и платишь бешенные бабки, за нарушение лимита...
Суть первого вопроса - как сделать ограничение?
Второй - для того, чтобы особо не страдать, можно-ли делать не дисконнект при превышении часового лимита, а резкое уменьшение скорости, со снятием его через ровные 60 минут?
Это вообще возможно?
Настройка доступа в интернет
Модераторы: Warderer, Модераторы разделов
-
fanat
- Сообщения: 124
Настройка доступа в интернет
Скорее всего, у меня Убунту, хотя местами получается Дебиан....
-
mandreika
- Сообщения: 217
- ОС: Debian 3,4,5,6
Re: Настройка доступа в интернет
Гораздо проще дисконнект - борьба с входящим трафиком неблагодарное занятие.
1)Заводим правило iptables -t mangle -A PREROUTING -i ppp0
2)Пишем скрипт где вытаскиваем значение iptables-save -c|grep "\-A PREROUTING -i ppp0" если больше 64м то poff dsl-provider
3)Кладем его в cron.hourly
4)Сбрасываем счетчик iptables -t mangle -Z
5)Поднимаем канал pon dsl-provider
Примерный скрипт
#!/usr/bin/perl
#N-номер правила - у меня оно идет вторым 0,1
$N=1;
system(@A=`iptables-save -c | grep "A PREROUTING -i ppp0"`);
@ps1=split(":",@A[$N]);
@ps2=split("\]",@ps1[1]);
$traffik=@ps2[0];
if ($traffik>64000000){system(`poff dsl-provider`);}
Но лучше через shell написать, использовать system это немного не правильно
1)Заводим правило iptables -t mangle -A PREROUTING -i ppp0
2)Пишем скрипт где вытаскиваем значение iptables-save -c|grep "\-A PREROUTING -i ppp0" если больше 64м то poff dsl-provider
3)Кладем его в cron.hourly
4)Сбрасываем счетчик iptables -t mangle -Z
5)Поднимаем канал pon dsl-provider
Примерный скрипт
#!/usr/bin/perl
#N-номер правила - у меня оно идет вторым 0,1
$N=1;
system(@A=`iptables-save -c | grep "A PREROUTING -i ppp0"`);
@ps1=split(":",@A[$N]);
@ps2=split("\]",@ps1[1]);
$traffik=@ps2[0];
if ($traffik>64000000){system(`poff dsl-provider`);}
Но лучше через shell написать, использовать system это немного не правильно
-
cra5h
- Сообщения: 22
- ОС: Debian Squeeze/Sid
Re: Настройка доступа в интернет
недавно на лоре проскакивал скрипт для такого случая:
My Tree (Traffic Control) 0.2 - GUI perl скрипт мониторинга трафика
исходники
My Tree (Traffic Control) 0.2 - GUI perl скрипт мониторинга трафика
Данный perl скрипт (GPLv3) является надстройкой над утилитой vnstat и будет полезен тем у кого лимит трафика при использовании доступа в интернет таких как GPRS, EDGE, UMTS & etc. Программка висит в трее и может:
- показывать статистику текущего соединения
- ведет лог соединений за день, неделю, месяц
- показывает предупреждение если вы выходите за лимит трафика который вы задали сами в конфигурационном файле.
В программе реализовано:
- лимитированное соединение
Возможно будет реализовано:
- лимитированное пакетное соединение (когда пользователь купил у провайдера пакет на N mb)
- "безлимитное" соединение (когда провайдер предоставляет безлимитный интернет, но с ограничениями - т.н. комбинированный тариф)
Думаю пользователи такого провайдера как Скайлинк поймут мою идею, посмотрев на их тарифы, да и пользователям других провайдеров может оказаться полезным данный скрипт.
исходники
Спасибо сказали: