MiZtEriX Posted December 4, 2006 Posted December 4, 2006 Идёт разброс инетного трафика с вышестоящим провайдером. У меня старгейзер насчитывает его примероно в 2 раза больше Правила: ALL 195.133.189.29/32 DIR2 TCP 192.168.254.2:8080 DIR1 ALL 192.168.0.0/16 DIR0 ALL 195.133.188.0/24 DIR0 ALL 195.133.189.0/24 DIR0 ALL 195.133.190.0/24 DIR0 ALL 195.133.191.0/24 DIR0 ALL 81.90.0.138 DIR0 ALL 10.0.0.0/8 DIR0 ALL 0.0.0.0/0 DIR1 Платный только дир1 В чём проблема может быть?
centre-lan Posted December 4, 2006 Posted December 4, 2006 Идёт разброс инетного трафика с вышестоящим провайдером.У меня старгейзер насчитывает его примероно в 2 раза больше Правила: ALL 195.133.189.29/32 DIR2 TCP 192.168.254.2:8080 DIR1 ALL 192.168.0.0/16 DIR0 ALL 195.133.188.0/24 DIR0 ALL 195.133.189.0/24 DIR0 ALL 195.133.190.0/24 DIR0 ALL 195.133.191.0/24 DIR0 ALL 81.90.0.138 DIR0 ALL 10.0.0.0/8 DIR0 ALL 0.0.0.0/0 DIR1 Платный только дир1 В чём проблема может быть? сделай список более грамотный правила читаются сверха вниз.. тоесть старгейзер считает в твою пользу? сумарный трафик или только входящий\исходящий? проверь.. возьми файл из инета 100 мбайт.. и скачай его.. если в старгейзере будет 200 мб значит че-то не так=)..
MiZtEriX Posted December 4, 2006 Author Posted December 4, 2006 как там более грамотно то? скачали файлик, размер 146295 b а посчитало так: -> 13.20.00 - 13.30.00 192.168.250.1 0 19384 7832 0.000000 195.133.189.3 0 150 118 0.000000 10.1.5.4 0 469226 386966 0.000000 192.168.33.18 0 72 72 0.000000 195.133.189.29 2 227120 46640 0.000000 10.1.7.34 0 19134 19284 0.000000 10.3.1.49 0 18048 18628 0.000000 81.90.0.138 0 30004 10860 0.000000 87.242.75.148 1 330990 10378 0.473485 192.168.250.255 0 0 310 0.000000 и где грабли?
Cell Posted December 4, 2006 Posted December 4, 2006 и где грабли? Грабли скорее всего в том что траф считается на входном интерфейсе и на выходном. Наводящий вопрос - а не один и тот же это у вас интерфейс?
MiZtEriX Posted December 5, 2006 Author Posted December 5, 2006 интерфейсы разные 192.168.248.254 - eth1 - внешний и 192.168.250.1 - eth0 - внутренний шлюз по умолчанию 192.168.248.1 где вообще в старгейзере указано с каких интерфейсов траф снимать? еслиб был двойной просчёт из-за интерфейсов, то наверное там в итоге цифра бы получалась одинаковая всегда, а получается то 330к, то 319к, то 348к - хотя качаю один и тотже файлик на 149к
egor2fsys Posted December 5, 2006 Posted December 5, 2006 НАТ на клиента поднят с которого качали ? Если нет, то будет задвоение.
MiZtEriX Posted December 5, 2006 Author Posted December 5, 2006 почитал тему (http://local.com.ua/forum/index.php?showtopic=5897) и сделал так: # <Module cap_ether> # Модуль без параметров # </Module> <Module cap_ipq> # Модуль без параметров </Module> OnConnect LOGIN=$1 IP=$2 CASH=$3 ID=$4 echo "C `date +%Y.%m.%d-%H.%M.%S` $IP $CASH" >> /var/stargazer/users/$LOGIN/connect.log iptables -I FORWARD -s $IP -j QUEUE iptables -I FORWARD -d $IP -j QUEUE OnDisconnect LOGIN=$1 ip=$2 CASH=$3 ID=$4 echo "D `date +%Y.%m.%d-%H.%M.%S` $ip $CASH" >> /var/stargazer/users/$LOGIN/connect.log iptables -D FORWARD -s $ip -j QUEUE while [ $? -eq 0 ] do iptables -D FORWARD -s $ip -j QUEUE done iptables -D FORWARD -d $ip -j QUEUE while [ $? -eq 0 ] do iptables -D FORWARD -d $ip -j QUEUE done вот детальная статистика (жирным - с этого хоста качаем файл размером 146295 b для замера трафа): -> 16.04.20 - 16.10.00 217.24.115.2 1 49795 7326 0.071232 195.133.189.3 0 341 179 0.000000 192.168.33.18 0 36 36 0.000000 81.176.66.19 1 96 128 0.000137 81.90.0.138 0 14713 2803 0.000000 [b]87.242.75.148 1 191350 5253 0.273728[/b] -> 16.10.00 - 16.20.00 10.3.1.3 0 540 600 0.000000 81.90.0.138 0 22456 8667 0.000000 -> 16.20.00 - 16.27.01 195.133.189.3 0 75 59 0.000000 81.90.0.138 0 17005 6081 0.000000 [b]87.242.75.148 1 181928 4867 0.260250[/b] -> 16.30.00 - 16.40.00 81.90.0.138 0 49167 12800 0.000000 -> 16.40.00 - 16.50.00 195.133.189.3 0 75 59 0.000000 192.168.33.18 0 36 36 0.000000 81.90.0.138 0 43499 15241 0.000000 [b]87.242.75.148 1 174969 5790 0.250295[/b] и, для того, чтобы телепаты не напрягались: # rc.firewall script # #!/bin/sh IPTABLES="/usr/sbin/iptables" INTIP="192.168.250.1" INTIF="eth0" EXTIP="192.168.248.254" EXTIF="eth1" LOIF="lo" LOIP="127.0.0.1" $IPTABLES -P INPUT ACCEPT $IPTABLES -P OUTPUT ACCEPT $IPTABLES -P FORWARD DROP $IPTABLES -F # icmp $IPTABLES -A INPUT -p icmp -j ACCEPT # loopback $IPTABLES -A INPUT -i $LOIF -j ACCEPT echo "1" > /proc/sys/net/ipv4/ip_forward $IPTABLES -A FORWARD -s 195.133.189.29 -j ACCEPT $IPTABLES -A FORWARD -d 195.133.189.29 -j ACCEPT rc.routing #!/bin/sh local_if="eth0" local_ip="192.168.250.1" inet_if="eth1" inet_ip="192.168.248.254" inet_gw="192.168.248.1" ip route add to default dev $inet_if src $inet_ip via $inet_gw уже конечно не с таким бешеным превышением считает, но всё же % большой...
_J_ Posted December 30, 2006 Posted December 30, 2006 Надо попробовать на более объемных файлах. Ибо помимо самого файла траф ещё и служебный идет. Например если качать файлик в 5 кб, то в реале прокачивается в раза 3-4 больше. т.к. необходимо установить соединение, передать параметры и т.д. и т.п. 1 30.12.2006 14:17:05 Download state changed to Downloading 2 30.12.2006 14:17:05 Start new section [1] 3 30.12.2006 14:17:05 Start connection to download.microsoft.com:80 [1] 4 30.12.2006 14:17:06 Connecting to download.microsoft.com:80 [1] 5 30.12.2006 14:17:06 Connected [1] 6 30.12.2006 14:17:06 GET /download/C/A/B/CAB13EF7-5652-4CC9-8ECB-64F857E5D065/wmp11-windowsxp-x86-ru-ru.exe HTTP/1.0 User-Agent: Download Master Accept: */* Referer: http://download.microsoft.com/download/C/A...F857E5D065/ Pragma: no-cache Cache-Control: no-cache Host: download.microsoft.com 7 30.12.2006 14:17:06 HTTP/1.0 200 OK Content-Length: 25839664 Content-Type: application/octet-stream Last-Modified: Fri, 03 Nov 2006 18:37:55 GMT Accept-Ranges: bytes ETag: "4930452d77ffc61:829" Server: Microsoft-IIS/6.0 X-Powered-By: ASP.NET Date: Sat, 30 Dec 2006 11:17:06 GMT X-Cache: MISS from my.proxy X-Cache: MISS from my.proxy2 Via: 1.0 my.proxy:80 (squid/2.6.STABLE5), 1.0 my.proxy:80 (squid/2.6.STABLE4) Connection: close Тут в логах закачки много чего видно. Видно как получаем параметры удаленного сервера, затем передаём свои. А если закачивать не в обин поток, а допустим в 10?
Колян Posted January 13, 2007 Posted January 13, 2007 У меня например, качал пятьсот мегабайт, показало 150 или около этого. Что делать? Старый считал нормально, тот которы 2.0.14 или как-то так... установил 2.401 так этот криво считает. Странно, но прошу помочь, потому что нахаляву траф не хочу раздавать... Зараннее, спасибо!
_J_ Posted January 13, 2007 Posted January 13, 2007 Не,телепатов всётаки напрячь нада Ось какая? Какой коллектор? NAT? Железо?
Колян Posted January 14, 2007 Posted January 14, 2007 Щас все напишу: Все настроечные файлы выложу, все выложу. Никкакого НАТа НЕТУ, просто на одной сетевухе должен висеть адсл модем, который так и не смог настроить, другая на сеть. ну пока что считаю трафик на сеть, что-то пытаюсь залить или скачать-скачиваю специально файлы фиксированного размера, например, если залил 700 мегабайт ровно, то пишет 279,75. Система-FreeBSD. Stargazer.conf ################################################################################ # Файл настроек сервера stargazer # ################################################################################ # Имя лог-файла куда пишутся события LogFile = /var/log/stargazer.log # Имя файла в котором определяются правила подсчета трафика 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 = yes # Названия направлений. Направления без названий не будут отображаться в # авторизаторе и конфигураторе. Названия состоящие из нескольких слов должны # быть взяты в кавычки <DirNames> DirName0 = KanivNET 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 ################################################################################ # Store module # Настройки плагина работающего с БД сервера # Второй параметр - это имя модуля без mod_ в начале и .so в конце # Т.е. полное имя модуля mod_store_files.so <StoreModule store_files> # Рабочая директория сервера, тут содержатся данные о тарифах, пользователях, # администраторах и т.д. WorkDir = /var/stargazer # Владелец, группа и права доступа на файлы статистики (stat) пользователя ConfOwner = root ConfGroup = wheel ConfMode = 600 # Владелец, группа и права доступа на файлы конфигурации (conf) пользователя StatOwner = root StatGroup = wheel StatMode = 640 # Владелец, группа и права доступа на лог-файлы (log) пользователя UserLogOwner = root UserLogGroup = wheel UserLogMode = 640 </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 = 5554 # Время между посылками запроса пользователю жив ли он # и обновлением данных статистики (секунды) # Значения: 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 = 5554 </Module> # Модуль захвата трафика "mod_cap_bpf.so" # Второй параметр - это имя модуля без mod_ в начале и .so в конце # Без параметров. Только имя модуля. <Module cap_bpf> # Интерфейс(ы) на котором нужно производить подсчет трафика iface = re0 iface = re1 </Module> # Настройки модуля пингующего пользователей "mod_ping.so" # Второй параметр - это имя модуля без mod_ в начале и .so в конце <Module ping> # Время, в секундах, между пингами одного и того же пользователя # Значения: 10...3600 PingDelay = 15 </Module> </Modules> ############################################################################### Это детальная стата юзера, жирным выделенно то, как я качал 700-мегабайтный файл: [b]-> 11.14.03 - 11.20.00 192.168.0.148[/b] 0 8084428 294820418 0.000000 -> 11.20.00 - 11.30.00 192.168.0.148 0 23828 4620 0.000000 -> 11.30.00 - 11.40.00 192.168.0.148 0 41533 22708 0.000000 -> 11.40.00 - 11.50.00 192.168.0.148 0 2019147 432545 0.000000 -> 11.50.00 - 12.00.00 192.168.0.148 0 1161002 302376 0.000000 Что еще? напишу, если че.
Max Posted January 14, 2007 Posted January 14, 2007 скорее всего это происходит из-за того что вы пользуетесь cap_bpf, а он в свою очередь не успевает обсчитывать пакеты.
Колян Posted January 14, 2007 Posted January 14, 2007 Наверное. Я не знаю. На оффсайте там только мануалы для 2.0 версии, там написано как собрать под диверт. А тут я уже ненаю Кто знает, напишите пожалуйста, буду благодарен.
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