XoRe
СitizensТип контенту
Профили
Форум
Календарь
Все, що було написано XoRe
-
выкладывай))
-
Пользовательская статистика для Stargazer-2
тема ответил в stg-34 пользователя XoRe в Питання по Stargazer
Картина Репина: ходит человек с протянутой рукой. И уже не просит, а предлагает деньги. Но все равно никому он не нужен =))) Товарищи админы, третье письмо вам шлю с просьбой сказать, куда деньги пересылать. -
Эммм.... эммм..... ну.... могу посоветовать такое: ----------------------- ipfw="/sbin/ipfw -q" in="ed0" out="ed1" net="10.10.11" ${ipfw} -f flush ${ipfw} resetlog # Система ${ipfw} add 1110 allow ip from any to any via lo0 ${ipfw} add 1120 allow ip from me to me ## Биллинг # Минимум разрешений для пользователей ${ipfw} add 2140 skipto 10000 icmp from ${net}.0/24 to me icmptype 0,8 # Динамические разрешения типа # ${ipfw} add 5xxx skipto 10000 ip from 10.10.11.xxx to any # Запрещения ${ipfw} add 9110 reject ip from ${net}.0/24 to any ## # Запрещения на левые ip-адреса, которых нет внутри системы ${ipfw} add 11110 reject ip from 127.0.0.0/8 to any ${ipfw} add 11120 reject ip from any to 127.0.0.0/8 ${ipfw} add 11130 reject ip from 172.16.0.0/12 to any ${ipfw} add 11140 reject ip from any to 172.16.0.0/12 ${ipfw} add 11150 reject ip from 0.0.0.0/8 to any ${ipfw} add 11160 reject ip from any to 0.0.0.0/8 ${ipfw} add 11170 reject ip from 169.254.0.0/16 to any ${ipfw} add 11180 reject ip from any to 169.254.0.0/16 ${ipfw} add 11190 reject ip from 192.0.2.0/24 to any ${ipfw} add 11200 reject ip from any to 192.0.2.0/24 ${ipfw} add 11210 reject ip from 224.0.0.0/4 to any ${ipfw} add 11220 reject ip from any to 224.0.0.0/4 ${ipfw} add 11230 reject ip from 240.0.0.0/4 to any ${ipfw} add 11240 reject ip from any to 240.0.0.0/4 # Запрещения на левые icmp ${ipfw} add 11310 reject icmp from any to any in icmptype 5,9,13,14,15,16,17 ${ipfw} add 11320 reject icmp from any to any frag # Включаем прозрачное проксирование (если есть, если нет - просто удалите правило) ${ipfw} add 12110 fwd 127.0.0.1,8080 tcp from ${net}.0/24 to not me 80 recv ${in} # Пропускаем пакеты через natd ${ipfw} add 13110 divert 8668 ip from not me to any via ${out} # Выпускаем оставшиеся обработанные пакеты ${ipfw} add 14110 allow ip from not me to not me # Разрешение хождения пакетов от меня ${ipfw} add 15110 allow ip from me to any # Разрешение хождения пакетов на исходящие и временные порты ${ipfw} add 21410 allow tcp from any to me 49152-65535 ${ipfw} add 21420 allow udp from any to me 49152-65535 # icmp ${ipfw} add 34210 allow icmp from any to any # Запрещается все ${ipfw} add 52110 reject log ip from any to any ----------------------- Пояснения: 1. Этот конфиг я сделал из своего, убрав некоторые специфичные моменты. 2. Работает он на фре 5.1, где используется ipfw2. 4.9, насколько я помню, использует ipfw1. Посмотри, пойдут ли у тебя некоторые лексемы. 3. Я использую запрещения только в одну сторону. Я думаю, этого достаточно. 4. Кроме того я использую в natd схему from not me to any потому, что она более точная, чем from any to any. 5. Порты 49152-65535 во фре - это непривеллигированные порты, которые используют некоторые программы, например bind и тот же stargazer + с них устанавливается соединения. Посмотри, в каком диапазоне эти порты у тебя командами: sysctl net.inet.ip.portrange.first sysctl net.inet.ip.portrange.last sysctl net.inet.ip.portrange.hifirst sysctl net.inet.ip.portrange.hilast или просто sysctl net.inet.ip.portrange Если числа другие - измени =)) 6. Я не знаю, какие сервисы тебе нужно открывать, поэтому и не описал их =)) 7. Это урезанный конфиг. Поэтому он может показаться запутанным и непоследовательным =)) 8. В области "Биллинг", думаю все ясно? =)0 9. В файрвол желательно включить вот такие правила. Некоторые нужны, некоторые не особо:: options IPFIREWALL options IPFIREWALL_FORWARD options IPFIREWALL_DEFAULT_TO_ACCEPT options IPFIREWALL_VERBOSE options IPFIREWALL_VERBOSE_LIMIT=1000 10. Запрещения на левые айпишники и на сообщения icmp разных типов я скатал с какого то конфига. Поэтому я не знаю точно, правильны ли они. Если кто то может сказать что нибудь путное на эту тему, я буду очень благодарен =))
-
nat нужен? ограничения на порты/адреса ?
-
На 256к фильм качается за 10 часов. Сам проверял! =)) А если серьёзно, то я в городе Киеве не живу, но могу логически порассуждать. Так вот, давайте прикинем, что будет при таком бешеном увеличении количества выделенщиков по адсл на скоростях 128-256 в пределах города. А будет соответственно все большее засирание канала в мир. Если каждому пользователю "жестко" выделять 256 кб, то по законам математики даже 100 мегабитный линк на мир разделится между 400 пользователями =)) Это, конечно, утрирование, но по большому счету картина может стать именно такой - много выделенщиков потребляют много траффика. Т.е. если провайдер прощелкает клювом в какой то момент, то он может получить засранный канал и много много клиентов требующих свои законные 256. Особенно веселой может стать ситуация в конце месяца. Когда много много пользователей захотят "потратить" свои оставшиеся бесплатные мегабайты =))) Но это ещё одна сторона. Другая сторона - это то, что люди - существа ненасытные. Порадовавшись новой выделенке и погулявши по сайтам, они рано или поздно придут к мысли, что сеть на адсл модемах - это тоже сеть, по которой можно качать большие объемы информации. Например фильмы. Ну или какие нибудь ролики. Или даже просто в игры играть. Т.е. сеть на адсл превратится в одну большую локальную сеть с пропускной способностью 128-256 кб. Если же провайдер (добрая душа ) сделает ещё и фтп сервер с аудио и видео, то это ещё больше увеличит генерацию трафика в сети адсл выделенщиков. Поэтому подключение на скорости 256 килобит без сети может стать лучше линка на 100 мегабит в сети только в одном случае - при безлимитном внешнем траффике. Я думаю, что наилучший вариант - это сеть + выход в инет. А как этот выход в инет будет - это уже зависит от того, где дешевле. P.S. Я и правда качал фильм 10 часов по каналу в 256 из-за того, что качал с бесплатного сервера. Сервер находился в пределах часа езды. Теперь я думаю, что проще купить пива и поехать к людям, чей сервер и перекачать на жесткий 100 фильмов =)) Получится в несколько раз быстрее. А главное - приятнее =)))
-
По другому никак. 3 секунды выбрано как минимальное необходимое время. Потом. Найден ещё один интересный глюк. С утра смотрю - программа(инет аксес) красная, захожу терминалом - нет программы =)) Смотрю логи: 2004-010-11 06:00:04 -- User xxx disconnected. 2004-010-11 06:00:08 -- User 'xxx's' stat not read. Parameter D0. 2004-010-11 06:00:08 -- User xxx's data not read. 2004-010-11 07:00:07 -- User 'xxx's' stat not read. Parameter D0. 2004-010-11 07:00:07 -- User xxx's data not read. 2004-010-11 07:53:38 -- User 'xxx's' stat not read. Parameter D0. 2004-010-11 07:53:38 -- User xxx's data not read. Делаю ls -laF /var/stargazer/users/xxx/stat -rw-r----- 1 root wheel 0 Oct 11 06:00 /var/stargazer/users/xxx/stat Т.е. файл stat у пользователя xxx стал весить 0 кб. У остальных пользователей все нормально. У Пользователя xxx включен AlwaysOnline и кредит на 100000. Я не смотрел исходники, не знаю, открывается ли файл на запись при дисконнекте. Но думаю, что открывается =))
-
Тут уже сказали, что нетспикерфон использует бродкасты =))
-
У себя вижу такую картину: sockstat -4l | grep stargazer root stargazer 70521 6 udp4 *:5555 *:* root stargazer 70521 12 udp4 *:55317 *:* root stargazer 70521 13 tcp4 *:5556 *:* Я сейчас вплотную подошел к серьёзной настройке своего файрвола. И меня интересует, какие порты открывает stargazer. 5555 удп и 5556 тцп я знаю что делают. А вот что за порт udp 55317? И нужно ли мне предусмотреть доступ к ещё каким то портам?
-
Пользовательская статистика для Stargazer-2
тема ответил в stg-34 пользователя XoRe в Питання по Stargazer
Люди, блин, прошу выслать реквизиты для оплаты. Или здесь их выставить =)) Который день жду от вас письма с этими реквизитами. -
Пока проблема решается выполнением: killall stargazer # Чтоб всех юзеров отдисконнектил sleep 3 # Чтоб успел отдисконнектить killall -9 stargazer # Чтоб сам сдох stargazer # Чтоб запустился =)) каждый час по крону. В общем, я думаю, что глюк прячется в данной части кода users.cpp: ------------------------------------------ 433 if (res != -1) 434 { 435 //DES_setkey(context, key); 436 Blowfish_Init(&ctx, key, strlen((char*)key)); 437 userIP = *((unsigned long*)mbuf.mtext); 438 439 for (int i = 0; i <= 3; i++) 440 { 441 Blowfish_Decrypt(&ctx, (uInt32 *)(mbuf.mtext + 4 + i*8), (uInt32 *)(mbuf.mtext + 4 + i*8 + 4)); 442 } 443 444 memcpy(loginS, mbuf.mtext + 4, LOGIN_LEN); 445 printfd(__FILE__, "logins=%s\n", loginS); ------------------------------------------
-
Насчет кабеля. Можно кинуть обычную полевку на 700 или даже на 1000м. Поставить пару Zyxel 841 - Zyxel 841c. И будет тебе коннект до 12 мегабит =)) Стоить такая штука будет 200-300 баксов. Или можно чего попроще и подешевле. Есть такие модемы, как AVIV. Дают 2 мегабита на 2 км. По той же полевке. В общем можно много момедов найти, которые по кабелю, похожему на обычный телефонный, дадут от мегабита на километр. А по радио.... http://www.cqham.ru/cantenna.htm Статья, как сделать радио-линк с помощью обычной банки из под ананасов =))
-
Согласен =)) А ещё можно звонить на настоящие номера. За деньги естественно =)) Программа, в принципе, как аська, только голосовая. Такая вот голосовая аська. )) Рекомендую. P.S. Если у вас программа будет глючить - напишите письмо в support. На мой вопрос, почему она глючит в МЕ, они ответили(!)(:-)), что хуз, но дали линк на версию, которая лишена этого глюка. Так что feed back приветствуется))
-
Во первых. Авторизация ПО ПАРОЛЮ у меня уже давно стоит. Во вторых. Даже с ней не повредит привязка использующихся IP к МАС адресам. А неиспользующиеся IP адреса забить маками 00:00:00:00:00:00. В третьих. Железно ситуацию спасут умные свичи. Ну в четвертых. Если везде 10, 100 и более мегабит, можно попробовать ввести топологию типа "звезда". Когда создается при наличии физической локальной сети, создается абстрактно отдельная сеть на каждого выделенщика, в которой битовой маской количество IP адресов ограничивается четыремя. Это как бы 0 адрес, потом адрес сервера, адрес клиента и широковещательный адрес. Понавешать алиасов на интерфейс на сервере. И можно будет файрволом разруливать разрешения, какому пользователю чего в сети можно видеть. Потому как теперь весь траффик, в том числе и локальный, будет гоняться через сервер =))
-
P.S. Ты совершенно прав. Здесь собрались блатные сетевики, которые считают подобные вопросы глупыми. Если тебе интересно зачем люди объединяются в сети - зайди на яндекс и напиши "зачем локальные домашние сети" или зайди на nag.ru там тоже много по этому вопросу написано. Мы здесь обсуждаем не преимущества локальных сетей, мы обсуждаем здесь вопросы обеспечения функционирования локальных сетей. Т.е. грубо говоря ваш вопрос неуместен =)) Кроме того, тема этой темы гласит "Помогите чайнику разобраться" если хочешь, чтобы тебе помогли, не наезжай на всех с месаджами типа "Если западло помочь так и скажи а не выделавайся".
-
Можно сказать что нить типа RTFM TCP/IP и это будет правильно =)) А так могу сказать свое мнение. Если оно не понравится, то см. выше =)) Так вот.... если в двух словах, то делить канал на Х частей не нужно. Он сам на них поделится. Правда не факт, что равномерно. А если не в двух словах, то вот. Канал в 1 мегабит более или менее делится на количество машин в сети только в том случае, если все машины вдруг кинутся скачивать какие то файлы с интернета, не ограничивая себя в скорости скачивания. Если на машине-шлюзе ничего не настроено для распределения траффика, то это деление происходит средствами протокола tcp/ip. Причем этими средствами канал распределяется более-менее равномерно. НО такая ситуация, когда все машины качают что то с инета, бывает редко. Я могу посоветовать в таких случаях качать не все вместе и сразу, а по очереди. Т.е. просто договариваться между собой, в какой очереди качать =)) Обычно одновременно в инете работает меньше половины машин в сети. И канал они нагружают на эммм... ну скажем 30-50 Кб в секунду. Если кто то не начнет качать что нибудь большое каким нибудь качальщиком. То тогда он подомнет под себя оставшуюся скорость канала и ещё остальным осложнит жизнь, т.е. работу в инете =)) Теперь понятно?
-
Подтверждаю утверждение бага =)) От себя могу добавить, что на фре 5.1 у меня этот баг повторяется с периодичностью один-два раза в сутки. Причем в /var/log/stg.out (при компиляции с опцией NODAEMON и перенаправлением вывода программы в этот файл ) пишется следующее: users.cpp >> logins=УiLЇС,ЋhU[°ПVYЇ®µ+QИёevl(Ь>Ff users.cpp >> logins=УiLЇС,ЋhU[°ПVYЇ®µ+QИёevl(Ь>Ff users.cpp >> logins=УiLЇС,ЋhU[°ПVYЇ®µ+QИёevl(Ь>Ff users.cpp >> logins=УiLЇС,ЋhU[°ПVYЇ®µ+QИёevl(Ь>Ff И ни юзером не зайдешь ни админом. Баг, я думаю, достаточно серьёзный, так как тут даже дело не в неправильном насчете траффика, например, а в том что программа просто перестает работать с пользователями и админами. И, видимо, он есть и в линухе и в фре. Но в фре, похоже, дает о себе знать чаще. Просьба автору разобраться, в чем баг, и выпустить билд, избавленный от этого бага.
-
Диалог "данные изменены успешно" означает, что данные изменены успешно =)) Они ведь могут и неуспешно изменены быть =)) Тогда появится окно "connect failed" или что то типа этого. Кстати можно на ОК нажать, а можно и на пробел ткнуть =))
-
А вот это очень разумное предлождение. + Ещё бы хотелось в конфигураторе, когда что то изменяешь и сервер(а вместе с ним и конфигуратор) тупит по 10-20 секунд, чтоб конфигуратор не зависал, а показовалось бы маленькое окошко "подождите, идет загрузка" =))
-
Пользовательская статистика для Stargazer-2
тема ответил в stg-34 пользователя XoRe в Питання по Stargazer
Беру =)) Все беру =)) И те наработки админской статистики, которые уже есть, тоже беру =)) Я много чего беру короче. Подробности посланы на мыло. И не раааз... =)) Просьба автора откликнуться наконец. Не "на конец", а наконец! =)) -
Возможно, потому что у моего друга все показывается нормально. strip - Discard symbols from object files. Видимо, не только отладочную =)) Кстати что то он пропал в последнее время =))
-
Как я понял, название интерфейса всегда tun0 Кроме того, почему бы не засунуть запуск natd(и прописывание файрвольного правила) в скрипт, который запускается при поднятии интерфейса?
-
Уже примерно сутки работает без глюков.... Так что вывод такой: strip старгейзеру противопоказан =)) Теперь о глюках: - У некоторых пользователей иногда (редко) не коннектится клиентская часть. Файрволла у них нет. - InetAccess в winMe выглядит так: Не программирую на билдере, поэтому прошу автора посмотреть, что можно сделать, чтоб и в 9x системах показывалось нормально. Кстати недавно случайно увидел, как это выглядит в ХР. Иначе так бы и думал, что это нормально =)) - В Конфигураторе в окне "Редактирование данных пользователя" есть надпись "Предорлаченный траффик" =))
-
ip указывать необязательно. Обязательно указывать только интерфейс.
-
О! Чуть не забыл сказать. Во первых, чтоб он выполнялся, разрешите ему выполняться (chmod +x скрипт) Во вторых, если он не захочет выполняться, возможно у вас нет программы перла по адресу /usr/local/bin/perl Поэтому посмотрите, где он у вас (which perl). Либо можете написать #!/usr/bin/perl В 99 из 80 возможных % должно заработать =) Если и тут не заработает, то тут я не смогу ничего сказать кроме rtfm perl + rtfm *nix =))
-
Бери выше - больше миллиона =)) Наверное отдать на вход nmap'у.... )) Кстати, вот сам скрипт: #!/usr/local/bin/perl while ($line = <STDIN>) { # Убираем символ конца строки chomp $line; # Разделяем сеть на цЫфырки и длинну маски подсети или берем следующую запись ($a, $b, $c, $d, $mask) = $line =~ /(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})[\/\\\:]+(\d{1,2})/ or next; # Создаем число, которое и является на самом деле ip-адресом в десятичной записи $ip = ($a << 24) + ($b << 16) + ($c << 8) + $d; # Получаем начальное число, которое послужит основой для создания других адресов $begin = ($ip >> 32 - $mask) << 32 - $mask; # Количество компов в сети при данной маске $offset = 2 ** (32 - $mask) - 1; foreach $n (1..$offset) { # Получаем ip-адрес в десятичной записи $num = $begin + $n; # Получаем первое число в десятичной записи $a = $num >> 24; # Получаем первую цЫфру, обозначающую первые 8 байт $a1 = $a << 24; # Получаем второе число в десятичной записи $b = ($num - $a1) >> 16; # Получаем вторую цЫфру, обозначающую вторые 8 байт $b1 = $b << 16; # Получаем третье число в десятичной записи $c = ($num - $a1 - $b1) >> 8; # Получаем третью цЫфру, обозначающую третьи 8 байт $c1 = $c << 8; # Получаем четвертую цЫфру, обозначающую последние 8 байт $d = $num - $a1 - $b1 - $c1; # Пропускаем итерацию, если последняя цЫфра равна 0 или 255 next if($d == 0 or $d == 255); # Вывод на выход aka в stdout print STDOUT "$a.$b.$c.$d\n"; } # Для контроля за процентом выполненности задания, сообщения посылаются не в stdout print STDERR "$line - done\n"; } Скрипт сделан в консольном варианте. Поэтому запускать можно так: ./скрипт < файл_с_сетями > файл_с_ип_адресами или так: cat | ./скрипт > файл_с_ип_адресами и вставлять/писать(:-) адреса (ну и Ctrl+D в конце нажать Это так... в качестве ликбеза на всякий случай =)) Доделать этот скрипт до работы с cgi, я думаю, люди смогут, кому понадобится.
