Jump to content

Менеджер клиентов не работет


Recommended Posts

Думаю там всё нормально потомучто когда делаю правила firewall:

 

add 100 divert natd all from 192.168.32.0/24 to any out recv rl0 xmit rl1

add 200 divert natd all from not 192.168.32.0/24 to 192.168.1.3 recv rl1

add 65000 allow all from any to any

 

всё ОК

 

Заранее извините если ошибаюсь с FreeBSD знаком менее месяца настройки все по умолчанию скрипты с этого форума.

Link to post
Share on other sites

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 = 5

 

 

 

# День снятия абонплаты

# Значения: 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 = yes

 

 

 

# Данная опция определяет может ли пользователь получить доступ в интерент

# если у него на счету нет денег, но остался предоплаченный трафик

# Значения: yes, no

FreeMbAllowInet = no

 

 

 

# Эта опция определяет что будет писаться в стоимость трафика в detail_stat.

# Если у пользователя еще есть предоплаченный трафик и WriteFreeMbTraffCost = no,

# то в detail_stat стоимость будет 0. Если у пользователя уже нет

# предоплаченного трафика и WriteFreeMbTraffCost = no, то в detail_stat

# будет записана стоиость трафика. При WriteFreeMbTraffCost = yes стоимость

# трафика будет записана в любом случае.

WriteFreeMbTraffCost = no

 

 

 

# Названия направлений. Направления без названий не будут отображаться в

# авторизаторе и конфигураторе. Названия состоящие из нескольких слов должны

# быть взяты в кавычки

<DirNames>

DirName0 = Сервер

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 = 5555

 

 

# Время между посылками запроса пользователю жив ли он

# и обновлением данных статистики (секунды)

# Значения: 5...600

UserDelay = 5

 

 

#Таймаут для пользователя. Если в течение этого времени авторизатор

#не отвечает, пользователь будет отключен

# Значения: 15...1200

UserTimeout = 15

 

 

# Этот параметр определяет что будет передаваться программе 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 = 8888

 

</Module>

 

 

 

# Модуль захвата трафика "mod_cap_bpf.so"

# Второй параметр - это имя модуля без mod_ в начале и .so в конце

# Без параметров. Только имя модуля.

<Module cap_bpf>

# Интерфейс(ы) на котором нужно производить подсчет трафика

iface = rl0

iface = rl1

iface = tun0

</Module>

 

 

 

# Настройки модуля пингующего пользователей "mod_ping.so"

# Второй параметр - это имя модуля без mod_ в начале и .so в конце

<Module ping>

 

# Время, в секундах, между пингами одного и того же пользователя

# Значения: 10...3600

PingDelay = 10

 

</Module>

 

</Modules>

################################################################################

Link to post
Share on other sites

rules:

#Server

ALL 192.168.32.0/24 DIR0

#Internet

ALL 0.0.0.0/0 DIR1

 

ipfw.sh:

#!/bin/sh

fwcmd="/sbin/ipfw -q"

natdcmd="/sbin/natd"

int_if="rl0"

#serv_if="rl1"

ext_if="rl1"

 

${fwcmd} -f flush

 

${natdcmd} -s -m -u -a 192.168.1.3

 

${fwcmd} add 10 allow icmp from any to any

 

#${fwcmd} add 304 deny ip from any to 192.168.0.0/16 out via ${ext_if}

#${fwcmd} add 305 deny ip from any to 10.0.0.0/16 out via ${ext_if}

#${fwcmd} add 306 deny ip from any to 172.16.0.0/16 out via ${ext_if}

 

${fwcmd} add 307 allow udp from any to 192.168.32.1 5555 via ${int_if}

${fwcmd} add 308 allow udp from any to 192.168.32.1 8888 via ${int_if}

${fwcmd} add 309 allow udp from 192.168.32.1 to any via ${int_if}

 

${fwcmd} add 310 allow tcp from 192.168.32.32 to 192.168.32.1 22 via ${int_if}

${fwcmd} add 312 allow tcp from 192.168.32.1 to any via ${int_if}

 

${fwcmd} add 320 deny log ip from 192.168.1.0/24 to 192.168.1.3 via ${int_if}

${fwcmd} add 321 deny log ip from 192.168.32.0/24 to 192.168.32.1 via ${int_if}

 

${fwcmd} add 50024 divert natd all from any to any via ${ext_if}

 

${fwcmd} add 50029 allow tcp from any to any out via ${ext_if} setup

${fwcmd} add 50030 allow tcp from any to any via ${ext_if} established

 

${fwcmd} add 50031 allow udp from any to any out via ${ext_if}

${fwcmd} add 50032 allow udp from any 53 to any in via ${ext_if}

 

${fwcmd} add 50033 allow tcp from any 192.168.1.3 22 via ${ext_if}

 

${fwcmd} add 65534 deny log ip from any to any

 

 

OnConnect:

#!/bin/sh

fwcmd="/sbin/ipfw -q"

int_if="rl0"

 

#${fwcmd} -f flush

 

# Login

LOGIN=$1

 

#user IP

IP=$2

 

#cash

CASH=$3

 

#user ID

ID=$4

 

${fwcmd} add `expr ${ID} '*' 10 + 29000` allow icmp from ${IP} to any out via ${int_if} icmptype 0,3,4,11,12

${fwcmd} add `expr ${ID} '*' 10 + 29001` allow ip from ${IP} to any

${fwcmd} add `expr ${ID} '*' 10 + 29002` allow ip from any to ${IP}

 

echo "C `date +%Y.%m.%d-%H.%M.%S` ${IP} ${CASH}" >> /var/stargazer/users/${LOGIN}/connect.log

 

 

OnDisconnect:

#!/bin/sh

 

fwcmd="/sbin/ipfw"

 

# Login

LOGIN=$1

 

#user IP

IP=$2

 

#cash

CASH=$3

 

#user ID

ID=$4

 

${fwcmd} delete `expr ${ID} '*' 10 + 29000`

${fwcmd} delete `expr ${ID} '*' 10 + 29001`

${fwcmd} delete `expr ${ID} '*' 10 + 29002`

 

echo "D `date +%Y.%m.%d-%H.%M.%S` ${IP} ${CASH}" >> /var/stargazer/users/${LOGIN}/connect.log

Link to post
Share on other sites

Примеры настройки скриптов для всех ОСей есть на форуме в достаточном количестве. Фаервол никто за вас учить не станет, это лучше делать самостоятельно.

Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...