Есть идея, но не совсем достаточно опыта что бы ее реализовать.
Значит имееться две конторы. Роутер под FreeBSD 6.1 маршрутизация выполнена спомощью IPFW. В будние дни когда работают обе то все сегмент 192.168.1.х
пошейплен 256к, а другой 192.168.5.1 в 64к. Собственно вопрос заключаеться в том как сделать так что бы, допустим, в пятницу в 21 00 файрвол загрузился с новыми правилами и соответственно с новыми ограничениями и открыл бы на 2.х 256к!
Я впринципи догадываюсь что нужно юзать Cron, но как!?
Вот кое что накопал но осталось несколко непонятков...
Вот кусок из моих правил касающеся шейпов:
Код: Выделить всё
####Весь сегмент пошейплен 4мя мбитами
ipfw pipe 1 config bw 4Mbit/s
ipfw add pipe 1 ip from any to 192.168.5.0/24 out
ipfw add pipe 1 ip from 192.168.5.0/24 to any in
####Ограничени скорости на мировой трафик
ipfw 20 add pipe 20 ip from not "table(2)" to "table(1)" out
ipfw 21 add pipe 21 ip from "table(1)" to not "table(2)" in
ipfw pipe 20 config mask dst-ip 0xffffffff bw 64Kbit/s
ipfw pipe 21 config mask src-ip 0xffffffff bw 64Kbit/s
####Ограничение на украниский
ipfw 30 add pipe 30 ip from "table(2)" to "table(1)" out
ipfw 31 add pipe 31 ip from "table(1)" to "table(2)" in
ipfw pipe 30 config mask dst-ip 0xffffffff bw 128Kbit/s
ipfw pipe 31 config mask src-ip 0xffffffff bw 128Kbit/s
А в table1 просто перечень IP адресов которым ограничеваеться скорость...
Мне подсказали что если я добавлю в свои правила такой кусок:
Код: Выделить всё
chour=`date '+%H'`
if [ ${chour} -lt 8 ]; then
####Ограничени скорости на мировой трафик
ipfw 20 add pipe 20 ip from not "table(2)" to "table(1)" out
ipfw 21 add pipe 21 ip from "table(1)" to not "table(2)" in
ipfw pipe 20 config mask dst-ip 0xffffffff bw 256Kbit/s
ipfw pipe 21 config mask src-ip 0xffffffff bw 256Kbit/s
####Ограничение на украниский
ipfw 30 add pipe 30 ip from "table(2)" to "table(1)" out
ipfw 31 add pipe 31 ip from "table(1)" to "table(2)" in
ipfw pipe 30 config mask dst-ip 0xffffffff bw 512Kbit/s
ipfw pipe 31 config mask src-ip 0xffffffff bw 512Kbit/s
fi
if [ ${chour} -ge 22 ]; then
####Ограничени скорости на мировой трафик
ipfw 20 add pipe 20 ip from not "table(2)" to "table(1)" out
ipfw 21 add pipe 21 ip from "table(1)" to not "table(2)" in
ipfw pipe 20 config mask dst-ip 0xffffffff bw 256Kbit/s
ipfw pipe 21 config mask src-ip 0xffffffff bw 256Kbit/s
####Ограничение на украниский
ipfw 30 add pipe 30 ip from "table(2)" to "table(1)" out
ipfw 31 add pipe 31 ip from "table(1)" to "table(2)" in
ipfw pipe 30 config mask dst-ip 0xffffffff bw 512Kbit/s
ipfw pipe 31 config mask src-ip 0xffffffff bw 512Kbit/s
fi
И как можно от крона получить день недели!? Для условия на выходные=)
Прсто я уже начал копать в этом напрвавлении. Уже много прочитал, но пока увы...
Поделитесь идеями...и не судите строго;-)