virstud
МаглыТип контенту
Профили
Форум
Календарь
Все, що було написано virstud
-
блин.....вам что ....всем лень по форуму поиск сделать... диверт уже настраивался..... сделайте поиск по моему нику....
-
С дивертом в свое время ...я тут уже разбирался.... у меня получилось заставить работать ..старгайзер через диверт... причина: ошибка в исходниках.....divert.cpp или чтото типа этого.... там максимальный размер пакета был....50 байт .... вобщем.........копайте форум......диверт работает..... можно поиск по моему нику....
-
ОШИБКА В STARGAZER при подсчете через DIVERT..фикс
тема ответил в virstud пользователя virstud в Розробка Stargazer
разработчик ....чет совсем в подполье ушел....=)))) -
ОШИБКА В STARGAZER при подсчете через DIVERT..фикс
тема ответил в virstud пользователя virstud в Розробка Stargazer
пака скажу только..... что там еще стоит ограничение на минимальный пакет в 50 байт........т.е. пакеты меньше 50 байт тоже отбрасываются......... может я не силен в сетевых глубинах.......но по ирису можно судить....что такие пакеты бывают...........и 46 видел.....и. др...... это не сильно сказывается на общем состоянии.....но вот в куске кода альтернативной проги которая тоже использует диверт я таких ограничений не заметил....: if( FD_ISSET(divert, &workMask) ) { inBytes = recvfrom ( divert, packetBuff,sizeof(packetBuff),0, (struct sockaddr *)&packetAddr ,&addrSize); if (inBytes == -1) { if(errno != EINTR ) { syslog(LOG_ERR,"Can't RECVFROM divert socket:%s",S_ERROR); exit(1); } } ip = (struct ip*)packetBuff; reassert(ip->ip_src,inBytes); total_bytes+=inBytes; total_pkts++; outBytes = sendto (divert,packetBuff,inBytes, 0, (struct sockaddr *)&packetAddr, sizeof(packetAddr) ); if (outBytes == -1) { syslog(LOG_ERR,"Can't SENDTO divert socket:%s",S_ERROR); exit(1); } ....вобщем.......я недопонимаю логику этого ограничения.... -
ОШИБКА В STARGAZER при подсчете через DIVERT..фикс
тема ответил в virstud пользователя virstud в Розробка Stargazer
а причем тут tee.......с ним хуже.......... divert самое оно..... прекрасно с ним считает... а про tee я так скажу.... проббовал.... на слабой машинке пропускает пакеты...... да и на мощной тачке ..если проц нагрузишь....то наверника тож начнет терять пакеты.......т.к. старгайзер не будет контролировать скорость прохождения пакетов... -
при подсчете......через divert.......все почти подвисало напроч....... ВОТ НЕЛЕПОСТЬ ТО......... ВОБЩЕМ.....В divertcap.cpp(в папке freebsd исходников) ВСЕ БЫСТРО ПРАВИМ : - #define BUFF_LEN 1024 НА + #define BUFF_LEN 30000 .....А ТО ПОЛУЧАЕТСЯ....ЧТО МАКСИМАЛЬНЫЙ РАЗМЕР ПАКЕТА 1024 БАЙТА... ВО ТРАБЛ ТО......АФИГЕТ........ТОРОПИЛСЯ НАВЕРНОЕ АВТОР......РЕЛИЗ ВЫПУСТИТЬ.....=))) ТАМ КСТАТИ....ЕЩЕ МНОГО НЕДОЧЕТОВ........НО ЭТ ПРОСТО ВЫНОС....=))
-
stargazer не отдает пакеты после divert-а на него.
тема ответил в virstud пользователя virstud в Питання по Stargazer
Я НАШЕЛ!!!!!!!ВОТ НЕЛЕПОСТЬ ТО......... ВОБЩЕМ.....В divertcap.cpp(в папке freebsd исходников) ВСЕ БЫСТРО ПРАВИМ : - #define BUFF_LEN 1024 НА + #define BUFF_LEN 30000 .....А ТО ПОЛУЧАЕТСЯ....ЧТО МАКСИМАЛЬНЫЙ РАЗМЕР ПАКЕТА 1024 БАЙТА... ВО ТРАБЛ ТО......АФИГЕТ........ТОРОПИЛСЯ НАВЕРНОЕ АВТОР......РЕЛИЗ ВЫПУСТИТЬ.....=))) ТАМ КСТАТИ....ЕЩЕ МНОГО НЕДОЧЕТОВ........НО ЭТ ПРОСТО ВЫНОС....=)) -
stargazer не отдает пакеты после divert-а на него.
тема ответил в virstud пользователя virstud в Питання по Stargazer
новые иследования....так сказать..... вобщем.....программа работает....вопрос только...как........ вобщем..... железо.....466 целерон......256 оперативы......... все как всегда.... задача.....посчитать кол-во пакетов(и их общий размер) на входе ipfw .....еще до divert-а...............и ..............после divert-а............ вобщем вот что получилось : ipfw add 10 count tcp from 192.168.1.10 to any via dc0 ipfw add 20 divert 15701 tcp from 192.168.1.10 to any via dc0 ipfw add 30 count tcp from 192.168.1.10 to any via dc0 ........ запускаю старгайзер........ и вот что мы видим.....: server# ipfw show 00010 665 61644 count tcp from 192.168.1.10 to any via dc0 00020 610 56084 divert 15701 tcp from 192.168.1.10 to any via dc0 00030 665 61644 count tcp from 192.168.1.10 to any via dc0 65535 4954080 3619631110 allow ip from any to any сначало ..все идет как надо.........колво пакетов до и после равно.....но потом... server# ipfw show 00010 5770 490354 count tcp from 192.168.1.10 to any via dc0 00020 5715 484794 divert 15701 tcp from 192.168.1.10 to any via dc0 00030 5709 413390 count tcp from 192.168.1.10 to any via dc0 65535 4968937 3631692524 allow ip from any to any после небольшой нагрузки с пиком...я думаю ..пару бегабайт/сек.....начинаются проблемы... 00010 5860 499366 count tcp from 192.168.1.10 to any via dc0 00020 5805 493806 divert 15701 tcp from 192.168.1.10 to any via dc0 00030 5797 422322 count tcp from 192.168.1.10 to any via dc0 65535 4969236 3631724588 allow ip from any to any и пакеты....и общий размер...поплыл................самое интересное .....что при этом .......старгайзер начинает отьедать процессор......эо видно ниже статистика: PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND 10720 root 108 -19 3076K 2216K RUN 10:14 98.10% 98.10% stargazer 311 bind 96 0 2504K 1656K select 1:42 0.00% 0.00% named 529 ircd 96 0 14376K 12972K select 0:57 0.00% 0.00% ircd 520 hybserv 96 0 1972K 1108K select 0:27 0.00% 0.00% hybserv 838 nobody 96 0 7548K 6356K select 0:17 0.00% 0.00% httpd 8981 virstud 96 0 6220K 2320K select 0:16 0.00% 0.00% sshd 564 root 96 0 3808K 1860K select 0:16 0.00% 0.00% nmbd 841 nobody 20 0 7656K 6440K lockf 0:15 0.00% 0.00% httpd 839 nobody 20 0 7324K 6116K lockf 0:15 0.00% 0.00% httpd 836 nobody 20 0 7804K 6520K lockf 0:14 0.00% 0.00% httpd 840 nobody 20 0 7392K 6316K lockf 0:11 0.00% 0.00% httpd 539 root 96 0 1972K 1128K select 0:10 0.00% 0.00% hybserv 561 mysql 96 0 27012K 5464K select 0:10 0.00% 0.00% mysqld 835 root 96 0 4864K 3228K select 0:10 0.00% 0.00% httpd 837 nobody 20 0 7320K 6036K lockf 0:09 0.00% 0.00% httpd 842 nobody 20 0 7180K 5964K lockf 0:09 0.00% 0.00% httpd 474 root 96 0 3528K 1924K select 0:07 0.00% 0.00% sendmail а теперь вопрос........как ...нам ...эмулировать очередь...в divert-е......также как это делается....в pipe(трубе)............... а то получается........divert тупо шлет в сокет пакеты......а старгайзер не успевает их выгреб%#ь........... надо глянуть....еще на poll ......может он глючит.... блин......это тогда ваще не надежная штука получается..... как заставить divert ,..не слать пакет....пока его не выгребет старгайзер -
stargazer не отдает пакеты после divert-а на него.
тема ответил в virstud пользователя virstud в Питання по Stargazer
кароч........после эксперементов выяснил....что программа нормально читает пакеты из сокета.... добавил записть в лог вофера(buf) .....как только срабатывала функция чтения из сокета..... делал перенаправление......: старгайзер врубал....с dc0 15701 ipfw add 10 divert 15701 tcp from 192.168.1.10 to 192.168.1.1 15800 via dc0 в ирисе делал пакет на 15800... посылал 10 раз... смотрел лог.. и там 10 раз отражалось страбатывание функции чтения....все четко.. но вот еще не проверял запись обратно в сокет......... интересно...как сравнить пакеты на входе и выходе... пахоже он портит пакеты........или режет их по размеры......пока не могу понять надо почитать про divert функции...... -
stargazer не отдает пакеты после divert-а на него.
тема ответил в virstud пользователя virstud в Питання по Stargazer
я ставил...... все срабатывает.... там еще poll функция обеспечивает задержку..... она ждет момент когда можно читать сокет..... если ее закоментить....то старгайзер начинает отьедать 100 % процессора....и начинает гонять по функциям чтения -записи с бешеной скоростью......но при этом вобще неччего не работает..... кстати......в settings.h есть : #define MAX_DEV 10 максимальное кол-во интерфейсов...... и при инициализации .......в некоторых кусках кода выделается место под 10 интерфейсов........даже если в конфиге 1 интерфейс.......не экономно..... вооо...надо замерить ...сколько пакетов примет divert в ipfw через Log и сколько раз стработает recvfrom........ щас этим займусь...... -
stargazer не отдает пакеты после divert-а на него.
тема ответил в virstud пользователя virstud в Питання по Stargazer
нет...это всеголишь......позволяет указывать несколько интерфейсов учета трафика тобишь cddiv[n].sock -n = текущему проверяемуму сокету...... если в настройках было: iface iface=dc0 15750 ---- то n всегда =0 если: iface=dc0 15750 , ed0 15751 --- то n = 0 и 1. -
stargazer не отдает пакеты после divert-а на него.
тема ответил в virstud пользователя virstud в Питання по Stargazer
вобщем......чувствую....никто нечего сказать не хочет.... я поставил свои эксперементы... traffcounter.cpp - занимается подсчетом трафика...... там есть функция void * TRAFFCOUNTER::Run(void * obj) в ней цикл while ..занимается обработкой трафика.. вот запрос данных с divert сокета......: res = CapRead(buffer, BUFFER_LEN, &iface); аля DivertCapRead который в freebsd/divertcap.h лезем в divertcap.cpp ...смотрим DivertCapRead .. там куча всего....воснавном ифы настроек и pull функция определения текущего состояния сокета..... причем там 2-е DivertCapRead.........2 разные функции.......с одинаквыми именами но разным кол-ом аргументов...ЭТ НАВЕРНОЕ ЧТОБ ЗАПУТАТЬ....=) одны вызывает другую... вобщем все каректно... и вот самое главное......2 функции ...чтения сокета и запись обратно в него.. bytes = recvfrom (cddiv[n].sock, buf, BUFF_LEN, 0, (struct sockaddr*) &divertaddr, &divertaddrSize); и sendto(cddiv[n].sock, buf, bytes, 0, (struct sockaddr*)&divertaddr, divertaddrSize); .... вродебы..все каректно......траф снимается и возвращается.........но почемуто очень медленно все это работает......... закоментил все.......все кроме этих 2 функций.......получился while с прямым чтением и записью.........а он зараза всеравно медленно работает......максимум что можно зделать....так это в терминалке команду дать... ума не прилажу.....что может все это тормазить...... настройки конфига по мануалу.(интерфейс указываю dc0 15750)... в ipfw правило перенаправления выглядит так: ipfw add 10 divert 15750 tcp from any to 192.168.1.10 via dc0 dc0 - внутр интерфейс(192.168.1.1) 192.168.1.10 ---мой ip помогите разобраться.......что гадит.... -
stargazer не отдает пакеты после divert-а на него.
тема ответил в virstud пользователя virstud в Питання по Stargazer
ну хоть ктонить пробовал?????? или это просто так там сделано..... -
stargazer не отдает пакеты после divert-а на него.
тема ответил в virstud пользователя virstud в Питання по Stargazer
т.е. он ....отдает пакеты....но както странно.....вобще никакой нагрузки не держит.....даж терминалка подвисает в некоторые моменты............ -
вобщем ......divert в Ipfw отрабатывает нормально.......пакеты через сокет летят на старгайзер......обрабатываются.......а что потом????? по примеру на сайте ......они должны попасть в NATD ... но как они туда попадут....если их startgazer не возвращает......... МОЖЕТ КТОНИТЬ РАЗЬЯСНИТ...... ВООБЩЕ...КТОНИБУДЬ ДЕЛАЛ ЧЕРЕЗ DIVERT ???? делал через tee правило перенаправление пакетор...... старгайзер считает......но при большой нагрузке ....начинает врать...... ПОМОЖИТЕ!!!!!!!
-
вобщем..........после мучений с линковкий.......возникли новые проблемы.... после настройки конфигов и правил.....создания User- а и тарифов..... старгайзер начал считать трафик..... но считает он не правельно..... качаешь 700 метров а в статистике отображается где то 100-150 метров.... причем......дело тут не в правилах.......а как я понял в какихто кешах сетевых сокетов......мол они не успевают обрабатываться.........вобщем #BPF capture считает не правельно.........как это исправить на фре....я так и не понял..... процессор при подсчете .......грузится %15 гдето........чему там не успевать.....непойму... 1.МОЖЕТ КТО ЗНАЕТ КАК НАСТРОИТЬ BPF В FREEBSD ....ЧТОБЫ ОН ТРАФИК НЕ ТЕРЯЛ?????? вобщем откомпилил с divert -ом...... в ядре все опции включены... в конфиге stargazer.conf настроил порт : # for FreeBSD only # Имя интерфейсов на которых нужно вести подсчет трафика iface=dc0 15701 .. врубил старайзер...... потом дал единственное правило в ipfw : ipfw add divert 15701 ip from 192.168.1.7 to any via dc0 (...dc0 это внутр. интерфейс....) и теперь машина с Ip 192.168.1.7 ...вобще не видит этот сервак..... как я понял......пакеты заворачиваются.....но дальше чтото не так..... 2....ГДЕ ОШИБКА......ПОЧЕМУ НЕ ПРОХОДЯТ ПАКЕТЫ ??? 3.ПАКЕТЫ ДОЛЖНЫ ВОЗВРАЩАТСЯ В IPFW ПОСЛЕ ТОГО КАК ИХ ОБРАБОТАЕТ СТАРГАЙЗЕР ИЛИ НЕТ? 4. ЕСЛИ У КОГО ПОЛУЧАЕТСЯ СЧИТАТЬ ЧЕРЕЗ DIVERT ......ВЫЛОЖИТЕ ПРАВИЛА iPFW, КОНФИГ СТАРГАЙЗЕРА И ПРАВИЛА СТАРГАЙЗЕРА..... БУДУ ОЧЕНЬ ПРИЗНАТЕЛЕН.....ЕСЛИ ПОМОЖЕТЕ.......
-
ошибка компиляции на FreeBSD 5.2.1
тема ответил в virstud пользователя virstud в Питання по Stargazer
тя че.....прет критиковать народ........?????ты от этого кайф свой ловишь чтоль??? -
при линковке на FreeBSD 5.2.1 выдавал.....: server# make bsd5 cat inst_freebsd > .install chmod +x .install make -f make.bsd5 g++ -Wall -gstabs+ -o stargazer main.o tariff.o conffiles.o common.o settings.o user.o users.o recivecl.o -pthread /usr/lib/libc_r.so admin.o admins.o rsconf.o list.o configproto.o bsp.o traffcounter.o freebsd/cap.o /usr/lib/libexpat.so parser.o parser_admin.o parser_tariff.o blowfish.o hostallow.o antiflood.o freebsd/divertcap.o ping.o main.o: In function `ForkAndStartRecvCl(RECIVECL*)': /usr/ports/distfiles/stargazer-2.014.7.6/main.cpp:224: undefined reference to `operator new(unsigned)' /usr/ports/distfiles/stargazer-2.014.7.6/main.cpp:224: undefined reference to `operator delete(void*)' main.o: In function `main': /usr/ports/distfiles/stargazer-2.014.7.6/main.cpp:266: undefined reference to `operator new(unsigned)' /usr/ports/distfiles/stargazer-2.014.7.6/main.cpp:266: undefined reference to `operator delete(void*)' /usr/ports/distfiles/stargazer-2.014.7.6/main.cpp:271: undefined reference to `operator new(unsigned)' /usr/ports/distfiles/stargazer-2.014.7.6/main.cpp:271: undefined reference to `operator delete(void*)' /usr/ports/distfiles/stargazer-2.014.7.6/main.cpp:310: undefined reference to `operator new(unsigned)' /usr/ports/distfiles/stargazer-2.014.7.6/main.cpp:310: undefined reference to `operator delete(void*)' /usr/ports/distfiles/stargazer-2.014.7.6/main.cpp:313: undefined reference to `operator new(unsigned)' ...и т.д.... т.е не хватало какихто определений в либах....при линковке на gcc 3.3.3 решить пробему малой кровью не смог...... чего только не пробова установил из /usr/ports/lang/gcc295 ...gcc версии 2.9.... добавил переменную среды окружения...командой...: setenv CC /usr/local/bin/gcc295 (для шела csh) распоковал stargazer(tar xvfz stargazer-2.014.7.6.src.tgz) зашел в папку открыл в редакторе файл make.bsd5 закоментил строку CC=g++ сохранил файл.... дал команду make bsd5 и все слинковалось нормально потом make install ...и все установилось.... ВОТ ТАК... правда ......еще не запускал..........щас буду пробовать...... =)))
-
ошибка компиляции на FreeBSD 5.2.1
тема ответил в virstud пользователя virstud в Питання по Stargazer
я пытался развить мысль в этом направлении ...... но мой топик стерли.....вобщем.........приехали... а на freebsd 4.11 какая версия gcc ? -
ошибка компиляции на FreeBSD 5.2.1
тема ответил в virstud пользователя virstud в Питання по Stargazer
посмотрел бы я на тя.....когда....такие ошибки лезут......тупые и непонятные... -
ошибка компиляции на FreeBSD 5.2.1
тема ответил в virstud пользователя virstud в Питання по Stargazer
пробовал..добовлял в флаги.....не помогает.... даже gcc с -lstdc++ пробовал......тож не проходит............просто пи###ц какойто..а не старгайзер......и главное.....такой топик уже проскакивал......и никакой реакции........... лучшеб по 30$ продовали мож тогда все это начали разгреб%#ь бы........... -
ошибка компиляции на FreeBSD 5.2.1
тема ответил в virstud пользователя virstud в Питання по Stargazer
Expat установлен.... На тачке еще стоят apache,mysql,сервер irchybrid,BIND 8 и еще куча разных сервисов... они все компилятся нормально...... Даж UTM 4 стоял........... И все работает... Так что же я не так делаю.....?или автор не проверял старгайзер на 5-х бздях? -
Скачал последний релиз........вобщем....все по инструкции.... при сборке ругается: server# make bsd5 cat inst_freebsd > .install chmod +x .install make -f make.bsd5 g++ -Wall -gstabs+ -o stargazer main.o tariff.o conffiles.o common.o settings.o user.o users.o recivecl.o -pthread /usr/lib/libc_r.so admin.o admins.o rsconf.o list.o configproto.o bsp.o traffcounter.o freebsd/cap.o /usr/lib/libexpat.so parser.o parser_admin.o parser_tariff.o blowfish.o hostallow.o antiflood.o freebsd/divertcap.o ping.o main.o: In function `ForkAndStartRecvCl(RECIVECL*)': /usr/ports/distfiles/stargazer-2.014.7.6/main.cpp:224: undefined reference to `operator new(unsigned)' /usr/ports/distfiles/stargazer-2.014.7.6/main.cpp:224: undefined reference to `operator delete(void*)' main.o: In function `main': /usr/ports/distfiles/stargazer-2.014.7.6/main.cpp:266: undefined reference to `operator new(unsigned)' /usr/ports/distfiles/stargazer-2.014.7.6/main.cpp:266: undefined reference to `operator delete(void*)' /usr/ports/distfiles/stargazer-2.014.7.6/main.cpp:271: undefined reference to `operator new(unsigned)' /usr/ports/distfiles/stargazer-2.014.7.6/main.cpp:271: undefined reference to `operator delete(void*)' /usr/ports/distfiles/stargazer-2.014.7.6/main.cpp:310: undefined reference to `operator new(unsigned)' /usr/ports/distfiles/stargazer-2.014.7.6/main.cpp:310: undefined reference to `operator delete(void*)' /usr/ports/distfiles/stargazer-2.014.7.6/main.cpp:313: undefined reference to `operator new(unsigned)' ...и т.д.... в чем дело..... вродеж g++ .... ПОМОГИТЕ PLIIIZZZZZZZ=(
