vitiv 1 Posted 2010-01-25 10:32:05 Share Posted 2010-01-25 10:32:05 Для компиляции stg-2.406.src.tgz ось дополнена следующими компонентами- ----------------------------------------------------------- gcc gcc-c++ expat expat-devel libexpat-1.95.5-alt1.i586.rpm ----------------------------------------------------------- mysql mysql-pithon libdbi-dbd-mysql phpmyadmin mysql-devel mysql-connector-odbc perl-dbd-mysql unixodbc php-pdo mysql-server php-mysql php-mbstring php-gd httpd webmin-1.500-1.noarch.rpm ----------------------------------------------------------- начальные строки команды ./build - весь конфиг приаттачен Checking endianess... Little Endian Checking for -lexpat... yes Checking for -lfbclient... no Checking for mysql_config... yes Checking for mysql_config --cflags... Ни каких особенностей не замечено, однако после сборки make install в директории /etc/stargazer не появились last first и самое главное в /sbin/ сам файл stargazer Как можно прокомментировать - исправить? build.zip Link to post Share on other sites
madf 279 Posted 2010-01-25 11:12:09 Share Posted 2010-01-25 11:12:09 А кто такие эти first и last и почему stargazer должен быть в /sbin а не в /usr/sbin? Link to post Share on other sites
vitiv 1 Posted 2010-01-25 11:33:06 Author Share Posted 2010-01-25 11:33:06 А кто такие эти first и last понятия не имею -такое появилось при установке предыдущей версии для CentOS почему stargazer должен быть в /sbin а не в /usr/sbin? Вот, вот вполне логично. Понятно, что инструкция на сайте для старой версии(2), может быть пора написать новый ман, а на первое время подкорректировать и исправить существующий? В нижней части ПРИМЕР НАСТРОЙКИ СЕРВЕРА ПОД LINUX Теперь остается поместить в /etc/rc.d/rc.local две строки (порядок строк важен!): /etc/stargazer/fw /sbin/stargazer и можно считать, что настройка закончена. Link to post Share on other sites
madf 279 Posted 2010-01-25 12:38:57 Share Posted 2010-01-25 12:38:57 На сайте мануал для версии 2.0 Мануал для версии 2.4 в PDF (stargazer_help_v2.13.pdf). Существующий корректировать и исправлять не нужно, т.к. он для версии 2.0. Link to post Share on other sites
vitiv 1 Posted 2010-01-25 14:01:39 Author Share Posted 2010-01-25 14:01:39 Ок, спасибо, учёл Link to post Share on other sites
vitiv 1 Posted 2010-01-25 15:56:01 Author Share Posted 2010-01-25 15:56:01 Скрипт не стартует /var/log/stargazer.log 2010-01-25 16:16:29 -- ReadSettings error. Should be only one StoreModule. 2010-01-25 16:39:48 -- ReadSettings error. Should be only one StoreModule. 2010-01-25 17:16:21 -- ReadSettings error. Should be only one StoreModule. stargazer.conf # Имя лог-файла куда пишутся события LogFile = /var/log/stargazer.log # Имя PID-файла куда пишется идентификатор процесса # По умолчанию /var/run/pid # PIDFile = /var/run/stargazer.pid # Имя файла в котором определяются правила подсчета трафика Rules = /etc/stargazer/rules # Время через которое пишется d БД детальная статистика пользователя # Значения: 1, 1/2, 1/4, 1/6. # 1 - раз в чаc, 1/2 - раз в пол часа, 1/4 - раз в 15 мин, 1/6 - раз в 10 мин DetailStatWritePeriod=1/6 # Периодичность записи записи в БД информации о статистике пользователя (минуты) # При большом кол-ве пользователей эту величину стоит увеличить, т.к. # запись в БД может занимать длительное время. # Значения: 1...1440 (минуты) StatWritePeriod = 10 # День снятия абонплаты # Значения: 0...31. 0 - Последний день месяца DayFee = 1 # Абонплата снимается в последний (yes) или первый (no) день учетного периода. # Это влияет на то, как будет снята абонплата (АП) при переходе на новый тариф. # Если у пользователя был тариф A с АП=100 и он хочет перейти на тариф B с АП=200, # то при переходе на новый тариф со счета пользователя снимется 100, если # DayFeeIsLastDay = yes и 200, если DayFeeIsLastDay = no DayFeeIsLastDay = yes # День сброса данных о трафике за месяц и день перехода пользователей на новые тарифы # Значения: 0...31. 0 - Последний день месяца DayResetTraff = 1 # "Размазанное" снятие абонплаты. Снятие АП не раз в месяц, а каждый # день 1/30 или 1/31 части АП # Значения: yes, no SpreadFee = no # Данная опция определяет может ли пользователь получить доступ в интерент # если у него на счету нет денег, но остался предоплаченный трафик # Значения: yes, no FreeMbAllowInet = no # Эта опция определяет что будет писаться в стоимость трафика в detail_stat. # Если у пользователя еще есть предоплаченный трафик и WriteFreeMbTraffCost = no, # то в detail_stat стоимость будет 0. Если у пользователя уже нет # предоплаченного трафика и WriteFreeMbTraffCost = no, то в detail_stat # будет записана стоиость трафика. При WriteFreeMbTraffCost = yes стоимость # трафика будет записана в любом случае. WriteFreeMbTraffCost = no # Необязательный параметр. Указывает снимать полную абонплату у пользователя даже # если он быз заморожен только часть учетного периода. # По умолчанию установлен в no # FullFee=no # Необязательный параметр указывающий показывать на счету и позволять # использовать пользователю абонплату. По умолчанию установлен в yes # ShowFeeInCash=yes # Названия направлений. Направления без названий не будут отображаться в # авторизаторе и конфигураторе. Названия состоящие из нескольких слов должны # быть взяты в кавычки <DirNames> DirName0 = Локаль DirName1 = Город DirName2 = Мир DirName3 = DirName4 = DirName5 = "Локальные игры" DirName6 = DirName7 = DirName8 = DirName9 = </DirNames> # Кол-во запускаемых процессов stg-exec. # Эти процессы отвечают за выполнение скриптов OnConnect, OnDisconnect, ... # Кол-во процессов означает сколько скриптов могут выполнятся одновременно. # Значения: 1...1024 ExecutersNum = 1 # Message Key для stg-exec. # Идентификатор очереди сообщений для выполнятеля скриптов. # Его изменение может понадобится если есть необходимость запустить несколько # экземпляров stg. Если вы не понимаете, что это, не трогайте этот параметр! # Значения: 0...2^32 # Значение по умолчанию: 5555 # ExecMsgKey = 5555 # Путь к директории, в которой находятся модули сервера ModulesPath = /usr/lib/stg # Определяет директорию, в которой будут находится файлы "монитора" # работы сервера. В этой директории будут созданы пустые файлы, время # модификации которых будет меняться примерно раз в минуту. Если какой-то # компонент сервера зависнет, файл(ы) перестанет обновлятся, и по этому # признаку можно определить сбой в работе сервера и при надобности # перезапустить. Если параметр не указан или пустой, мониторинг производится # не будет. Параметр не является обязательным, по умолчанию пустой. # MonitorDir=/var/stargazer/monitor # Store module # Настройки плагина работающего с БД сервера # Второй параметр - это имя модуля без mod_ в начале и .so в конце # Т.е. полное имя модуля mod_store_files.so <StoreModule store_files> # Рабочая директория сервера, тут содержатся данные о тарифах, пользователях, # администраторах и т.д. WorkDir = /var/stargazer # Владелец, группа и права доступа на файлы статистики (stat) пользователя ConfOwner = root ConfGroup = root ConfMode = 600 # Владелец, группа и права доступа на файлы конфигурации (conf) пользователя StatOwner = root StatGroup = root StatMode = 640 # Владелец, группа и права доступа на лог-файлы (log) пользователя UserLogOwner = root UserLogGroup = root UserLogMode = 640 # Удалять резервные копии после успешной записи conf/stat # Значения: yes, no # По умолчанию: yes # RemoveBak = yes # Восстанавливать файлы conf/stat из резервных копий при ошибке чтения # Значения: yes, no # По умолчанию: no # ReadBak = no </StoreModule> <StoreModule store_mysql> # Имя пользователя БД dbuser = stg # Пароль пользователя БД rootdbpass = 123456 # Имя БД на сервере dbname = stg # Адрес сервера БД dbhost = localhost </StoreModule> # Прочие модули <Modules> # Настройки плагина авторизации Always Online "mod_auth_ao.so" # Второй параметр - это имя модуля без mod_ в начале и .so в конце # Т.е. полное имя модуля mod_auth_ao.so <Module auth_ao> </Module> # Настройки плагина авторизации InetAccess "mod_auth_ia.so" # Второй параметр - это имя модуля без mod_ в начале и .so в конце # Т.е. полное имя модуля mod_auth_ia.so <Module auth_ia> # Порт на котором принимаются обращения от авторизатора # Значения: 1...65534 Port = 5555 # Время между посылками запроса пользователю жив ли он # и обновлением данных статистики (секунды) # Значения: 5...600 UserDelay = 15 #Таймаут для пользователя. Если в течение этого времени авторизатор #не отвечает, пользователь будет отключен # Значения: 15...1200 UserTimeout = 65 # Этот параметр определяет что будет передаваться программе InetAccess от сервера # как отстаток предоплаченного трафика # Значения: # FreeMb = 0 - кол-во бесплатных мегабайт в пресчете на цену нулевого направления # FreeMb = 1 - кол-во бесплатных мегабайт в пресчете на цену первого направления # FreeMb = 2 - кол-во бесплатных мегабайт в пресчете на цену второго направления # FreeMb = 3 - кол-во бесплатных мегабайт в пресчете на цену третьего направления # ........................ # FreeMb = 9 - кол-во бесплатных мегабайт в пресчете на цену девятого направления # FreeMb = cash - кол-во денег на которые юзер может бесплатно качать # FreeMb = none - ничего не передавать FreeMb = cash </Module> # Модули можно использовать несколько раз с разными параметрами #<Module auth_ia> # Port = 7777 # UserDelay = 15 # UserTimeout = 65 # FreeMb = 0 #</Module> # Настройки модуля конфигурации SgConfig "mod_conf_sg.so" # Второй параметр - это имя модуля без mod_ в начале и .so в конце <Module conf_sg> # Порт по которому сервер взаимодействует с конфигуратором # Значения: 1...65535 Port = 5555 </Module> # Модуль захвата трафика "mod_cap_ether.so" # Второй параметер - это имя модуля без mod_ в начале и .so в конце # Без параметров. Только имя модуля. <Module cap_ether> # Модуль без параметров </Module> # Модуль захвата трафика "mod_cap_nf.so" # Принимает информацию о трафике по протоколу NetFlow # Второй параметер - это имя модуля без mod_ в начале и .so в конце <Module cap_nf> # TCPPort - порт для TCP-соединений TCPPort = 42111 # UDPPort - порт для UDP-соединений UDPPort = 42111 # Могут иметь совпадающие значения. # Если параметр не указан - соответствующий порт не "прослушивается". </Module> # Настройки модуля пингующего пользователей "mod_ping.so" # Второй параметр - это имя модуля без mod_ в начале и .so в конце <Module ping> # Время, в секундах, между пингами одного и того же пользователя # Значения: 10...3600 PingDelay = 15 </Module> </Modules> [root@stg vitiv]# ps x | grep stargazer 3680 pts/3 S+ 0:00 grep stargazer Link to post Share on other sites
vitiv 1 Posted 2010-01-25 16:00:14 Author Share Posted 2010-01-25 16:00:14 Скрин установленных модулей Link to post Share on other sites
Serjio 19 Posted 2010-01-25 16:03:39 Share Posted 2010-01-25 16:03:39 Should be only one StoreModule уберите одно из хранилищ. Link to post Share on other sites
vitiv 1 Posted 2010-01-25 16:32:39 Author Share Posted 2010-01-25 16:32:39 Should be only one StoreModule уберите одно из хранилищ. закомментировал mysql - оставил файловую БД для последующей настройки шейпера есть контакт, благодарю! Link to post Share on other sites
vitiv 1 Posted 2010-01-25 20:29:04 Author Share Posted 2010-01-25 20:29:04 В сборке Stargazer(a) присутсвуют скрипты для shaper OnConnect #!/bin/bash int_iface=eth1 # Login LOGIN=$1 #user IP IP=$2 #cash CASH=$3 #user ID ID=$4 #Selected dirs to connect DIRS=$5 default_speed=32kbit # =========== shaping by tariff =========== #tariff=$(grep -i "^tariff=" /var/stargazer/users/$LOGIN/conf | cut -f 2 -d"=") #echo "tariff=$tariff" > /var/stargazer/users/$LOGIN/connect.log #case $tariff in # minimum) speedkb=128kbit;; # 128 kbit # middle) speedkb=256kbit;; # 256 kbi # maximum) speedkb=512kbit;; # 512 kbit # *) speedkb=$default_speed;; # default speed #esac # ========= shaping by tariff end ========= # ========= shaping by userdata0 ========== speedR=$(grep -i "^Userdata0=" /var/stargazer/users/$LOGIN/conf | cut -f 2 -d"=") speed=$(echo $speedR | grep "^[0-9]*[0-9]$") if [ -z "$speed" ] then speedkb=$default_speed else speedkb="$speed"kbit fi # ======= shaping by userdata0 end ======== declare -i mark=$ID+10 echo "$mark" > /var/stargazer/users/$LOGIN/shaper_mark echo "$speedkb" > /var/stargazer/users/$LOGIN/shaper_rate /sbin/iptables -t mangle -A FORWARD -d $IP -j MARK --set-mark $mark tc class add dev $int_iface parent 1:1 classid 1:$mark htb rate $speedkb burst 40k tc filter add dev $int_iface parent 1: protocol ip prio 3 handle $mark fw classid 1:$mark OnDisconnect #!/bin/bash int_iface=eth1 # Login LOGIN=$1 #user IP IP=$2 #cash CASH=$3 #user ID ID=$4 #Selected dirs to disconnect DIRS=$4 mark=$(cat /var/stargazer/users/$LOGIN/shaper_mark) rate=$(cat /var/stargazer/users/$LOGIN/shaper_rate) if [ -n "$mark" ] then /sbin/iptables -t mangle -D FORWARD -d $IP -j MARK --set-mark $mark while [ $? == 0 ] do /sbin/iptables -t mangle -D FORWARD -d $IP -j MARK --set-mark $mark done fi tc filter del dev $int_iface parent 1: protocol ip prio 3 handle $mark fw classid 1:$mark tc class del dev $int_iface parent 1:1 classid 1:$mark htb rate $rate burst 40k echo "D `date +%Y.%m.%d-%H.%M.%S` $IP $CASH" >> /var/stargazer/users/$LOGIN/connect.log shaper.sh #!/bin/bash int_iface=eth1 /sbin/iptables -t mangle --flush tc qdisc add dev $int_iface root handle 1: htb tc class add dev $int_iface parent 1: classid 1:1 htb rate 100mbit ceil 100mbit burst 200k shaper.stop.sh #!/bin/bash int_iface=eth1 # Login LOGIN=$1 #user IP IP=$2 #cash CASH=$3 #user ID ID=$4 #Selected dirs to disconnect DIRS=$4 mark=$(cat /var/stargazer/users/$LOGIN/shaper_mark) rate=$(cat /var/stargazer/users/$LOGIN/shaper_rate) if [ -n "$mark" ] then /sbin/iptables -t mangle -D FORWARD -d $IP -j MARK --set-mark $mark while [ $? == 0 ] do /sbin/iptables -t mangle -D FORWARD -d $IP -j MARK --set-mark $mark done fi tc filter del dev $int_iface parent 1: protocol ip prio 3 handle $mark fw classid 1:$mark tc class del dev $int_iface parent 1:1 classid 1:$mark htb rate $rate burst 40k echo "D `date +%Y.%m.%d-%H.%M.%S` $IP $CASH" >> /var/stargazer/users/$LOGIN/connect.log Описание для запуска Настройка шейпера для STG в Linux. Настройка сводится к указанию сетевого интерфейса, обращенного к пользователю в скриптах shaper.sh, shaper.stop.sh, OnConnect и OnDisconnect, и уточнению скоростоей и тарифов в скрипте OnConnect (если нужно). Скрипты сделаны для БД на файлах, однако, сделать их для БД на Firebird или MySQL не составит большого труда. В OnConnect есть два типа шейпинга. 1. На основании тарифа. Т.е. для каждого тарифа у задана скорость и задано дефолтное значение, на случай отсутсвия тарифа в списке скоростей или забывчивости админа. 2. На основании Userdata0. В этом поле просто прописывается число равное скорости в kbit/sec. Также есть дефолтное значение скорости в 32 kbit/sec на случай отсутсвия в Userdata0 корректного значения. В скрипте первый способ закомментирован. Для того чтобы выбрать один из них нужно либо удалить, либо закомментировать строчики между # ========= shaping by tariff ========== ......... # ======= shaping by tariff end ======== и # ========= shaping by userdata0 ========== ......... # ======= shaping by userdata0 end ======== и нужную часть расскоментировать, если она закомментрована. Скрипт shaper.sh должен быть выполнен один раз при загрузке системы. Интерфейс обращенный к пользователю определяется в переменной int_iface= (присутствует во всех 4-х файлах shaper.sh, shaper.stop.sh, OnConnect и OnDisconnect !!!) Скорость по умолчанию в OnConnect в переменной default_speed Зависимость скорости от тарифа задается в следующем фрагменте кода: case $tariff in minimum) speedkb=128kbit;; middle) speedkb=256kbit;; maximum) speedkb=512kbit;; *) speedkb=$default_speed;; esac Т.е. тут нужно вместо minimum, ... maximum подставить имена ваших тарифов и соотв. скорость. Пользователи с тарифами не указанными в списке будут иметь дефолтную скорость. Скорость ограничивается только для входящего тарафика, однако расширить эти скрипты для исходящего не составит труда. судя из описания мой сетевой eth1 - при коннекте авторизатором пользователь не поднимает OnConnect если запустить OnConnect принудительно, то - [root@stg stargazer]# /etc/stargazer/OnConnect foo 192.168.1.35 grep: /var/stargazer/users/foo/conf: Нет такого файла или каталога /etc/stargazer/OnConnect: line 47: /var/stargazer/users/foo/shaper_mark: Нет такого файла или каталога /etc/stargazer/OnConnect: line 48: /var/stargazer/users/foo/shaper_rate: Нет такого файла или каталога /etc/stargazer/OnConnect: line 52: tc: команда не найдена /etc/stargazer/OnConnect: line 53: tc: команда не найдена [root@stg stargazer]# /sbin/iptables -nL Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination файлы conf shaper_mark shaper_rate у пользователя создались необходим рабочий вариант удобного шейпера - прокомментируйте пожалуйста... p/s в принципе второй вариант по описанию подошёл бы Link to post Share on other sites
vitiv 1 Posted 2010-01-25 23:03:51 Author Share Posted 2010-01-25 23:03:51 исправил направление к файлу tc /sbin/tc ... запуск /etc/stargazer/fw [root@stg vitiv]# /sbin/iptables -nL Chain INPUT (policy DROP) target prot opt source destination ACCEPT all -- 0.0.0.0/0 127.0.0.1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ACCEPT tcp -- 192.168.1.0/24 192.168.1.5 tcp dpt:53 ACCEPT udp -- 192.168.1.0/24 192.168.1.5 udp dpt:53 ACCEPT tcp -- 192.168.1.0/24 192.168.1.5 tcp dpt:5555 ACCEPT udp -- 192.168.1.0/24 192.168.1.5 udp spt:5555 dpt:5555 Chain FORWARD (policy DROP) target prot opt source destination Chain OUTPUT (policy DROP) target prot opt source destination ACCEPT all -- 127.0.0.1 0.0.0.0/0 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ACCEPT tcp -- 192.168.1.5 192.168.1.0/24 tcp spt:53 ACCEPT udp -- 192.168.1.5 192.168.1.0/24 udp spt:53 ACCEPT tcp -- 192.168.1.5 192.168.1.0/24 tcp spt:5555 ACCEPT udp -- 192.168.1.5 192.168.1.0/24 udp dpt:5555 [root@stg vitiv]# /sbin/iptables -t nat -nL Chain PREROUTING (policy ACCEPT) target prot opt source destination Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE all -- 139.0.0.0/24 0.0.0.0/0 MASQUERADE all -- 0.0.0.0/0 139.0.0.0/24 MASQUERADE all -- 192.168.1.0/24 0.0.0.0/0 MASQUERADE all -- 0.0.0.0/0 192.168.1.0/24 Chain OUTPUT (policy ACCEPT) target prot opt source destination запуск /etc/stargazer/shaper.sh запуск /etc/stargazer/OnConnect a 192.168.1.35 [root@stg vitiv]# /etc/stargazer/OnConnect a 193.168.1.35 grep: /var/stargazer/users/a/conf: Нет такого файла или каталога /etc/stargazer/OnConnect: line 47: /var/stargazer/users/a/shaper_mark: Нет такого файла или каталога /etc/stargazer/OnConnect: line 48: /var/stargazer/users/a/shaper_rate: Нет такого файла или каталога [root@stg vitiv]# /sbin/iptables -nL Chain INPUT (policy DROP) target prot opt source destination ACCEPT all -- 0.0.0.0/0 127.0.0.1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ACCEPT tcp -- 192.168.1.0/24 192.168.1.5 tcp dpt:53 ACCEPT udp -- 192.168.1.0/24 192.168.1.5 udp dpt:53 ACCEPT tcp -- 192.168.1.0/24 192.168.1.5 tcp dpt:5555 ACCEPT udp -- 192.168.1.0/24 192.168.1.5 udp spt:5555 dpt:5555 Chain FORWARD (policy DROP) target prot opt source destination Chain OUTPUT (policy DROP) target prot opt source destination ACCEPT all -- 127.0.0.1 0.0.0.0/0 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ACCEPT tcp -- 192.168.1.5 192.168.1.0/24 tcp spt:53 ACCEPT udp -- 192.168.1.5 192.168.1.0/24 udp spt:53 ACCEPT tcp -- 192.168.1.5 192.168.1.0/24 tcp spt:5555 ACCEPT udp -- 192.168.1.5 192.168.1.0/24 udp dpt:5555 [root@stg vitiv]# /sbin/iptables -t nat -nL Chain PREROUTING (policy ACCEPT) target prot opt source destination Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE all -- 139.0.0.0/24 0.0.0.0/0 MASQUERADE all -- 0.0.0.0/0 139.0.0.0/24 MASQUERADE all -- 192.168.1.0/24 0.0.0.0/0 MASQUERADE all -- 0.0.0.0/0 192.168.1.0/24 Chain OUTPUT (policy ACCEPT) target prot opt source destination Интерфейс 192.168.1.35 не появился Link to post Share on other sites
Serjio 19 Posted 2010-01-25 23:30:36 Share Posted 2010-01-25 23:30:36 Интерфейс 192.168.1.35 не появился С каких пор 192.168.1.35 это интерфейс? И с какого перепугу правила tc выводят через iptables? Link to post Share on other sites
vitiv 1 Posted 2010-01-26 08:46:42 Author Share Posted 2010-01-26 08:46:42 С каких пор 192.168.1.35 это интерфейс? Может неправильно выразился - это клиентская машина IP 192.168.1.35 Mask 255.255.255.0 GW 192.168.1.5 DNS 192.168.1.5 И с какого перепугу правила tc выводят через iptables? по порядку показан ручной старт файлов -видимых проблем как бы нет, коннект авторизатором клиента есть вывод iptables проверка - клиента в таблице нет... В данный момент OnConnect имеет вот такой вид: #!/bin/bash int_iface=eth1 # Login LOGIN=$1 #user IP IP=$2 #cash CASH=$3 #user ID ID=$4 #Selected dirs to connect DIRS=$5 echo "C `date +%Y.%m.%d-%H.%M.%S` $IP $CASH" >> /var/stargazer/users/$LOGIN/connect.log default_speed=32kbit # ========= shaping by userdata0 ========== speedR=$(grep -i "^Userdata0=" /var/stargazer/users/$LOGIN/conf | cut -f 2 -d"=") speed=$(echo $speedR | grep "^[0-9]*[0-9]$") if [ -z "$speed" ] then speedkb=$default_speed else speedkb="$speed"kbit fi # ======= shaping by userdata0 end ======== declare -i mark=$ID+10 echo "$mark" > /var/stargazer/users/$LOGIN/shaper_mark echo "$speedkb" > /var/stargazer/users/$LOGIN/shaper_rate /sbin/iptables -t mangle -A FORWARD -d $IP -j MARK --set-mark $mark /sbin/tc class add dev $int_iface parent 1:1 classid 1:$mark htb rate $speedkb burst 40k /sbin/tc filter add dev $int_iface parent 1: protocol ip prio 3 handle $mark fw classid 1:$mark OnDisconnect #!/bin/bash int_iface=eth1 # Login LOGIN=$1 #user IP IP=$2 #cash CASH=$3 #user ID ID=$4 #Selected dirs to disconnect DIRS=$4 echo "C `date +%Y.%m.%d-%H.%M.%S` $IP $CASH" >> /var/stargazer/users/$LOGIN/connect.log mark=$(cat /var/stargazer/users/$LOGIN/shaper_mark) rate=$(cat /var/stargazer/users/$LOGIN/shaper_rate) if [ -n "$mark" ] then /sbin/iptables -t mangle -D FORWARD -d $IP -j MARK --set-mark $mark while [ $? == 0 ] do /sbin/iptables -t mangle -D FORWARD -d $IP -j MARK --set-mark $mark done fi /sbin/tc filter del dev $int_iface parent 1: protocol ip prio 3 handle $mark fw classid 1:$mark /sbin/tc class del dev $int_iface parent 1:1 classid 1:$mark htb rate $rate burst 40k shaper.sh #!/bin/bash int_iface=eth1 /sbin/iptables -t mangle --flush /sbin/tc qdisc add dev $int_iface root handle 1: htb /sbin/tc class add dev $int_iface parent 1: classid 1:1 htb rate 100mbit ceil 100mbit burst 200k и т.д... Link to post Share on other sites
vitiv 1 Posted 2010-01-26 09:20:11 Author Share Posted 2010-01-26 09:20:11 Сервер: WAN IP 139.0.0.5 Mask 255.255.255.0 GW 139.0.0.1 DNS 139.0.0.1 ------------------ LAN IP 192.168.1.5 Mask 255.255.255.0 Для рассмотрения используемые на данный момент файлы из /etc/stargazer myfiles.zip Link to post Share on other sites
DarkSpider 36 Posted 2010-01-26 09:49:17 Share Posted 2010-01-26 09:49:17 Судя по скриптам онконнект и ондисконнект - используешь те скрипты, что я выкладывал - стукни в аську 16шесть8четыре28три8 помогу разобраться. Link to post Share on other sites
vitiv 1 Posted 2010-01-26 10:16:55 Author Share Posted 2010-01-26 10:16:55 Судя по скриптам онконнект и ондисконнект - используешь те скрипты, что я выкладывал - стукни в аську 16шесть8четыре28три8 помогу разобраться. я в онлайн постоянно - попытаюсь достучаться может ещё кто-нибудь прокомментирует происходящее? Link to post Share on other sites
vitiv 1 Posted 2010-01-27 09:25:22 Author Share Posted 2010-01-27 09:25:22 для полного контакта могу к серверу дать доступ по ssh Link to post Share on other sites
seredin.max 0 Posted 2011-01-31 21:59:43 Share Posted 2011-01-31 21:59:43 kak yctanovit paket libexpat-1.95.5-alt1.i586.rpm ???? help!!!! Link to post Share on other sites
madf 279 Posted 2011-02-01 09:07:20 Share Posted 2011-02-01 09:07:20 kak yctanovit paket libexpat-1.95.5-alt1.i586.rpm ???? help!!!! man rpm Link to post Share on other sites
keshaLG 5 Posted 2011-02-01 09:39:32 Share Posted 2011-02-01 09:39:32 kak yctanovit paket libexpat-1.95.5-alt1.i586.rpm ???? help!!!! rpm -Uhv libexpat-1.95.5-alt1.i586.rpm PS а чего в теме про CentOS, вопрос по пакет с Альта? если дистр rh-based - то надо yum install libexpat Link to post Share on other sites
keshaLG 5 Posted 2011-02-01 10:00:29 Share Posted 2011-02-01 10:00:29 man rpm +1 тоже хотел так ответить Link to post Share on other sites
madf 279 Posted 2011-02-01 12:59:26 Share Posted 2011-02-01 12:59:26 kak yctanovit paket libexpat-1.95.5-alt1.i586.rpm ???? help!!!! rpm -Uhv libexpat-1.95.5-alt1.i586.rpm PS а чего в теме про CentOS, вопрос по пакет с Альта? если дистр rh-based - то надо yum install libexpat Наверное потому что ТС поставил на CentOS пакет из ALT'а Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now