Задача у меня одна считать только трафик с интернета.
правила rules
ALL 192.168.0.0/24 DIR0
ALL 0.0.0.0/0 DIR1
конфиг stg
################################################################################
# Файл настроек сервера 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 = 1
# День сброса данных о трафике за месяц и день перехода пользователей на новые тарифы
# Значения: 0...31. 0 - Последний день месяца
DayResetTraff = 1
# "Размазанное" снятие абонплаты. Снятие АП не раз в месяц, а каждый
# день 1/30 или 1/31 части АП
# Значения: yes, no
SpreadFee = no
# Данная опция определяет может ли пользователь получить доступ в интерент
# если у него на счету нет денег, но остался предоплаченный трафик
# Значения: yes, no
FreeMbAllowInet = no
# Названия направлений. Направления без названий не будут отображаться в
# авторизаторе и конфигураторе. Названия состоящие из нескольких слов должны
# быть взяты в кавычки
<DirNames>
DirName0 = LAN
DirName1 = Internet
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 = 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 = 5555
# Время между посылками запроса пользовател жив ли он
# и обновлением данных статистики (секунды)
# Значения: 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_ether>
# Модуль без параметров
</Module>
# Настройки модуля пингующего пользователей "mod_ping.so"
# Второй параметер - это имя модуля без mod_ в начале и .so в конце
<Module ping>
# Время, в секундах, между пингами одного и тогоже пользователя
# Значения: 10...3600
PingDelay = 15
</Module>
</Modules>
################################################################################
правила iptables
#!/bin/bash
#Машина администратора
admin=192.168.0.3
#Адреса роутера
server0=192.168.0.1
# Интерфейс смотрящий на клиентов
iface_cli=eth1
# Интерфейс смотрящий во внешний мир
iface_world=eth0
#Порты, на которых работает конфигуратор и авторизатор
conf_port=5555
user_port1=5555
user_port2=5555
# Разрешаем форвардинг пакетов между интерфейсами
# Эта штука необязательна, просто в некоторых дистрибутивах
# по умолчанию форвардинг разрешен, а в некоторых - запрещен
# Если мы подстрахуемся, хуже не бкдет
echo "1" > /proc/sys/net/ipv4/ip_forward
# Очищаем правила файрвола
/sbin/iptables -t filter -F
/sbin/iptables -t filter -X
/sbin/iptables -t nat -F
/sbin/iptables -t nat -X
# Политика по умолчанию DROP: всем всё запрещено
/sbin/iptables -t filter -P INPUT DROP
/sbin/iptables -t filter -P FORWARD DROP
/sbin/iptables -t filter -P OUTPUT DROP
# Разрешаем пингам ходить всюду и всегда
/sbin/iptables -t filter -A INPUT -p icmp -j ACCEPT
/sbin/iptables -t filter -A FORWARD -p icmp -j ACCEPT
/sbin/iptables -t filter -A OUTPUT -p icmp -j ACCEPT
# Разрешаем всё на локальном интерфейсе
/sbin/iptables -t filter -A INPUT -d 127.0.0.1 -j ACCEPT
/sbin/iptables -t filter -A OUTPUT -s 127.0.0.1 -j ACCEPT
# Разрешить серверу общаться со внешним миром
/sbin/iptables -t filter -A INPUT -i $iface_world -j ACCEPT
/sbin/iptables -t filter -A OUTPUT -o $iface_world -j ACCEPT
# DNS. Замечу, ДНС работает и по TCP и по UDP
/sbin/iptables -t filter -A INPUT -p tcp --sport 53 -j ACCEPT
/sbin/iptables -t filter -A FORWARD -p tcp --sport 53 -j ACCEPT
/sbin/iptables -t filter -A FORWARD -p tcp --dport 53 -j ACCEPT
/sbin/iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT
/sbin/iptables -t filter -A INPUT -p udp --sport 53 -j ACCEPT
/sbin/iptables -t filter -A FORWARD -p udp --sport 53 -j ACCEPT
/sbin/iptables -t filter -A FORWARD -p udp --dport 53 -j ACCEPT
/sbin/iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT
# Lineage. Работает и по TCP. Основные сервера.
/sbin/iptables -t filter -A INPUT -p tcp --sport 2106 -j ACCEPT
/sbin/iptables -t filter -A FORWARD -p tcp --sport 2106 -j ACCEPT
/sbin/iptables -t filter -A FORWARD -p tcp --dport 2106 -j ACCEPT
/sbin/iptables -t filter -A OUTPUT -p tcp --dport 2106 -j ACCEPT
/sbin/iptables -t filter -A INPUT -p tcp --sport 7777 -j ACCEPT
/sbin/iptables -t filter -A FORWARD -p tcp --sport 7777 -j ACCEPT
/sbin/iptables -t filter -A FORWARD -p tcp --dport 7777 -j ACCEPT
/sbin/iptables -t filter -A OUTPUT -p tcp --dport 7777 -j ACCEPT
# Lineage. Работает и по TCP. Dragon-network.
/sbin/iptables -t filter -A INPUT -p tcp --sport 3465 -j ACCEPT
/sbin/iptables -t filter -A FORWARD -p tcp --sport 3456 -j ACCEPT
/sbin/iptables -t filter -A FORWARD -p tcp --dport 3456 -j ACCEPT
/sbin/iptables -t filter -A OUTPUT -p tcp --dport 3456 -j ACCEPT
/sbin/iptables -t filter -A INPUT -p tcp --sport 7890 -j ACCEPT
/sbin/iptables -t filter -A FORWARD -p tcp --sport 7890 -j ACCEPT
/sbin/iptables -t filter -A FORWARD -p tcp --dport 7890 -j ACCEPT
/sbin/iptables -t filter -A OUTPUT -p tcp --dport 7890 -j ACCEPT
# Http
/sbin/iptables -t filter -A INPUT -p tcp --sport 80 -j ACCEPT
/sbin/iptables -t filter -A FORWARD -p tcp --sport 80 -j ACCEPT
/sbin/iptables -t filter -A FORWARD -p tcp --dport 80 -j ACCEPT
/sbin/iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
# SSH
/sbin/iptables -t filter -A INPUT -p tcp -s $admin -d $server0 --dport 22 -j ACCEPT
/sbin/iptables -t filter -A OUTPUT -p tcp -d $admin -s $server0 --sport 22 -j ACCEPT
# Stargazer configurator
/sbin/iptables -t filter -A INPUT -p tcp -s 192.168.0.0/24 -d $server0 --dport $conf_port -j ACCEPT
/sbin/iptables -t filter -A OUTPUT -p tcp -d 192.168.0.0/24 -s $server0 --sport $conf_port -j ACCEPT
# UDP stargazer InetAccess
/sbin/iptables -t filter -A INPUT -p udp -s 192.168.0.0/24 --sport $user_port2 -d $server0 --dport $user_port1 -j ACCEPT
/sbin/iptables -t filter -A OUTPUT -p udp -d 192.168.0.0/24 --dport $user_port1 -s $server0 -j ACCEPT
#Маскарад
/sbin/iptables -t nat -A POSTROUTING -d 0.0.0.0/0 -j MASQUERADE
Когда пытаюсь подключиться с 192.168.0.3 sgconfig зависает.