DUMMYNET по расписанию!

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Sweeper_jr
ефрейтор
Сообщения: 61
Зарегистрирован: 2006-01-19 12:48:12
Контактная информация:

DUMMYNET по расписанию!

Непрочитанное сообщение Sweeper_jr » 2006-03-16 16:31:04

Сжать или разжать канал с помощью DUMMYNET у меня получилось, благодаря твоей lissyara статье http://www.lissyara.su/?id=1071. Спасибо и респект!
А как сделать что бы скорость канала менялась по часам. Допустим до 18,00 скорость 64000 bit/s, а после 18,00 - 128000 bit/s ?
Конечно можно сделать более одного скрипта для фаервола и загружать нужный с нужными правилами в нужное время, но может есть другой способ, более изощреннее??

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2006-03-16 16:39:21

Так там в конце пример приведён.
Ставишь в cron на выполнение

Код: Выделить всё

sh /etc/rc.firewall
в 8.01 и в 22.01 и всё...
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Sweeper_jr
ефрейтор
Сообщения: 61
Зарегистрирован: 2006-01-19 12:48:12
Контактная информация:

Непрочитанное сообщение Sweeper_jr » 2006-03-16 18:07:36

Все правильно. Если запустить через крон

Код: Выделить всё

sh /etc/rc.firewal
то будут загружаться пайпы и рулсы которые прописаны в /etc/rc.firewal.
Таким образом в кроне прописываем запуск /etc/rc.firewal_1 в 8:01, а в 22:01 запуск /etc/rc.firewal_2.
В /etc/rc.firewal_1 одна скорость, а в /etc/rc.firewal_2 другая скорость.
Получается только так.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2006-03-16 18:11:28

Код: Выделить всё

# Не знаю, пригодится ли кому это - по ночам охрана повадилась шариться в инете
# и качать музончик, порнушку смотреть... 3 гига трафика за ночь... Поэтому ночью
# траффик ограничиваем (скорость) - причём жестоко режем :)
# для этого в конфиге ядра должна быть строка 
# options         DUMMYNET
# соответственно в crontab надо добавить запись типа sh /etc/rc.firewall
# с запуском в 22.01 и 8.01 :)))
chour=`date '+%H'`
if [ ${chour} -lt 8 ]; then
    ${FwCMD} add pipe 1 ip from not ${NetIn} to ${NetIn}
    ${FwCMD} pipe 1 config bw 33600 bit/s
fi
if [ ${chour} -ge 22 ]; then
    ${FwCMD} add pipe 1 ip from not ${NetIn} to ${NetIn}
    ${FwCMD} pipe 1 config bw 33600 bit/s
fi
отсюда http://www.lissyara.su/?id=1127
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Sweeper_jr
ефрейтор
Сообщения: 61
Зарегистрирован: 2006-01-19 12:48:12
Контактная информация:

Непрочитанное сообщение Sweeper_jr » 2006-03-16 18:15:30

О, спасибо, это то что нужно!
Извини, но эту статью я так и не читал, до сегодняшнего дня :)

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2006-03-16 19:52:41

Я у себя на сайте не всё читал :)
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Hoper
рядовой
Сообщения: 34
Зарегистрирован: 2008-04-29 17:11:23

Re: DUMMYNET по расписанию!

Непрочитанное сообщение Hoper » 2009-07-14 14:14:15

Вот такое элементарное правило:

Код: Выделить всё

${FwCMD} 1300 add pipe 100 ip from any to ${AllowIP} out via ${LanOut}
${FwCMD} 1400 pipe 100 config bw 64Kbit/s
выдает вот такую гнусность:

Код: Выделить всё

01300 pipe 100 ip from any to 10.1.1.1 out via rl0
ipfw: bad command `100'
Где я не прав?
=================================================================
Вот тут оказалось так

Код: Выделить всё

${FwCMD} 1300 add pipe 100 ip from any to ${AllowIP} out via ${LanIn}
${FwCMD}  pipe 100 config bw 64Kbit/s
1. 1400 номер правила не пишется
2. ${LanIn} вешать надо на внутренний интерфейс, на внешнем скорость (по такому правилу) не режет.
Последний раз редактировалось Hoper 2009-07-14 14:43:32, всего редактировалось 1 раз.
money is good servant but a bad master

zh
проходил мимо

Re: DUMMYNET по расписанию!

Непрочитанное сообщение zh » 2009-07-14 14:34:57

для конфигурации пайпов не нужен номер строки ^_^

Аватара пользователя
Hoper
рядовой
Сообщения: 34
Зарегистрирован: 2008-04-29 17:11:23

Re: DUMMYNET по расписанию!

Непрочитанное сообщение Hoper » 2009-07-14 14:44:21

пока правил ответили :)
money is good servant but a bad master

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: DUMMYNET по расписанию!

Непрочитанное сообщение schizoid » 2009-07-14 14:46:07

а чего решили тему 3-х летней давности разбудить?
ядерный взрыв...смертельно красиво...жаль, что не вечно...

zh
проходил мимо

Re: DUMMYNET по расписанию!

Непрочитанное сообщение zh » 2009-07-14 15:17:18

а теперь развернуто объясните почему это у вас на внешнем интерфейсе пайп не работает :-)

Аватара пользователя
Hoper
рядовой
Сообщения: 34
Зарегистрирован: 2008-04-29 17:11:23

Re: DUMMYNET по расписанию!

Непрочитанное сообщение Hoper » 2009-07-16 15:58:05

zh писал(а):а теперь развернуто объясните почему это у вас на внешнем интерфейсе пайп не работает :-)
для меня тож осталось загадкой... но факт есть такой.
надо пробежаться по всем правилам может где то NAT не в том месте стоит.
money is good servant but a bad master

newbie
проходил мимо

Re: DUMMYNET по расписанию!

Непрочитанное сообщение newbie » 2009-11-26 8:32:39

люди пожалуйста выложите ктонить полное содержимое rc.firewall а то что то не догоняю немного ) упал сервер, нужно срочно поставить с нуля, а я ток начинаю разбираться, научился здесь собирать ядро, обновлять порты, подстраивать под себя для работы, но с фаиром пока не разобрался, читаю и пока не понимаю ничего, но вот с готовыми конфигами уже легче, там я понимаю что к чему, но сам пока собрать не могу, вот сейчас, настроил по статье, и не могу даж по "putty" попасть на сервак ((( выложите пожалуйста полный конфиг, что бы я смог понять и разобраться, пожалуйста...

Гость
проходил мимо

Re: DUMMYNET по расписанию!

Непрочитанное сообщение Гость » 2009-11-26 8:43:15

и rc.conf тож плз )

Аватара пользователя
Hoper
рядовой
Сообщения: 34
Зарегистрирован: 2008-04-29 17:11:23

Re: DUMMYNET по расписанию!

Непрочитанное сообщение Hoper » 2009-11-26 12:02:34

вот тут http://ipfw.ism.kiev.ua/ неплохо было описано, я в свое время по там многое подчерпнул.
ну и тутhttp://www.lissyara.su/articles/freebsd/tuning/ipfw/ какже не упоминуть
money is good servant but a bad master

4ainig )
проходил мимо

Re: DUMMYNET по расписанию!

Непрочитанное сообщение 4ainig ) » 2009-12-01 9:02:41

я там уже был, по второй статье оба примера не заработали, как копать не знаю, в любом случае спасибо... буду искать готовое что заработает, а потом поставлю еще один сервер, и на нем уже начну читать, а сечас бы сделать ipfw + squid и падет пока... а то трафф прет по беспределу ((

Аватара пользователя
Hoper
рядовой
Сообщения: 34
Зарегистрирован: 2008-04-29 17:11:23

Re: DUMMYNET по расписанию!

Непрочитанное сообщение Hoper » 2009-12-05 1:04:33

4ainig ) писал(а):я там уже был, по второй статье оба примера не заработали, как копать не знаю, в любом случае спасибо... буду искать готовое что заработает, а потом поставлю еще один сервер, и на нем уже начну читать, а сечас бы сделать ipfw + squid и падет пока... а то трафф прет по беспределу ((
не очень информативно "не заработали". А что хотели то?? это же не утюг.. вкл/выкл.
Есть задача - есть ее реализация.
money is good servant but a bad master

dasans
проходил мимо

Re: DUMMYNET по расписанию!

Непрочитанное сообщение dasans » 2010-11-16 16:07:08

Добрый день!

Код: Выделить всё

while [ $i != 252 ]
do
# добавляем трубу для IP адреса
${FwCMD} add pipe $i ip from not ${NetIn}/${NetMask} to 192.168.20.${i}
# проверяем - часом не мой ли это IP
if [ $i -eq 13 -o $i -eq 22 ]
then
# мой инет :)))
${FwCMD} pipe $i config bw 100Mbit/s
else
# не мой IP - режем скорость
${FwCMD} pipe $i config bw 64000 bit/s
fi
# увеличиваем $i на единичку
i=$(($i+1))
done
А будет так работать, если таких труб будет 1500 ?

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: DUMMYNET по расписанию!

Непрочитанное сообщение FreeBSP » 2010-11-16 16:55:21

помоему проще себя отправить в одну трубу,или вообще мимо труб, а всех остальных - в таблицу, которую толкать во вторую трубу

тоесть будет чтото типа

Код: Выделить всё

${FwCMD} add pipe 1 ip from not ${NetIn}/${NetMask} to (192.168.20.13 or 192.168.20.22)
${FwCMD} add pipe 2 ip from not ${NetIn}/${NetMask} to table\(1\)
${FwCMD} pipe 1 config bw 100Mbit/s
${FwCMD} pipe 2 config bw 64000 bit/s

while [ $i != 252 ]
do
  if [ $i -ne 13 -o $i -ne 22 ]
  then
    ${FwCMD} table 1 add  192.168.20.${i}
  fi
  # увеличиваем $i на единичку
  i=$(($i+1))
done
а таблица помоему и 30к адресов тянет нормально... была какая то бага с количеством адресов в табличке, но не очень критичная и патчится руками.. рядом поищи..
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

dasans
проходил мимо

Re: DUMMYNET по расписанию!

Непрочитанное сообщение dasans » 2010-11-16 17:04:26

FreeBSP писал(а):помоему проще себя отправить в одну трубу,или вообще мимо труб, а всех остальных - в таблицу, которую толкать во вторую трубу

тоесть будет чтото типа

Код: Выделить всё

${FwCMD} add pipe 1 ip from not ${NetIn}/${NetMask} to (192.168.20.13 or 192.168.20.22)
${FwCMD} add pipe 2 ip from not ${NetIn}/${NetMask} to table\(1\)
${FwCMD} pipe 1 config bw 100Mbit/s
${FwCMD} pipe 2 config bw 64000 bit/s

while [ $i != 252 ]
do
  if [ $i -ne 13 -o $i -ne 22 ]
  then
    ${FwCMD} table 1 add  192.168.20.${i}
  fi
  # увеличиваем $i на единичку
  i=$(($i+1))
done
а таблица помоему и 30к адресов тянет нормально... была какая то бага с количеством адресов в табличке, но не очень критичная и патчится руками.. рядом поищи..
А у тех кто в таблице скорость у каждого будет по 64000 bit/s или они все вместе будут делить эти 64000 bit/s ?

Shuriks
проходил мимо

Re: DUMMYNET по расписанию!

Непрочитанное сообщение Shuriks » 2010-11-16 23:01:39

dasans писал(а): А у тех кто в таблице скорость у каждого будет по 64000 bit/s или они все вместе будут делить эти 64000 bit/s ?
В этом примере одна труба на всю таблицу. Если ты 250 человек запихаешь в 64кбит/с, думаю они захотят тебя убить.
Возможно предполагалось каждому выделять по 64кбит/с.
У меня аналогичная ситуация сделана таким образом:

Код: Выделить всё

...
for ((i=2; i<=127; i++))
 {
  addr="192.168.1.$i";
  let "inpipe=2*$i-3";
  let "outpipe=2*$i-2";
  let "inrule=3000+2*$i-3";
  let "outrule=3000+2*$i-2";
  $fw pipe $inpipe config bw 512Kbit/s;
  $fw pipe $outpipe config bw 256Kbit/s;
  $fw add $inrule pipe $inpipe ip from $inet to $addr in
  $fw add $outrule pipe $outpipe ip from $addr to $inet out
 };
...
З.Ы. Кусок скрипта для ipfw (на bash).

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: DUMMYNET по расписанию!

Непрочитанное сообщение FreeBSP » 2010-11-16 23:31:33

пардоньте

Код: Выделить всё

${FwCMD} add pipe 1 ip from not ${NetIn}/${NetMask} to (192.168.20.13 or 192.168.20.22)
${FwCMD} add pipe 2 ip from not ${NetIn}/${NetMask} to table\(1\)
${FwCMD} pipe 1 config bw 100Mbit/s  mask dst-ip 0xffffffff
${FwCMD} pipe 2 config bw 64000 bit/s mask dst-ip 0xffffffff

while [ $i != 252 ]
do
  if [ $i -ne 13 -o $i -ne 22 ]
  then
    ${FwCMD} table 1 add  192.168.20.${i}
  fi
  # увеличиваем $i на единичку
  i=$(($i+1))
done
только это не симметричный шейпинг... качать быстрее 64kbps звери не смогут, а вот отдавать - хоть те же "стомегабит"..
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

zhna
рядовой
Сообщения: 26
Зарегистрирован: 2011-05-20 10:26:09

Re: DUMMYNET по расписанию!

Непрочитанное сообщение zhna » 2011-07-14 13:27:27

доброго времени суток. Хотельсь бы спросить не могли бы подсказать как урезать канал ля определённыйх ip и всё без разграничения на временные рамки просто я что то в приведённых конфигах разобраться не особо смог!(

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: DUMMYNET по расписанию!

Непрочитанное сообщение FreeBSP » 2011-07-14 14:29:00

все просто

Код: Выделить всё

${FwCMD} add pipe 1 ip from (192.168.20.13 or 192.168.20.22) to any
${FwCMD} add pipe 2 ip from any to (192.168.20.13 or 192.168.20.22) 
${FwCMD} pipe 1 config bw 64000 bit/s mask dst-ip 0xffffffff
${FwCMD} pipe 2 config bw 64000 bit/s mask dst-ip 0xffffffff
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

zhna
рядовой
Сообщения: 26
Зарегистрирован: 2011-05-20 10:26:09

Re: DUMMYNET по расписанию!

Непрочитанное сообщение zhna » 2011-07-15 14:32:29

огромное спасибо но возник вопрос а это прописывать в самом начале файрвола или не критично ? и тут указано to any а можно указать на конкретный шлюз (em0 tun0) просто ещё поднять тонель в котором ограничение по скорости не нужны или они на него действовать не будут?

заранее спасибо !