Перейти к содержимому

Kucher2

Сitizens
  • Публикации

    1 694
  • Зарегистрирован

  • Посещение

  • Дней в лидерах

    10

Все публикации пользователя Kucher2

  1. Kucher2

    Пора менять железку?

    Почитайте эту тему с самого начала, здесь пройден путь из той же точки, что и у Вас. Начните с того что показывают утилиты о состоянии загрузки системы и канала. И как Вы шейпите трафик PF в обе стороны? Лично я так и не смог заставить PF резать трафик нормально, поэтому сидел на связке ipfw + PF. Не лучший вариант, как оказалось, но по крайней мере ipfw с нарезкой справлялся "на ура". 2Мбита - развернуться негде, не завидую. Какие уж тут торренты на такое кол-во клиентов.
  2. Не id, а ip или логин. ID меняется самим СТГ периодически. Посмотрите в сторону скрипта OnConnect. Его примеров тут масса. По аналогии с ним попробуйте. if [ $trf = 'b2048' ] then ${fwcmd} table 18 add ${ip} ${fwcmd} add `expr $id '*' 10 + 11000` pipe 20400 all from table\(49\) to $ip ${fwcmd} add `expr $id '*' 10 + 11001` pipe 20410 all from $ip to table\(49\) echo "C `date +%Y.%m.%d-%H.%M.%S``arp $ip` $cash" >> /var/stargazer/users/$login/connect.log exit 1
  3. Лично у меня с этим жёстко: нет денег, нет Инета. Расчётный период с 1-го по 1-ое и никак иначе. Никаких "можно я потом заплачу" - хватит, наелся. Не пользуешься и не платишь - можешь не беспокоиться, система сама тебе счёт заморозит в конце месяца, а потом плати свой долг+40грн пени. Хоть через год (долг не накапливается после заморозки), если оборудование и кабель в твою сторону целы (иначе по обстоятельствам, в договоре можно прописать граничнй срок, после которого абон теряет "право на жизнь"). Давить конечно не нужно, но и на голову нельзя давать садиться. Порядок должен быть. Всё в р
  4. Kucher2

    Пора менять железку?

    Я думаю trafshow врёт, т.к. периодически ещё 50Мбит бывает дополнительно, када народ с паритетов качает, но видно их чётко только на графике, который по count рисуется. На trafshow показаний выше 60Мбит я у себя вообще никогда не видел, к тому же эта штука сильно грузит ситему когда его стартуешь на "-i <ext_if> -n", поэтому в его показания не особо верится. По графику внизу видно как повлияли Ваши советы и мои манипуляции. Может ещё чего-то не учёл, помониторю-погляжу. Я почему-то так и думал, 200-250. Всем большое спасибо, отпишусь как оно. P.S. И всё равно я почти счастли
  5. Kucher2

    Пора менять железку?

    Двухядерник самый слабый правда, старенький Celeron. И материнка непонятного производства. "Шейпер без хешей" - вас ис дас, конкретнее? net.inet.ip.dummynet.hash_size=64 Попробовал net.inet.ip.dummynet.hash_size=16384 Без изменений. Думаю действительно не справляется железо. Или ему тоже время надо, чтоб подействовало? После применения net.inet.ip.dummynet.hash_size=16384 В течении 5-10 мин interrupt упал примерно с 45% до 25%. Сижу играюсь с правилами allow all from any to any: после их применения перед pipe - interrupt падает с 25% теперь всего лишь до 18-20%. Посмот
  6. Kucher2

    Пора менять железку?

    А было 800 или 900... Эти правила генерятся благодаря применению таблиц. Вот мой скрипт ipfw: #!/bin/sh sh_ip='10.0.0.10' nat_ip="1.2.3.4" fwcmd="/sbin/ipfw -q" natdcmd="/sbin/natd" int_if="igb0" ext_if="igb1" #sbros ipfw ${fwcmd} -f flush ${fwcmd} -f pipe flush ${fwcmd} -f queue flush ${fwcmd} table all flush #Local for NAT ${fwcmd} table 2 add 10.0.0.0/24 ${fwcmd} table 2 add 10.0.1.0/24 ${fwcmd} table 2 add 10.0.2.0/24 ${fwcmd} table 2 add 10.0.3.0/24 ${fwcmd} table 2 add 10.0.4.0/24 ${fwcmd} table 2 add 10.0.5.0/24 ${fwcmd} table 2 add 10.0.6.0/24 ${fwcmd} table 2 add 192.168.
  7. Kucher2

    Пора менять железку?

    Уж не знаю куда дальше оптимизировать, все юзеры по таблицам сидят, правил ipfw сейчас получается около 350. Мысль одна - пора всё же менять железку, хотя нельзя не признать что ipfw nat несколько улучшил ситуацию. В любом случае большое всем Вам спасибо за помощь, будем думать что-то с новым сервером. P.S. Кто-то подскажет как посмотреть кол-во открытых сессий на юзера/ИФ?
  8. Kucher2

    Пора менять железку?

    igb1 смотрит наружу. Прошло минут 15-20, без изменений. sysctl net.route.netisr_maxqlen=1024 - без изменений. Шейп пока вырубить не могу, воскресенье, юзеров много онлайн. Все загнаны в таблицы. Вырубить шейп - в смысле сделать allow all from any to any или вообще убрать pipe из правил? Если делаю allow all from any to any - да, interrupt падает примерно на 40-50% (сейчас это 52%, падающие до примерно 25%), нагрузка на внейшний ИФ igb1 снижается примерно на столько же.
  9. Kucher2

    Пора менять железку?

    На igb1 по trafshow сейчас 5000 pps, совокупный трафик 40Мбит. sysctl net.isr.direct=1 sysctl net.route.netisr_maxqlen=256 sysctl net.inet.ip.fastforwarding=0 sysctl net.inet.ip.dummynet.io_fast=0 Сделал: sysctl net.inet.ip.fastforwarding=1 sysctl net.inet.ip.dummynet.io_fast=1 Без изменений.
  10. Kucher2

    Пора менять железку?

    Карточка одна, Intel двухголовая. Кстати, как корректо загнать показатели top в текстовый файл? Неудобно скринами, а текст не лезет по конвееру ">", ломается форматирование или хрень какая-то получается.
  11. Kucher2

    Пора менять железку?

    Помониторил. Нагрузка 5000-6500 pps, трафик 40-100Мбит. Пинги на шлюз провайдера в среднем 2-3мс. Потерь нет вообще. Но меня по-прежнему смущает interrupt. Поскольку материнка одна из дешёвых для настольного ПК - грешу на неё. Иначе хез что это. Все Ваши советы в этой теме применил, больше похоже нечего оптимизировать. P.S. Как посмотреть число сессий на юзера, какой утилитой (типа trafshow) и с какими опциями?
  12. Делайте само подключение бесплатным, но обязывайте в момент подключения оплачивать Инет вперёд - пусть деньги на счету клиента остаются. У нас например подключение 250 грн+стоимость выбранного тарифа, из которых за работу берётся 50грн - остальное на счёт. Т.е. фактически для клиента оно стоит 50грн (за работу монтажнику), да ещё потом 2-3 мес. Инет-"халявы" получается (деньги в счёт оплаты Инета - юзеру идут). По сравнению со всем каналом - клиент-то берёт с гулькин нос, ну потерпите 2-3 мес, зато создадите по крайней мере условия для сбыта материалов. Т.е. таким образом вы просто как-бы пр
  13. Так тут речь и идёт о том, что народ авторизаторами не пользуется, сидят за роутерами. А у нас таких много, которые дома по 2-3 машины имеют, потому и роутеры ставят. Я своим ничего не навязываю: не хотят форумом пользоваться, это их дело. Они правда хотят внутренний чат на Jabber, но я лишний раз убедился, что нет ничего эффективнее телефонного звонка. А чат - это лишний повод достать меня какой-нить ерундой типа "у меня эта игра не работает".
  14. madf, я не говорю что херню надо рассылать, есть информация первоочередная, которую надо донести. Или Вы предлагаете с рупором по квартирам ходить? Я свою точку зрения высказал в самом начале - форум, рассылка. Кому надо тот и на форуме прочёт, всех не уговоришь. Человек задал вопрос, я и сказал что это утопия. Остальное - производное. Моё мнение - если юзер не желает, его не заставишь. В таком разе есть договор с пунктом "пользователь обязан посещать" или типа того. А то потом "а-а-а, мине надо, а у Вас ремонтные работы!" В *опу! Порядок должен быть!
  15. Мужики, вы чего, в сказки ещё верите?
  16. Kucher2

    Пора менять железку?

    Настроил вроде. Поскольку не спал толком всё это время - мог что-то напутать, поэтому пока обкатываю. Пару ошибок уже устранил. Подозреваю, что не все сервисы доступны для реал-IP, не поправил ещё полностью. Итак, внизу смотрим результат перехода на ipfw nat со связки ipfw + pf и небольшой модификации loader.conf, которую посоветовали на пару страниц выше. Правда на связке ipfw+pf она ничего не дала, но я оставил на всякий. Разумеется, все юзеры загнаны в таблицы. Interrupt по прежнему не самый маленький, но я и этим доволен. Потери пакетов прекратились, пинги на шлюз стабильные, 1-2мс. Те
  17. Kucher2

    Пора менять железку?

    Эм... так? #Белые IP ${fwcmd} table 3 add 8.8.8.8 ${fwcmd} table 3 add 4.4.4.4 ... ${fwcmd} add 500 nat 1 ip from any to $NatIP in recv $int0 ${fwcmd} add 501 nat 1 ip from 10.0.0.0/8 to not table\(3\) out xmit $int0 Так не работает. Почему только вот на тестовой приведеный в прошлом моём сообщении пример - работает без проблем? Так я и натю с белого IP, только он основным на внешнем ИФ висит (через rc.conf прописан), а несколько других - алиасами. Просто под этим одним как-бы сеть вся сидит, остальные понятно - для избранных. И как это - localhost, на внутреннем иф,
  18. Kucher2

    Пора менять железку?

    Эм... так? #Белые IP ${fwcmd} table 3 8.8.8.8 ${fwcmd} table 3 4.4.4.4 ... ${fwcmd} add 500 nat 1 ip from any to $NatIP in recv $int0 ${fwcmd} add 501 nat 1 ip from 10.0.0.0/8 to not table\(3\) out xmit $int0 Почему только вот на тестовой приведеный пример работает без проблем? Так я и натю с белого IP, только он алиасом на внешнем ИФ висит, как и несколько других. Просто под этим одним как-бы сеть вся сидит, остальные понятно - для избранных. И как это - на внутреннем иф? Роутить запросы вовнутрь? На внешнем разве не удобнее? Я почему-то всегда считал, что всё белое до
  19. Kucher2

    Пора менять железку?

    В общем поднял на второй машине FreeBSD + NAT - минимум функций и смоделировал всё по образцу отсюда. В итоге на тестовой машине всё завелось сразу. Делаю то же самое на сервере - затык. Правда у тестовой нет алиасов на ИФ. Внешний у неё 10.0.1.6 - смотрит в локалку и получает оттуда Инет, а внутренний 172.16.0.1 - смотрит интерфейсом на ноут. Сервер сети же - соединён с софтовым роутером на FreeBSD и находится одним внутренним ИФ в сети 10.0.0.0/24 (адрес внутреннего иф 10.0.0.10), а вторым иф он смотрит на провайдера (на этом же иф прописаны алиасы). На сервере делаю так:
  20. За такое могут и обидется. Говоря языком юридическим - клевета.
  21. Вы это расскажите тем, кто потом звонит и возмущается. Редирект 1 раз на важное сообщение много времени не займёт, зато эффективно донесёт инфу. Это ж делается не с целью рекламы, а сообщить например, что сегодня последний день оплаты за Инет. Кто-то из-за такой мелочи деньги потеряет или реФерат вовремя не сдаст. Как ни крути - на форум всех строем не загонишь и почту могут неделями не проверять. Должна же быть какая-то практически гарантированная доставлялка. Я видел, некоторые сетки пишут свои оболочки, эдакий органайзер. Прикольно, но всё равно ведь не все пользователи такое юзают. А
  22. Kucher2

    Пора менять железку?

    Да я её уже поставил давно (Sun VirtualBox - отличная штука), но поскольку у меня Windows 7 основной системой, я боюсь как бы она мне не мешала в тестах. Тут как раз машины две привезли подбитых грозой. Одна вроде дышет, у ней только вентилятор поменять на матери. Если запущу и слепок с её винта сделаю и куда-нить его пульну временно, думаю может на ней пару дней можно будет обкатать. Сетевых карт у меня теперь полно. Напишу потом как оно.
  23. Kucher2

    Пора менять железку?

    Проблема в его отсутствии. Я б сделал давно уже наверное, если б была такая возможность. И это последний раз когда я так делаю, больше никто на такое не уговорит. Кошмар.
  24. Kucher2

    Пора менять железку?

    Мдя, короче лажа какая-то у меня получилась, напутал что-то видимо. Щас оказалось что и СТГ подрубиться не может и часть сервисов не работает. На строки ${fwcmd} add 500 nat 1 ip from any to $NatIP in recv $int0 ${fwcmd} add 501 nat 1 ip from 10.0.0.0/8 to any out xmit $int0 скрипт вообще ругается, говорит синтаксис неверный или вроде того. Уже некогда было разбираться, поскольку сервер рабочий, а уже утро и меня тут начали доставать звонками - пришлось вернуть natd. Бл#... Ночью попробую ещё раз. Если доживу. Спасибо за поддержку.
  25. Kucher2

    Пора менять железку?

    Запустил таки ipfw_nat. С табличками вроде тоже понятно. Действительно удобно. Но самое главное - застрял я на пробросе белых IP. Кончились идеи, уже по всякому пробовал, не пойму почему не работает. Принципиально не хочу мутить ng_nat или другой, должен же этот работать, если его придумали. У меня реальники прописаны на внешнем ИФ. Делал и not table и redirect_addr на адрес внутрь локалки и из этой темы примеры брал и крутил их по всякому - нифига. Получается либо полный затык, либо адрес просто не пробрасывется, буд-то и нет того redirect_addr. Покажите пожалуйста рабочий конф
×
×
  • Создать...