d2r 1 Опубликовано: 2011-02-16 01:37:43 Share Опубликовано: 2011-02-16 01:37:43 Возможно ли использование старгейзера для работы с пользователями сидящими на анлимах? Есть маленькая сеть, все на анлимах. Раньше рулил вручную через htb. Поставил старгейзер 2.406. Удобный. Простой. Понятный. Но так и не нашел способа управлять анлимами без костылей (через userdata или парся название тарифа). Может просто плохо искал? Отсюда вопрос, планируется ли ввести изменения в биллинг для управления тарифами с неограниченным трафиком? З.Ы. Что-то буду допиливать для себя... но не хотелось бы изобретать велосипед. Что-то, думаю, будет полезно не только мне. Ссылка на сообщение Поделиться на других сайтах
Kucher2 122 Опубліковано: 2011-02-16 05:27:51 Share Опубліковано: 2011-02-16 05:27:51 А чем именно вы хотите рулить? Если речь о нарезке скорости, так это ipfw pipe. Если об обсчёте безлимов - так в СТГ всё это есть и так, не надо ничего допиливать, только поставить и настроить. Задача СТГ только в том, чтобы посчитать трафик по указанным направлениям для юзера или снять вовремя денежку согласно тарифа и настроек конфига СТГ. Можно и то и другое. Всё. Он тем и замечателен, что универсален и не привязывается конкретно к IPFW от FreeBSD или IPNAT для Linux. Т.е. для решения остальных задач в любом случае нужны скрипты, которые будут вести обработку условий и вкл/откл определённой функции для конкретной цели. Код скрипта обычно добавляются в родные скрипты СТГ, вида "OnConnect" и выполняются при том или ином действии юзера, вызванным им самим или вашим собственным желанием. Примеров на форуме просто завались. Ссылка на сообщение Поделиться на других сайтах
d2r 1 Опубліковано: 2011-02-16 17:04:35 Автор Share Опубліковано: 2011-02-16 17:04:35 так в СТГ всё это есть и так, не надо ничего допиливать, только поставить и настроить. Что именно поставить и настроить? Если сам СТГ - то уже месяц стоит и все настроено. Анлимов не нашел, только предоплаченный. Конфигуратор виндовый 1.91.9 Задача СТГ только в том, чтобы посчитать трафик по указанным направлениям для юзера или снять вовремя денежку согласно тарифа и настроек конфига СТГ. Можно и то и другое. Всё. Именно так. Только вот для любых тарифов, даже если в настройках тарификации указана цена 0 за мегабайт он все равно уводит в минуса (-0) при изначальном нулевом балансе (не при снятии абонплаты). Да и не удобно это. Намного проще было бы в конфигураторе ткнуть галку "анлим" и указать скорость ин/аут. А скриптами потом отрабатывать. Код скрипта обычно добавляются в родные скрипты СТГ, вида "OnConnect" и выполняются при том или ином действии юзера, вызванным им самим или вашим собственным желанием. Примеров на форуме просто завались. Об этом как раз речь не идет. Ссылка на сообщение Поделиться на других сайтах
nightfly 1 237 Опубліковано: 2011-02-16 17:25:24 Share Опубліковано: 2011-02-16 17:25:24 Что именно поставить и настроить? Если сам СТГ - то уже месяц стоит и все настроено. Анлимов не нашел, только предоплаченный. Конфигуратор виндовый 1.91.9 А поставить галочки "Без порога" и "Не зависит от времени" что вам запрещает? Ссылка на сообщение Поделиться на других сайтах
d2r 1 Опубліковано: 2011-02-16 17:42:45 Автор Share Опубліковано: 2011-02-16 17:42:45 А поставить галочки "Без порога" и "Не зависит от времени" что вам запрещает? "Не зависит..." стоит везде. "Без порога" - на внешний трафик стоит. На локальный - 1 копейка после 20Гб. Мне, вообще, пофигу - могу и без СТГ рулить, через ssh. Но мальчику на приеме платежей сложно объяснить, что нужно поправить в конфигах htb, и какие команды дать системе, чтобы у клиента изменился тариф (скорость)... да еще и рутовый доступ давать... я похож на идиота? Вообще, я человек ленивый. Мне проще один раз поколупаться, настроить и забыть Ссылка на сообщение Поделиться на других сайтах
Zero_real 4 Опубліковано: 2011-05-05 19:35:53 Share Опубліковано: 2011-05-05 19:35:53 Вот-вот. И я прошу того же, а все говорят мол стг-считать, скрипты-шейпить. Не удобно же. От биллинга хочется гибких инструментов по подгонке под себя. Пока из таких только поля юзердата, что очень очень мало. Ссылка на сообщение Поделиться на других сайтах
Небесный 26 Опубліковано: 2011-05-05 21:07:27 Share Опубліковано: 2011-05-05 21:07:27 Мне, вообще, пофигу - могу и без СТГ рулить, через ssh. Но мальчику на приеме платежей сложно объяснить, что нужно поправить в конфигах htb, и какие команды дать системе, чтобы у клиента изменился тариф (скорость)... да еще и рутовый доступ давать... я похож на идиота? Вообще, я человек ленивый. Мне проще один раз поколупаться, настроить и забыть Хм, у меня скорость рулится через скрипты OnConnect, OnDisconnect. При смене тарифа - сразу же меняется и скорость через скрипт OnChenge. Толи вы сделали изменение тарифа мгновенно, толи смена тарифа с нового месяца, скрипт OnChenge отработается и скорость изменится. Я бы привел свои скрипты для примера, да боюсь запутаетесь, уж больно много там чего и не только шейп через скрипты. И сказать, что мне это не удобно? О, нет мне даже очень удобно - при смене тарифа - у юзера моментально меняется скорость, либо автоматом меняется скорость с нового месяца. Плюс крон работает на дневную и ночную скорость. Плюс крон работает на лимитированный трафик за сутки (чем больше скачал, тем меньше скорость, с полуночи счетчик сбрасывается). И что самое главное скрипты у Stargazer дают такую гибкость, что мама не горюй - только лишь бы лени небыло - а через скрипты твори все что тебе душа пожелает. Приведу свои скрипты для Linux: shaper.sh - запускаем со стартом системы #!/bin/bash int_iface_up=eth0 int_iface_down=eth1 iptables -t mangle --flush tc qdisc add dev $int_iface_down root handle 1: htb tc class add dev $int_iface_down parent 1: classid 1:1 htb rate 100mbit ceil 100mbit tc qdisc add dev $int_iface_up root handle 1: htb tc class add dev $int_iface_up parent 1: classid 1:1 htb rate 100mbit ceil 100mbit shaper.stop - если вдруг понадобилось очистить шейпер #!/bin/bash iptables -t mangle --flush tc qdisc del dev eth0 root handle 1: htb tc qdisc del dev eth1 root handle 1: htb day_night.sh - Скрипт запускаем в 00.00 и в 10.00 - скорость день-ночь. #!/bin/bash # переменные #################################### int_iface_up=eth0 int_iface_down=eth1 default_speed=64kbit #################################### function fspeedkb() { ftariff=$1 pr_ftariff=`echo $ftariff | head -c 3` pr_bomba=`echo $tariff | head -c 5` proverka=$(echo "$ftariff" | sed "s/[^0-9]//g") if [ "$proverka" != "" ] then if [ `date +"%H:%M"` \< "10:00" ] then if [ "$pr_bomba" = "bomba" ] then fspeedkb=$(($proverka * 4096 )) # Ночной тариф БОМБА else fspeedkb=$(($proverka * 2048 )) # Ночная скорость fi else fspeedkb=$(($proverka * 1024 )) # Дневная скорость fi fi if [ "$proverka" = "" ]; # Если мы не нашли никаких цифр - ставим значение по дефолту then fspeedkb=65536 fi if [ "$ftariff" = "mriya" ]; # Это особый тариф, его можно убрать - просто для меня это удобно. then fspeedkb=20000000 fi echo $fspeedkb"bit" } for user in `ls /var/stargazer/online_users` do tariff=$(grep -i "^tariff=" /var/stargazer/users/$user/conf | cut -f 2 -d"=") pr_tariff=`echo $tariff | head -c 3` if [ "$pr_tariff" != "dym" ] then speedkb=`fspeedkb $tariff` mark=$(cat /var/stargazer/users/$user/shaper_mark) mark1=$(cat /var/stargazer/users/$user/shaper_mark1) echo "$speedkb" > /var/stargazer/users/$user/shaper_rate # Shaper ###################################################################################### #INET-Download /sbin/tc class change dev $int_iface_down parent 1:1 classid 1:$mark htb rate $speedkb #INET-Upload /sbin/tc class change dev $int_iface_up parent 1:1 classid 1:$mark1 htb rate $speedkb ###################################################################################### fi done dynamic_10min.sh - скрипт запускаем каждые 10 минут, для проверки юзеров, которые находятся у нас на динамических тарифах. Что такое динамический тариф, пример. Тариф под именем dym_512 Изначально скорость у нас 512 килобит, при превышении порога трафика по скачке в 500 МБ, скорость падает в два раза и того она становится 256 килобит, при превышении 1 ГБ, скорость падает в 4 раза и того она будет составляеть 128 килобит. #!/bin/bash ( flock -x 200 # переменные #################################### int_iface_up=eth0 int_iface_down=eth1 #################################### for user in `ls /var/stargazer/dynamic/` do trafik=$(grep -i "^D0=" /var/stargazer/users/$user/stat | cut -f 2 -d"=") echo "$trafik" > /var/stargazer/dynamic/$user/10min sytki=$(cat /var/stargazer/dynamic/$user/sytki) raznica=$(($trafik - $sytki)) echo "$raznica" > /var/stargazer/dynamic/$user/raznica if [ $raznica -gt 524288000 ] then echo "1" > /var/stargazer/dynamic/$user/sostoyanie fi if [ $raznica -gt 1048576000 ] then echo "2" > /var/stargazer/dynamic/$user/sostoyanie fi tariff=$(grep -i "^tariff=" /var/stargazer/users/$user/conf | cut -f 2 -d"=") function fspeedkb() { ftariff=$1 proverka=$(echo "$ftariff" | sed "s/[^0-9]//g") sostoyanie=$(cat /var/stargazer/dynamic/$user/sostoyanie) if [ "$proverka" != "" ] then case $sostoyanie in "0") fspeedkb=$(($proverka * 1024 ));; "1") fspeedkb=$(($proverka * 512 ));; "2") fspeedkb=$(($proverka * 256 ));; esac fi if [ "$proverka" = "" ]; then fspeedkb=65536 fi echo $fspeedkb"bit" } speedkb=`fspeedkb $tariff` statysonline=$(cat /var/stargazer/dynamic/$user/statysonline) if [ "$statysonline" == "1" ] then mark=$(cat /var/stargazer/users/$user/shaper_mark) mark1=$(cat /var/stargazer/users/$user/shaper_mark1) echo "$speedkb" > /var/stargazer/users/$user/shaper_rate #Download ################################# # INET /sbin/tc class change dev $int_iface_down parent 1:1 classid 1:$mark htb rate $speedkb #Upload ################################## # INET /sbin/tc class change dev $int_iface_up parent 1:1 classid 1:$mark1 htb rate $speedkb fi done ) 200>/tmp/clean_stat.lock dynamic_sytki.sh - скрипт запускаем где-то в 00.05 - для сброса суточного лимита на динамических тарифах. #!/bin/bash # Проверка на запуск 10-ти минутного файла, если он запущен, ждем пока он не окончит работу ( flock -x 200 date_sytki=$(cat /var/stargazer/date_sytki) if [ `date +"%m/%d/%y"` = "$date_sytki" ] then exit fi # переменные #################################### int_iface_up=eth0 int_iface_down=eth1 #################################### for user in `ls /var/stargazer/dynamic/` do trafik=$(grep -i "^D0=" /var/stargazer/users/$user/stat | cut -f 2 -d"=") echo "$trafik" > /var/stargazer/dynamic/$user/sytki echo "0" > /var/stargazer/dynamic/$user/sostoyanie tariff=$(grep -i "^tariff=" /var/stargazer/users/$user/conf | cut -f 2 -d"=") function fspeedkb() { ftariff=$1 proverka=$(echo "$ftariff" | sed "s/[^0-9]//g") if [ "$proverka" != "" ] then fspeedkb=$(($(echo "$ftariff" | sed "s/[^0-9]//g") * 1024 )) fi if [ "$proverka" = "" ] then fspeedkb=65536 fi echo $fspeedkb"bit" } speedkb=`fspeedkb $tariff` statysonline=$(cat /var/stargazer/dynamic/$user/statysonline) if [ "$statysonline" = "1" ] then mark=$(cat /var/stargazer/users/$user/shaper_mark) mark1=$(cat /var/stargazer/users/$user/shaper_mark1) echo "$speedkb" > /var/stargazer/users/$user/shaper_rate #Download ################################# # INET /sbin/tc class change dev $int_iface_down parent 1:1 classid 1:$mark htb rate $speedkb #Upload ################################## # INET /sbin/tc class change dev $int_iface_up parent 1:1 classid 1:$mark1 htb rate $speedkb fi done echo `date +"%m/%d/%y"` > /var/stargazer/date_sytki ) 200>/tmp/clean_stat.lock OnConnect #!/bin/bash ip=$2 # Удаляем Фильтра ###################################################################### iptables -t filter -D INPUT -s $ip -j QUEUE while [ $? -eq 0 ] do iptables -t filter -D INPUT -s $ip -j QUEUE done iptables -t filter -D FORWARD -s $ip -j QUEUE while [ $? -eq 0 ] do iptables -t filter -D FORWARD -s $ip -j QUEUE done iptables -t filter -D FORWARD -d $ip -j QUEUE while [ $? -eq 0 ] do iptables -t filter -D FORWARD -d $ip -j QUEUE done #iptables -t filter -D OUTPUT -d $ip -j QUEUE #while [ $? -eq 0 ] #do #iptables -t filter -D OUTPUT -d $ip -j QUEUE #done ####################################################################### # Добавляем фильтр ####################################################################### iptables -t filter -A INPUT -s $ip -j QUEUE iptables -t filter -A FORWARD -s $ip -j QUEUE iptables -t filter -A FORWARD -d $ip -j QUEUE #iptables -t filter -A OUTPUT -d $ip -j QUEUE ####################################################################### # NAT ####################################################################### # Удаляем НАТ iptables -t nat -D POSTROUTING -s $ip -o eth0 -j SNAT --to внешний_айпи while [ $? -eq 0 ] do iptables -t nat -D POSTROUTING -s $ip -o eth0 -j SNAT --to внешний_айпи done # Добавляем НАТ iptables -t nat -A POSTROUTING -s $ip -o eth0 -j SNAT --to внешний_айпи ####################################################################### int_iface_up=eth0 int_iface_down=eth1 # Login LOGIN=$1 #user IP IP=$2 #cash CASH=$3 #user ID ID=$4 #Selected dirs to connect DIRS=$5 default_speed=64kbit echo "$ip" > /var/stargazer/online_users/$LOGIN echo "$ID" > /var/stargazer/users/$LOGIN/ID tariff=$(grep -i "^tariff=" /var/stargazer/users/$LOGIN/conf | cut -f 2 -d"=") pr_tariff=`echo $tariff | head -c 3` pr_bomba=`echo $tariff | head -c 5` if [ "$pr_tariff" = "dym" ]; then echo "1" > /var/stargazer/dynamic/$LOGIN/statysonline sostoyanie=$(cat /var/stargazer/dynamic/$LOGIN/sostoyanie) fi function fspeedkb() { ftariff=$1 pr_ftariff=`echo $ftariff | head -c 3` proverka=$(echo "$ftariff" | sed "s/[^0-9]//g") if [ "$proverka" != "" ] then if [ "$pr_tariff" = "dym" ] then sostoyanie=$(cat /var/stargazer/dynamic/$LOGIN/sostoyanie) case $sostoyanie in "0") fspeedkb=$(($proverka * 1024 ));; "1") fspeedkb=$(($proverka * 512 ));; "2") fspeedkb=$(($proverka * 256 ));; esac else if [ `date +"%H:%M"` \< "10:00" ] then if [ "$pr_bomba" = "bomba" ] then fspeedkb=$(($proverka * 4096 )) # Ночной тариф БОМБА else fspeedkb=$(($proverka * 2048 )) # Ночной тариф fi else fspeedkb=$(($proverka * 1024 )) # Дневной тариф fi fi fi if [ "$proverka" = "" ]; then fspeedkb=65536 fi if [ "$ftariff" = "mriya" ]; then fspeedkb=20000000 fi echo $fspeedkb"bit" } # Через функцию fspeedkb() из тарифного плана узнаем скорость для шейпера # функция работает: извлекает числовое значение из тарифного плана, # это число идет килобитах, чтобы получить в битах - умножаем на 1024 speedkb=`fspeedkb $tariff` declare -i mark=$ID+10 declare -i mark1=$ID+2000 echo "$mark" > /var/stargazer/users/$LOGIN/shaper_mark echo "$mark1" > /var/stargazer/users/$LOGIN/shaper_mark1 echo "$speedkb" > /var/stargazer/users/$LOGIN/shaper_rate iptables -t mangle -A FORWARD ! -p icmp -d $IP -j MARK --set-mark $mark iptables -t mangle -A FORWARD ! -p icmp -s $IP -j MARK --set-mark $mark1 ########################################################################################## #Download tc class add dev $int_iface_down parent 1:1 classid 1:$mark htb rate $speedkb tc filter add dev $int_iface_down parent 1: protocol ip prio 3 handle $mark fw classid 1:$mark ################################## #Upload ################################## tc class add dev $int_iface_up parent 1:1 classid 1:$mark1 htb rate $speedkb tc filter add dev $int_iface_up parent 1: protocol ip prio 3 handle $mark1 fw classid 1:$mark1 tc class add dev $int_iface_down parent 1:1 classid 1:$mark1 htb rate $speedkb tc filter add dev $int_iface_down parent 1: protocol ip prio 3 handle $mark1 fw classid 1:$mark1 ########################################################################################### OnDisconnect #!/bin/bash ip=$2 iptables -t filter -D INPUT -s $ip -j QUEUE while [ $? -eq 0 ] do iptables -t filter -D INPUT -s $ip -j QUEUE done ################################## iptables -t filter -D FORWARD -s $ip -j QUEUE while [ $? -eq 0 ] do iptables -t filter -D FORWARD -s $ip -j QUEUE done ################################## iptables -t filter -D FORWARD -d $ip -j QUEUE while [ $? -eq 0 ] do iptables -t filter -D FORWARD -d $ip -j QUEUE done ################################## #iptables -t filter -D OUTPUT -d $ip -j QUEUE #while [ $? -eq 0 ] #do #iptables -t filter -D OUTPUT -d $ip -j QUEUE #done iptables -t nat -D POSTROUTING -s $ip -o eth0 -j SNAT --to внешний_айпи int_iface_up=eth0 int_iface_down=eth1 # Login LOGIN=$1 #user IP IP=$2 #cash CASH=$3 #user ID ID=$4 #Selected dirs to disconnect DIRS=$4 tariff=$(grep -i "^tariff=" /var/stargazer/users/$LOGIN/conf | cut -f 2 -d"=") pr_tariff=`echo $tariff | head -c 3` if [ "$pr_tariff" == "dym" ]; then echo "0" > /var/stargazer/dynamic/$LOGIN/statysonline fi rm /var/stargazer/online_users/$LOGIN mark=$(cat /var/stargazer/users/$LOGIN/shaper_mark) mark1=$(cat /var/stargazer/users/$LOGIN/shaper_mark1) rate=$(cat /var/stargazer/users/$LOGIN/shaper_rate) # INET ############################################################################ if [ -n "$mark" ] then iptables -t mangle -D FORWARD ! -p icmp -d $IP -j MARK --set-mark $mark while [ $? = 0 ] do iptables -t mangle -D FORWARD ! -p icmp -d $IP -j MARK --set-mark $mark done fi if [ -n "$mark1" ] then iptables -t mangle -D FORWARD ! -p icmp -s $IP -j MARK --set-mark $mark1 while [ $? = 0 ] do iptables -t mangle -D FORWARD ! -p icmp -s $IP -j MARK --set-mark $mark1 done fi ############################################################################ #Download ########################################################################################## # INET tc filter del dev $int_iface_down parent 1: protocol ip prio 3 handle $mark fw classid 1:$mark tc class del dev $int_iface_down parent 1:1 classid 1:$mark htb rate $rate #Upload ################################## # INET tc filter del dev $int_iface_up parent 1: protocol ip prio 3 handle $mark1 fw classid 1:$mark1 tc class del dev $int_iface_up parent 1:1 classid 1:$mark1 htb rate $rate tc filter del dev $int_iface_down parent 1: protocol ip prio 3 handle $mark1 fw classid 1:$mark1 tc class del dev $int_iface_down parent 1:1 classid 1:$mark1 htb rate $rate ########################################################################################### #echo "D `date +%Y.%m.%d-%H.%M.%S` $IP $CASH" >> /var/stargazer/users/$LOGIN/connect.log OnChange #!/bin/bash login=$1 param=$2 oldValue=$3 newValue=$4 int_iface_up=eth0 int_iface_down=eth1 #echo "User: '$login'. Parameter $param changed from '$oldValue' to '$newValue'" >> /var/stargazer/users.chg.log ##################################################################################### # Функция для определения скорости через тарифный план function fspeedkb() { ftariff=$1 pr_ftariff=`echo $ftariff | head -c 3` pr_bomba=`echo $tariff | head -c 5` proverka=$(echo "$ftariff" | sed "s/[^0-9]//g") if [ "$proverka" != "" ] then if [ "$pr_tariff" = "dym" ] then sostoyanie=$(cat /var/stargazer/dynamic/$login/sostoyanie) case $sostoyanie in "0") fspeedkb=$(($proverka * 1024 ));; "1") fspeedkb=$(($proverka * 512 ));; "2") fspeedkb=$(($proverka * 256 ));; esac else if [ `date +"%H:%M"` \< "10:00" ] then if [ "$pr_bomba" = "bomba" ] then fspeedkb=$(($proverka * 4096 )) # Ночной тариф БОМБА else fspeedkb=$(($proverka * 2048 )) # Ночной тариф fi else fspeedkb=$(($proverka * 1024 )) # Дневной тариф fi fi fi if [ "$proverka" = "" ]; then fspeedkb=65536 fi if [ "$ftariff" = "mriya" ]; then fspeedkb=20000000 fi echo $fspeedkb"bit" } ##################################################################################### if [ "$param" = "tariff" ]; then #################################################################################################################### #echo "User: '$login'. Parameter $param changed from '$oldValue' to '$newValue'" >> /var/stargazer/users.chg.log new_tariff=`echo $newValue | head -c 3` old_tariff=`echo $oldValue | head -c 3` # Если у юзера динамический тариф, тогда создаем файл в /var/stargazer/dynamic/$login с состоянием трафика if [ "$new_tariff" = "dym" ]; then #=================================================================================== mkdir -p /var/stargazer/dynamic/$login onl=$(grep -i "^AlwaysOnline=" /var/stargazer/users/$login/conf | cut -f 2 -d"=") # Делаем проверку на наличие файла "stat", при создании нового юзера #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ if [ -f /var/stargazer/users/$login/stat ]; then trafik=$(grep -i "^D0=" /var/stargazer/users/$login/stat | cut -f 2 -d"=") echo "$trafik" > /var/stargazer/dynamic/$login/sytki echo "$trafik" > /var/stargazer/dynamic/$login/10min else echo "0" > /var/stargazer/dynamic/$login/sytki echo "0" > /var/stargazer/dynamic/$login/10min fi #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ echo "0" > /var/stargazer/dynamic/$login/raznica echo "0" > /var/stargazer/dynamic/$login/sostoyanie if [ "$onl" = "1" ]; then echo "1" > /var/stargazer/dynamic/$login/statysonline fi #=================================================================================== fi # Если юзер меняет тариф с динамического на обычный тариф - тогда удаляем папку в /var/stargazer/dynamic/$login с состоянием трафика if [ "$old_tariff" = "dym" ]; then cd /var/stargazer/dynamic/ rm -rf $login fi # Меняем шейп, если тариф был изменен if [ "$newValue" != "$oldValue" ]; then speedkb=`fspeedkb $newValue` mark=$(cat /var/stargazer/users/$login/shaper_mark) mark1=$(cat /var/stargazer/users/$login/shaper_mark1) echo "$speedkb" > /var/stargazer/users/$login/shaper_rate # Shaper ###################################################################################### #INET-Download /sbin/tc class change dev $int_iface_down parent 1:1 classid 1:$mark htb rate $speedkb #INET-Upload /sbin/tc class change dev $int_iface_up parent 1:1 classid 1:$mark1 htb rate $speedkb /sbin/tc class change dev $int_iface_down parent 1:1 classid 1:$mark1 htb rate $speedkb ###################################################################################### fi #################################################################################################################### fi otkonline.sh - запускаем при старте системы - чтобы очистить список юзеров Онлайн. #!/bin/bash for user in `ls /var/stargazer/dynamic/` do echo "0" > /var/stargazer/dynamic/$user/statysonline done Большой огромный минус этих скриптов, что они завязаны на Файловой БД. Ну, да еще бы их привести в порядок - тоесть некоторые части немного оптимизировать, но как говорят, нету ничего постоянного нежели сделанного временно. Скрипты 100% рабочие, уже пашут более 1 года. Скрипты вышли относительно большие и их оказалось не мало, но я и сам не заметил, что их у меня столько наплодилось, как-то писал-писал все по чуть-чуть реализовывая новую идею какаую-то свою через скрипты, да и это еще не все скрипты, которые я привел, но думаю этого будет достаточно. Ну и благодарство madf'y за содеянную помощь в идеи и написании этих же скриптов. ))) Ссылка на сообщение Поделиться на других сайтах
Zero_real 4 Опубліковано: 2011-05-06 00:43:03 Share Опубліковано: 2011-05-06 00:43:03 Небесный , а теперь посадите за конфигуратор менеджера и попросите добавить новый тариф, который сразу заработает. Вот-вот. Опять лезть в скрипты и править их под новые условия. Не правильно это с точки зрения управления биллингом. Добаваление/изменение тарифов это рядовая задача, этим не должен заниматься сисадмин. Нет гибкого функционала предоставления вводных данных. От части проблему тарифов решили бы поля, подобные полям юзердата в настройках тарифа. В иделе такие поля должны быть везде, в тарифах, ползователях, администраторах и т.д. Как я уже писал на этом форуме, вобще кошерно если вид этих полей можно будет настраивать (input, checkbox, textarea, etc). Еще более кошерно, если можно будет настраивать со стороны сервера. Будь это реализовано, можно было действительно мощно настраивать систему под себя и писать скрипты, которые получали бы значения этих полей (например ширину канала для конкретного тарифа). На данном эта мы имеем большой набор костылей, который часто нужно переделывать после вполне нетривальных действий. Эх...мечты-мечты... Ссылка на сообщение Поделиться на других сайтах
Небесный 26 Опубліковано: 2011-05-06 05:10:24 Share Опубліковано: 2011-05-06 05:10:24 Во-первых - это уже задача не менеджера!!! И не надо на ихние плечи это вешать. Во-вторых, человек со средней смекалкой, почитав документацию - сделает это легко. И еще что вы имеете ввиду добавить новый тариф? Какой тариф?. У меня скрипты более модифицированные, чем приводились ранее. Скорость берется из числа в имени тарифа. Например я назву тариф анлим128, или безлимит128, или просто 128, или же петя128васяколя. Все эти тарифы будут иметь скорость 128 килобит, и не надо будет лезть в скрипты и править их. Ибо я заложил в скрипты не конкретное имя тарифа --> скорость, а вытягивания из имени тарифного плана цыфровое значение!!! Если вы создадите тариф с именем анлим1024, а у нас до этого небыло такого тарифа в биллинге - тариф будет иметь скрость 1 Мегабит. Ну, вот и мечтайте дальше. Ссылка на сообщение Поделиться на других сайтах
yKpon 8 Опубліковано: 2011-05-06 10:25:38 Share Опубліковано: 2011-05-06 10:25:38 Небесный , а теперь посадите за конфигуратор менеджера и попросите добавить новый тариф, который сразу заработает. Вот-вот. Опять лезть в скрипты и править их под новые условия. Не правильно это с точки зрения управления биллингом. Добаваление/изменение тарифов это рядовая задача, этим не должен заниматься сисадмин. Нет гибкого функционала предоставления вводных данных. От части проблему тарифов решили бы поля, подобные полям юзердата в настройках тарифа. В иделе такие поля должны быть везде, в тарифах, ползователях, администраторах и т.д. Как я уже писал на этом форуме, вобще кошерно если вид этих полей можно будет настраивать (input, checkbox, textarea, etc). Еще более кошерно, если можно будет настраивать со стороны сервера. Будь это реализовано, можно было действительно мощно настраивать систему под себя и писать скрипты, которые получали бы значения этих полей (например ширину канала для конкретного тарифа). На данном эта мы имеем большой набор костылей, который часто нужно переделывать после вполне нетривальных действий. Эх...мечты-мечты... биллинг это не прокси сервер всё вышесказанное полный бред, у каждого своя конфигурация сети и протоколов подключения, своя(и) табрица(ы) маршрутизации и вообще у каждого свой случай под который нужно затачивать и наты и шейперы. Ссылка на сообщение Поделиться на других сайтах
Zero_real 4 Опубліковано: 2011-05-06 12:35:55 Share Опубліковано: 2011-05-06 12:35:55 Во-первых - это уже задача не менеджера!!! И не надо на ихние плечи это вешать. А чья? Ссылка на сообщение Поделиться на других сайтах
nightfly 1 237 Опубліковано: 2011-05-06 12:37:48 Share Опубліковано: 2011-05-06 12:37:48 А чья? Если у вас менеджеры добавляют тарифы в биллинги а секретарши админят БД... ну чтож - сочувствую Ссылка на сообщение Поделиться на других сайтах
Zero_real 4 Опубліковано: 2011-05-06 12:38:47 Share Опубліковано: 2011-05-06 12:38:47 биллинг это не прокси сервер всё вышесказанное полный бред, у каждого своя конфигурация сети и протоколов подключения, своя(и) табрица(ы) маршрутизации и вообще у каждого свой случай под который нужно затачивать и наты и шейперы. Причем тут прокси-сервер, конфигурация сети и шейперы? Прочитайте что в этом, как Вы выразились, "бреде" написано. Я не прошу встроить мне в биллинг шейпер и таблицу маршрутизации. Я прошу дайте мне удобоваримых произвольных полей с возможностью передачи их значений в скрипты. Это так сложно понять? Ссылка на сообщение Поделиться на других сайтах
Zero_real 4 Опубліковано: 2011-05-06 12:40:39 Share Опубліковано: 2011-05-06 12:40:39 А чья? Если у вас менеджеры добавляют тарифы в биллинги а секретарши админят БД... ну чтож - сочувствую Интересная у Вас ирония, а главное очень уместная. Если все будет админ, то эта вся автоматизация нифик не нужна. Ссылка на сообщение Поделиться на других сайтах
nightfly 1 237 Опубліковано: 2011-05-06 12:56:03 Share Опубліковано: 2011-05-06 12:56:03 Вся проблема и связанные с ней сентенции мягко говоря высосаны из пальца. Для начала не нужно путать понятия тарификации, аккаунтинга, шейпинга и полисинга - логически это практически не взаимосвязанные вещи. Специально для особо одаренных - Возможно дело просто в скилле? Я прошу дайте мне удобоваримых произвольных полей с возможностью передачи их значений в скрипты. Это так сложно понять? Почему-то мне никто не мешает делать анлимы/не анлимы любой извращенности - как с разными скоростями в разное время дня,c полисерами и прочими плюшками, так же как и не мешает и аккаунтить ими же КТВ и прочие услуги типа реальных айпишек. Что надо - берется и получается без лишних разговоров. Если все будет админ, то эта вся автоматизация нифик не нужна. а раутингом должны заниматься бухгалтера.. ага... Ссылка на сообщение Поделиться на других сайтах
Zero_real 4 Опубліковано: 2011-05-06 13:14:09 Share Опубліковано: 2011-05-06 13:14:09 Вся проблема и связанные с ней сентенции мягко говоря высосаны из пальца. Для начала не нужно путать понятия тарификации, аккаунтинга, шейпинга и полисинга - логически это практически не взаимосвязанные вещи. Никто ж не спорит. Специально для особо одаренных - Про вебморды и ежу понятно, сделайте такое же в конфигураторе. а раутингом должны заниматься бухгалтера.. ага... Тариф это вполне финансовая штука такая. Админ должен предоставить возможность управлять тарифами, остальное задача менеджеров. Вы когда-нибудь работали в большой организации? У вас сисадмин занимается финансовыми операциями? Жесть. ЗЫ: дурная манера невнимательно читать и после этого кого-то обвинять. Ссылка на сообщение Поделиться на других сайтах
nightfly 1 237 Опубліковано: 2011-05-06 13:25:02 Share Опубліковано: 2011-05-06 13:25:02 Про вебморды и ежу понятно, сделайте такое же в конфигураторе. йесссс сьор! сию минуту! Цена вопроса? Вы когда-нибудь работали в большой организации? я то и продолжаю работать, а вы видели что-то большее чем, цитирую "Есть сеть около 100 машин. Задача пустить их через в интернет через adsl. Пакет ОГО-Ультра от Укртелефона."? У вас сисадмин занимается финансовыми операциями? финансовые операции - это приход/расход денег, этим занимается бухгалтерия, менеджеры - занимаются менеджментом (ознакомьтесь хотябы с википедиями), админы (а почему вы всегда в единичном числе о них говорите?) занимаются администрированием - причем профильным (я себе слабо представляю единичную личность заведующую разношерстным железом и софтбоксами), а еще есть такие зверушки как маркетологи работа которых - придумывать наркоманские "маркетинговые" ходы. Предчувствую что такого не наблюдается в "К тазику подключена локальная сеть 10.10.0.0/24" Ознакомились бы хотябы с понятиями и терминологией для начала. ЗЫ: дурная манера невнимательно читать и после этого кого-то обвинять. дурной манерой на самом деле является огрызаться, вместо того, что-бы чуть-чуть подумать(а главное таки работать а не надеяться на чудо), и послушать о чем говорят люди которые уже более 10 на этом рынке. Ссылка на сообщение Поделиться на других сайтах
Zero_real 4 Опубліковано: 2011-05-06 14:07:54 Share Опубліковано: 2011-05-06 14:07:54 Не буду кормить троля. Ищите мои посты через поиск дальше. Там еще 5 летние к примеру повытаскивайте, ага. ЗЫ: и вобще это предложение было более к разрабочикам, чем к людям, которые от нефик делать ищут чужие посты поиске. Ссылка на сообщение Поделиться на других сайтах
nightfly 1 237 Опубліковано: 2011-05-06 14:15:12 Share Опубліковано: 2011-05-06 14:15:12 Не буду кормить троля. няма няма Там еще 5 летние к примеру повытаскивайте, ага. 23 Февраль 2011 - 12:03 02 Декабрь 2010 - 11:59 что-то подсказывает мне что за пол-года вы не дотянули до каких-то иных показателей чем пионерсетко с соткой соседей. ЗЫ: и вобще это предложение было более к разрабочикам, чем к людям, которые от нефик делать ищут чужие посты поиске. бида бида Ссылка на сообщение Поделиться на других сайтах
Zero_real 4 Опубліковано: 2011-05-06 14:18:09 Share Опубліковано: 2011-05-06 14:18:09 Мне Вас очень жаль и еще более жаль Ваших клиентов. С таким отношением к людям, с которыми Вы совершенно не знакомы в это жизни Вам весело прийдется. За сим откланяюсь. Говорить с Вами мне не о чем. Ссылка на сообщение Поделиться на других сайтах
nightfly 1 237 Опубліковано: 2011-05-06 14:20:01 Share Опубліковано: 2011-05-06 14:20:01 Это был последний аргумент который были вы способны выдавить из себя? Вам весело прийдется. мне весело - гарантирую. Я разочарован. Продолжайте провайдить на ультре Ссылка на сообщение Поделиться на других сайтах
yKpon 8 Опубліковано: 2011-05-06 14:49:15 Share Опубліковано: 2011-05-06 14:49:15 Zero_real, объясни пожалуйста для чего нужно это делать в конфигураторе? скрипты биллинга (включая шейпер и прочие плюшки) можно настроить так чтобы туда никогда не лазить, они будут обратывать нужные вам поля конфигурации юзера/тарифов, остаётся лишь добавлять, удалять, править тарифы или пользователей, а всё остальное они будут до вас доделывать, а вот другое дело если "лень" или "не умею" тогда поручите это тому кто с *nix-ами на ты. Ссылка на сообщение Поделиться на других сайтах
nightfly 1 237 Опубліковано: 2011-05-06 15:02:07 Share Опубліковано: 2011-05-06 15:02:07 а вот другое дело если "лень" или "не умею" а вы предполагаете что-то иное в данном контексте? Ссылка на сообщение Поделиться на других сайтах
Небесный 26 Опубліковано: 2011-05-06 20:16:03 Share Опубліковано: 2011-05-06 20:16:03 nightfly веселун!!! Ладно ребята, не обижайте парня. Еще добавлю Zero_real, я еще в жизни не встречал ни одной программы, которая бы подходила мне на все 100%, вечно мне что-то не устраивает, потому я и занялся изучением коддинга, чтобы прогнуть этот "мир" под себя. Ссылка на сообщение Поделиться на других сайтах
Zero_real 4 Опубліковано: 2011-05-06 21:03:12 Share Опубліковано: 2011-05-06 21:03:12 Zero_real, объясни пожалуйста для чего нужно это делать в конфигураторе? скрипты биллинга (включая шейпер и прочие плюшки) можно настроить так чтобы туда никогда не лазить, они будут обратывать нужные вам поля конфигурации юзера/тарифов, остаётся лишь добавлять, удалять, править тарифы или пользователей, а всё остальное они будут до вас доделывать, а вот другое дело если "лень" или "не умею" тогда поручите это тому кто с *nix-ами на ты. Так и не хватает этих самых полей в конфигураторе. Я вот и прошу что-то подобное полям юзердата в настройках тарифа чтобы потом обрабатывать их скриптом. Прописывать ширину каналов в названии тарифа это самый обычный костыль, коих можно придумать много, иначе это не назвать. Добавить 10 полей в базу/показать их в конфигураторе/отать их значения скриптам это так сложно реализовать? nightfly веселун!!! Ладно ребята, не обижайте парня. Еще добавлю Zero_real, я еще в жизни не встречал ни одной программы, которая бы подходила мне на все 100%, вечно мне что-то не устраивает, потому я и занялся изучением коддинга, чтобы прогнуть этот "мир" под себя. Так не вопрос. Я стг потому и выбрал, что его допиливать можно. Проблема в том, что стг застряг в эпоху когда продавали трафик, никаких анлимов небыло и провайдеры предоставляли одну услугу - доступ в Интернет. В эпоху же анлимов и разнобразности услуг (iptv, платные игры, etc) работа с стг превращается в обвешивание костылями. Я прошу лишь расширить возможность удобного "допиливания" биллинга путем создания произвольных полей тарифов, админов и т.д. Это же просто. Еще один плюс такого подхода - возможность создания вебморд, которые работают с любой базой данных. Данные забираются запросом к стг, а не напрямую к базе. Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас