Перейти до

dmg

Маглы
  • Всього повідомлень

    11
  • Приєднався

  • Останній візит

Все, що було написано dmg

  1. dmg

    СТГ+iptables = глюк

    Удаляться то не может, но... все-таки удалялось т.к. сейчас все пришло в норму, спасибо всем, проблема решена удалением тех строк из скриптов if-up & if-down, которые я приводил в предыдущем посте. З.Ы. Кстати, что именно пытался открывать пппд при поднятии нового интерфейса? Что есть mss?
  2. dmg

    СТГ+iptables = глюк

    По-поводу того что стоит ПППД. Он в момент подключения/отключеняи клиента исполняет скрипты, расположенные в /etc/ppp. Проверьте наличие там скриптов и пустые ли они. Предположение очень как бы шаткое, но других вариантов я не вижу. при просмотре скриптов, обнаружил что при поднятии pppN интерфейса выполняется iptables -o "$PPP_IFACE" --insert FORWARD 1 -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:1536 -j TCPMSS --clamp-mss-to-pmtu не уверен что это может влиять на удаление правил, но строчку закомментил... буду смотреть... тааак, при отключении фейса выполняется iptables -L -n -v --line-numbers | grep "TCPMSS.*$PPP_IFACE.*clamp" | cut -f1 -d " " | xargs -n1 -r iptables -D FORWARD вот это уже ближе к истине, удаляется чаще всего именно форвард у юзеров
  3. dmg

    СТГ+iptables = глюк

    эффекта положительного не заметил. Убрал из системы все "лишние" демоны -остался только СТГ, пптпд+система... То же самое... вероятно либо сами иптейблсы гонят, либо я хз :tongue:
  4. dmg

    СТГ+iptables = глюк

    причину найти не могу до сих пор, на днях доставлю ОЗУ - посмотрим.. неужели никто не сталкивался? кстати СТГ версии 2.402.9.7
  5. dmg

    СТГ+iptables = глюк

    угу, тогда как обойти это ограничение? и "не пропустит" = "удалит правило из iptables"? если при малом кол-ве юзеров все прекрасно работает, может ли причиной являться маленький объем ОЗУ (128мб)? З.Ы. Скриты ОнКоннект и ОнДисконнект при удалении правил не запускались (лог пуст)
  6. dmg

    СТГ+iptables = глюк

    поставил вывод в лог, буду наблюдать... А не слабовата машина для СТГ у меня? потому что при рестарте сервиса стг могут даже не всем юзерам правила прописаться в iptables... периодически загрузка проца составляет 60 проц - СТГ кушает
  7. dmg

    СТГ+iptables = глюк

    спасибо, попробую, но тогда как понять, что не все правила удаляются, а только 1-2 из 4х...? По идее, при выполнении скрипта должны удаляться все..
  8. Доброго времени суток, господа. Наступил на грабли, с которых не могу слезть уже несколько месяцев. Посему сначала выложу все свои скрипты для ясности. ################################################################################ # Файл настроек сервера 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 = 27 # Абонплата снимается в последний (yes) или первый (no) день учетного периода. # Это влияет на то, как будет снята абонплата (АП) при переходе на новый тариф. # Если у пользователя был тариф A с АП=100 и он хочет перейти на тариф B с АП=200, # то при переходе на новый тариф со счета пользователя снимется 100, если # DayFeeIsLastDay = yes и 200, если DayFeeIsLastDay = no DayFeeIsLastDay = no # День сброса данных о трафике за месяц и день перехода пользователей на новые тарифы # Значения: 0...31. 0 - Последний день месяца DayResetTraff = 1 # "Размазанное" снятие абонплаты. Снятие АП не раз в месяц, а каждый # день 1/30 или 1/31 части АП # Значения: yes, no SpreadFee = yes # Данная опция определяет может ли пользователь получить доступ в интерент # если у него на счету нет денег, но остался предоплаченный трафик # Значения: yes, no FreeMbAllowInet = no # Эта опция определяет что будет писаться в стоимость трафика в detail_stat. # Если у пользователя еще есть предоплаченный трафик и WriteFreeMbTraffCost = no, # то в detail_stat стоимость будет 0. Если у пользователя уже нет # предоплаченного трафика и WriteFreeMbTraffCost = no, то в detail_stat # будет записана стоиость трафика. При WriteFreeMbTraffCost = yes стоимость # трафика будет записана в любом случае. WriteFreeMbTraffCost = no # Названия направлений. Направления без названий не будут отображаться в # авторизаторе и конфигураторе. Названия состоящие из нескольких слов должны # быть взяты в кавычки <DirNames> DirName0 = INET DirName1 = FREE DirName2 = DirName3 = DirName4 = DirName5 = DirName6 = DirName7 = DirName8 = DirName9 = </DirNames> # Кол-во запускаемых процессов stg-exec. # Эти процессы отвечают за выполнение скриптов OnConnect, OnDisconnect, ... # Кол-во процессов означает сколько скриптов могут выполнятся одновременно. # Значения: 1...1024 ExecutersNum = 100 # 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 = root ConfMode = 600 # Владелец, группа и права доступа на файлы конфигурации (conf) пользователя StatOwner = root StatGroup = root StatMode = 640 # Владелец, группа и права доступа на лог-файлы (log) пользователя UserLogOwner = root UserLogGroup = root 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 = 4444 # Время между посылками запроса пользователю жив ли он # и обновлением данных статистики (секунды) # Значения: 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_ipq> # Модуль без параметров </Module> # Настройки модуля пингующего пользователей "mod_ping.so" # Второй параметр - это имя модуля без mod_ в начале и .so в конце <Module ping> # Время, в секундах, между пингами одного и того же пользователя # Значения: 10...3600 PingDelay = 15 </Module> </Modules> ################################################################################ #OnConnect ip=$2 iptables -t filter -A INPUT -s $ip -j QUEUE iptables -t filter -A FORWARD -s $ip -j QUEUE iptables -t filter -A FORWARD -d $ip -j QUEUE iptables -t filter -A OUTPUT -d $ip -j QUEUE #OnDisconnect ip=$2 iptables -t filter -D INPUT -s $ip -j QUEUE while [ $? -eq 0 ] do iptables -t filter -D INPUT -s $ip -j QUEUE done iptables -t filter -D FORWARD -s $ip -j QUEUE while [ $? -eq 0 ] do iptables -t filter -D FORWARD -s $ip -j QUEUE done iptables -t filter -D FORWARD -d $ip -j QUEUE while [ $? -eq 0 ] do iptables -t filter -D FORWARD -d $ip -j QUEUE done iptables -t filter -D OUTPUT -d $ip -j QUEUE while [ $? -eq 0 ] do iptables -t filter -D OUTPUT -d $ip -j QUEUE done Скрипт файрволла #!/bin/bash #clear tables iptables -t filter -F iptables -t filter -X iptables -t nat -F iptables -t nat -X #block by default iptables -t filter -P INPUT DROP iptables -t filter -P FORWARD DROP iptables -t filter -P OUTPUT DROP # allow active connection #iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT #iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -s 192.168.3.13/32 -o eth0 -j ACCEPT iptables -A FORWARD -d 192.168.3.13/32 -i eth0 -j ACCEPT iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT iptables -A FORWARD -i eth0 -j DROP iptables -A FORWARD -o eth0 -j DROP #allow VPN iptables -t filter -A INPUT -p tcp -s 10.9.0.0/16 --dport 1723 -j ACCEPT iptables -t filter -A OUTPUT -p tcp -d 10.9.0.0/16 --sport 1723 -j ACCEPT #allow GRE iptables -t filter -A INPUT -p 47 -j ACCEPT iptables -t filter -A OUTPUT -p 47 -j ACCEPT #allow other icmp iptables -t filter -A INPUT -p icmp -j ACCEPT iptables -t filter -A FORWARD -p icmp -j ACCEPT iptables -t filter -A OUTPUT -p icmp -j ACCEPT #allow lo iptables -t filter -A INPUT -d 127.0.0.1 -j ACCEPT iptables -t filter -A OUTPUT -s 127.0.0.1 -j ACCEPT #DNS resolving iptables -t filter -A INPUT -p tcp --sport 53 -j ACCEPT iptables -t filter -A FORWARD -p tcp --sport 53 -j ACCEPT iptables -t filter -A FORWARD -p tcp --dport 53 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT iptables -t filter -A INPUT -p udp --sport 53 -j ACCEPT iptables -t filter -A FORWARD -p udp --sport 53 -j ACCEPT iptables -t filter -A FORWARD -p udp --dport 53 -j ACCEPT iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT # SSH iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --sport 22 -j ACCEPT # Stargazer configurator iptables -t filter -A INPUT -p tcp --dport 5555 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --sport 5555 -j ACCEPT # UDP stargazer InetAccess iptables -t filter -A INPUT -p udp -s 192.168.3.0/24 --sport 4444 -j ACCEPT iptables -t filter -A OUTPUT -p udp -d 192.168.3.0/24 --dport 4444 -j ACCEPT #NAT iptables -t nat -A POSTROUTING -s 192.168.3.13 -d 0.0.0.0/0 -j MASQUERADE iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -j SNAT --to-source 90.188.134.1 iwconfig wlan0 key restricted xxxxxxxx Итак, есть локалка 10.9.0.0/16 (eth0 на серве), из нее юзера по ВПН коннектятся к серверу, получают IP подсети 192.168.3.0/24 и вопщем-то прекрасно бегают по инету... Траф считается, все красиво... 192.168.3.13 - мой айпи, сижу на ВиФи и вижу локальную сеть (форвард через eth0 и маскарад для этого айпи в скрипте файрволла). Но когда пользователей стало не 10, а 50, периодически из iptables отваливаются правила, произвольно: root@wsgate:/etc# iptables -L | grep 3.31 QUEUE all -- 192.168.3.31 anywhere QUEUE all -- 192.168.3.31 anywhere QUEUE all -- anywhere 192.168.3.31 QUEUE all -- anywhere 192.168.3.31 root@wsgate:/etc# через определенное время (час-два-три): root@wsgate:/etc# iptables -L | grep 3.31 QUEUE all -- 192.168.3.31 anywhere QUEUE all -- anywhere 192.168.3.31 QUEUE all -- anywhere 192.168.3.31 root@wsgate:/etc# И все, у человека нет инета... Причем баланс у него положительный. Сначала грешил на то что скрипты не успевает обрабатывать один поток stg-exec, поставил 100 - эффекта нет... По крону запускаю маленький скриптик раз в сутки, но и этого иногда недостаточно - к вечеру слетает инет у некоторых юзеров: killall -9 stargazer killall -9 pptpd /etc/stargazer/fw stargazer pptpd Конфигурация серва: Селерон 1.4, 128мб ОЗУ... Живет на UBUNTU server (2.6.15-18-686) Крутится апач, самба, дхцп, фтп. Особой нагрузки на апач, фтп и самбу не возлагается - это для личных нужд. Ах да, каждую минуту происходит бэкап баз СТГ... Так вот собственно вопрос: кто сталкивался с чем-либо подобным и как это решать? Кто может удалять правила из iptables?
  9. dmg

    Stg-2.401 + Vpn

    сделал все, только ондисконнект выполняется не сразу как деньги в минус пошли... поставил параметр в старгейзер.конф на то чтобы стг-екзек запускался в 10 потоков - эффекта 0, стабильно денежки в -10, а то и больше уходят.. т.е. если юзер качает чтото большое, то закачку не обрубает.... как с эим бороться?
  10. dmg

    Stg-2.401 + Vpn

    хе, не дождался я ответа... вопщем pptpd собрался, заработал и раздает каждому подключившемуся указанный ИП (вручную или скриптом ОнЮзерАдд вписывает все это дело в чап-сикретс). Теперь осталась тока непонятка каким же образом считать траф с этих пппN интерфейсов, используя ipq... Поделитесь скриптами =) Лучше что-то жутко прмитивное, но работающее - мне главное пример) все дальнейшие навороты я "наверну" :-(=)
  11. Доброго времени суток) СТГ собрался, запустился и работает... в приницпе сделать НАТ и радоваться никто не мешает...) примеров скриптов на это дело куча... НО! (Ногами прошу сильно небить и по голове не пинать=)) я _не_нашел_ примеров скриптов ОнКоннект и ОнДисконнект, а также настройку файрволла для конфигурации стг+впн... Точнее на сайте стг конечно же есть пример для версии 2.0, однако хотелось бы понять саму систему взаимодействия впн со старгейзером, как именно он перехватывает трафик идущий на интерфейсы pppN.... Имеем: ubuntu-server 6.04, два интерфейса, eth1 смотрит на адсл посредством поднятого PPPoE и eth0, который смотрит в локаль 10.9.0.0/255.255.0.0 ... Вопрос собсна следующий: КАК же все таки связать/понять/сконфигурить libipq (подключен модулем в старгейзер.конф) ppptd (либо предложите оптимальный ВПН серв для связки с СТГ) и старгейзер? Интересуют конкретные примеры если несложно, ведь многие из вас используют данную конфигурацию, я почти уверен) Если эта тема была раскрыта подробно - киньте в меня ссылкой) если нет желания флудить на форуме - ася: 327817036 Спасибо за поддержку и понимание
×
×
  • Створити нове...