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

Инсталяция под CentOS (i386)

Рекомендованные сообщения

Два сетевых интерфейса

WAN 139.0.0.5 берёт инет с роутера

LAN 192.168.1.5 для 5-ти пользователей домашней сети

Stargazer версии 2.405.9.8 для CentOS 5.2 _http://stg.dp.ua/server_dl.php?show=2.405.9.8

 

Установка прошла успешно, пингуются оба интерфейса, Stargazer Configurator подключается к

192.168.1.5 порт 5555 по умолчанию Login: admin Passw:123456

 

Создаются пользователи и подключаются с помощью авторизатора - InetAccess

 

Документация _http://stargazer.dp.ua/doc20.php изучена,

уделено отдельное внимание _http://stargazer.dp.ua/doc20/conf_example_linux.html

После изменения конфигов, по предложенному примеру, нарушается работа SRG сервера...видимо,

со времени создания и модернизирования версий скрипты стали отличаться по содержанию...

 

В существующей ситуации возникает вопрос,

какие необходимо вписать данные - правила в конфигурационные

файлы /etc/stargazer/

OnConnect

OnDisconnect

OnChange

rules

stargazer.conf

и т.д.

чтобы получить инет на сетевом интерфейсе 192.168.1.5

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

OnChange

login=$1

param=$2

oldValue=$3

newValue=$4

 

#echo "User: '$login'. Parameter $param changed from '$oldValue' to '$newValue'" >> /var/stargazer/users.chg.log

OnConnect

login=$1

param=$2

oldValue=$3

newValue=$4

 

#echo "User: '$login'. Parameter $param changed from '$oldValue' to '$newValue'" >> /var/stargazer/users.chg.log

OnDisconnect

# Login

LOGIN=$1

 

#user IP

IP=$2

 

#cash

CASH=$3

 

#user ID

ID=$4

 

#Selected dirs to disconnect

DIRS=$4

 

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

 

rules

ALL 192.168.1.1 DIR1

ALL 139.0.0.2 DIR1

ALL 0.0.0.0/0 DIR0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

stargazer.conf

# Имя лог-файла куда пишутся события

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

 

# Абонплата снимается в последний (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 = no

 

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

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

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

FreeMbAllowInet = no

 

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

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

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

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

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

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

WriteFreeMbTraffCost = no

 

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

# если он быз заморожен только часть учетного периода.

# По умолчанию установлен в no

# FullFee=no

 

# Необязательный параметр указывающий показывать на счету и позволять

# использовать пользователю абонплату. По умолчанию установлен в yes

# ShowFeeInCash=yes

 

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

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

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

<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

 

# Определяет директорию, в которой будут находится файлы "монитора"

# работы сервера. В этой директории будут созданы пустые файлы, время

# модификации которых будет меняться примерно раз в минуту. Если какой-то

# компонент сервера зависнет, файл(ы) перестанет обновлятся, и по этому

# признаку можно определить сбой в работе сервера и при надобности

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

# не будет. Параметр не является обязательным, по умолчанию пустой.

# MonitorDir=/var/stargazer/monitor

 

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

# 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>

 

#<StoreModule store_firebird>

# # Адрес сервера БД

# server=localhost

#

# # Путь к БД на сервере или ее алиас

# database=/var/stg/stargazer.fdb

#

# # Имя пользователя БД

# user=stg

#

# # Пароль пользователя БД

# password=123456

#</StoreModule>

 

#<StoreModule store_mysql>

# # Имя пользователя БД

# dbuser = stg

#

# # Пароль пользователя БД

# rootdbpass = 123456

#

# # Имя БД на сервере

# dbname = stg

#

# # Адрес сервера БД

# dbhost = localhost

#</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>

 

# # Настройки модуля для удаленного выполнения скриптов OnConnect и

# # OnDisconnect "mod_remote_script.so"

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

# <Module remote_script>

#

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

# # всё еще онлайн

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

# SendPeriod = 15

#

# # Соответствие подсетей, в которой находится пользователь и

# # соответствующего роутера. Первая часть строки - подсеть, заданная

# # как IP-адрес и маска, через пробел - IP-адрес роутера на котором

# # должны выполняться скрипты

# # Например эта запись "192.168.1.0/24 192.168.1.1" означает, что для

# # всех пользователей из подсети 192.168.1.0/24, скрипты будут

# # выполняться на роутере с адресом 192.168.1.1

# # Subnet0...Subnet100

# Subnet0 = 192.168.1.0/24 192.168.1.7

# Subnet1 = 192.168.2.0/24 192.168.2.5

# Subnet2 = 192.168.3.0/24 192.168.2.5

# Subnet3 = 192.168.4.0/24 192.168.2.5

#

# # Пароль для шифрования пакетов между stg-сервером и сервером,

# # выполняющим скрипты

# Password = 123456

#

# # Этот параметр определяет какие параметры пользователя передаются

# # на удаленный сервер

# # Cash, FreeMb, Passive, Disabled, AlwaysOnline, TariffName, NextTariff, Address,

# # Note, Group, Email, RealName, Credit, EnabledDirs, Userdata0...Userdata9

# UserParams=Cash Tariff EnabledDirs

#

# # Порт по которому сервер отсылает сообщения на роутер

# # Значения: 1...65535

# Port = 9999

#

# </Module>

 

# <Module radius>

# Password = 123456

# ServerIP = 127.0.0.1

# Port = 6666

# AuthServices = Login-User

# AcctServices = Framed-User

# </Module>

 

</Modules>

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вот тут лежит пакетик stargazer-doc-2.405.9.8-alt2.6.noarch.rpm, расковыряйте его и посмотрите в нем examlpes, там есть готовые конфиги с боевого сервера. Мелочи могут отличаться из-за другого дистрибутива.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вот тут лежит пакетик stargazer-doc-2.405.9.8-alt2.6.noarch.rpm, расковыряйте его и посмотрите в нем examlpes, там есть готовые конфиги с боевого сервера. Мелочи могут отличаться из-за другого дистрибутива.

Благодарю, конфиги просмотрел, учёл все рабочие пути,

в том числе для файла /etc/rc.d/rc.local

/etc/stargazer/fw

/usr/sbin/stargazer

 

часть правил проверена и работает, ping на внешний адрес сервера - 139.0.0.5 проходит,

доступ админа по SSH есть...

инет пока не проходит, причина не понятна...

 

fw

#!/bin/sh
#
#Машина в офисе
#office=192.168.0.2

#Машина администратора
admin=192.168.1.30

#Адреса роутера
server0=192.168.1.5
server1=139.0.0.5

# Интерфейс смотрящий на клиентов
iface_cli=eth0

# Интерфейс смотрящий во внешний мир
iface_world=eth1

# Подсеть клиентов
net_cli=192.168.1.0/24

#Порты, на которых работает конфигуратор и авторизатор
conf_port=5555
user_port1=5555
user_port2=5555

# Разрешаем форвардинг пакетов между интерфейсами
# Эта штука необязательна, просто в некоторых дистрибутивах
# по умолчанию форвардинг разрешен, а в некоторых - запрещен
# Если мы подстрахуемся, хуже не бкдет
echo "1" > /proc/sys/net/ipv4/ip_forward
# Очищаем правила файрвола
iptables -t filter -F
iptables -t filter -X
iptables -t nat -F
iptables -t nat -X


# Политика по умолчанию DROP: всем всё запрещено
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT DROP

# Разрешаем пингам ходить всюду и всегда
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


# Разрешаем всё на локальном интерфейсе
iptables -t filter -A INPUT -d 127.0.0.1 -j ACCEPT
iptables -t filter -A OUTPUT -s 127.0.0.1 -j ACCEPT


# Разрешить серверу общаться со внешним миром
iptables -t filter -A INPUT -i $iface_world -j ACCEPT
iptables -t filter -A OUTPUT -o $iface_world -j ACCEPT


# DNS. Замечу, ДНС работает и по TCP и по UDP
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 -s $office -d $server0 --dport 22 -j ACCEPT
#iptables -t filter -A OUTPUT -p tcp -d $office -s $server0 --sport 22 -j ACCEPT
iptables -t filter -A INPUT -p tcp -s $admin -d $server0 --dport 22 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp -d $admin -s $server0 --sport 22 -j ACCEPT

#Разрешаем все админу и офису 
#Раскоментируйте то что надо
#Админу
iptables -t filter -A INPUT -s $admin -j ACCEPT
iptables -t filter -A FORWARD -s $admin -j ACCEPT
iptables -t filter -A FORWARD -d $admin -j ACCEPT
iptables -t filter -A OUTPUT -d $admin -j ACCEPT
#Офису
#iptables -t filter -A INPUT -s $office -j ACCEPT
#iptables -t filter -A FORWARD -s $office -j ACCEPT
#iptables -t filter -A FORWARD -d $office -j ACCEPT
#iptables -t filter -A OUTPUT -d $office -j ACCEPT


# Stargazer configurator
iptables -t filter -A INPUT -p tcp -s $net_cli -d $server0 --dport $conf_port -j ACCEPT
iptables -t filter -A OUTPUT -p tcp -d $net_cli -s $server0 --sport $conf_port -j ACCEPT

# UDP stargazer InetAccess
iptables -t filter -A INPUT -p udp -s $net_cli --sport $user_port2 -d $server0 --dport $user_port1 -j ACCEPT
iptables -t filter -A OUTPUT -p udp -d $net_cli --dport $user_port1 -s $server0 -j ACCEPT

#В моем примере еще используется прозрачный прокси сервер squid если он не нужен закоментируйте эти 2 строки
#Разрешаем всем локальный HTTP сервер
iptables -t filter -A INPUT -p tcp -s $net_cli -d $server0 --dport 80 -j ACCEPT                                
iptables -t filter -A OUTPUT -p tcp -d $net_cli -s $server0 --sport 80 -j ACCEPT


#Маскарад
iptables -t nat -A POSTROUTING -d 0.0.0.0/0 -j MASQUERADE


#Тоже относится к прокси серверу. Если не надо то закоментируйте. Если прокси использует другой порт то измените 3128 на него.
iptables -t nat -A PREROUTING -i eth1 -p tcp -d ! $server0  --dport 80 -j REDIRECT --to-port 3128

 

OnChange

login=$1
param=$2
oldValue=$3
newValue=$4

#echo "User: '$login'. Parameter $param changed from '$oldValue' to '$newValue'" >> /var/stargazer/users.chg.log

 

OnConnect

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

# Login
LOGIN=$1

#user IP
IP=$2

#cash
CASH=$3

#user ID
ID=$4

#Selected dirs to connect
DIRS=$5


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

iptables -t filter -A INPUT -s $IP -j ACCEPT
iptables -t filter -A FORWARD -s $IP -j ACCEPT
iptables -t filter -A FORWARD -d $IP -j ACCEPT
iptables -t filter -A OUTPUT -d $IP -j ACCEPT

 

OnDisconnect

# Этот скрипт вызывается в момент, когда пользователь
# желает отключится от интернета или вышел таймаут у пользователя
# и сервер сам отключает пользователя
# Задача скрипта подобна задаче скрипта OnConnect - перестроить 
# файрвол так, что бы пользователю закрыть доступ в интернет

# Login
LOGIN=$1

#user IP
IP=$2

#cash
CASH=$3

#user ID
ID=$4

#Selected dirs to disconnect
#DIRS=$4

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

iptables -t filter -D INPUT -s $IP -j ACCEPT
while [ $? -eq 0 ]
do
iptables -t filter -D INPUT -s $IP -j ACCEPT
done

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

iptables -t filter -D FORWARD -s $IP -j ACCEPT
while [ $? -eq 0 ]
do
iptables -t filter -D FORWARD -s $IP -j ACCEPT
done

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

iptables -t filter -D FORWARD -d $IP -j ACCEPT
while [ $? -eq 0 ]
do
iptables -t filter -D FORWARD -d $IP -j ACCEPT
done

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

iptables -t filter -D OUTPUT -d $IP -j ACCEPT
while [ $? -eq 0 ]
do
iptables -t filter -D OUTPUT -d $IP -j ACCEPT
done

 

stargazer.conf

Ничем не отличается от установленного

 

rules

ALL     192.168.1.5  DIR0 
ALL     139.0.0.5      DIR0

учитывая прочитанное _http://stargazer.dp.ua/doc20/conf_rules.html считает трафик с указанного интерфейса и т.д.

видимо к моей проблеме, отсутствие инета на 192.168.1.5(LAN), отношения не имеет, т.е. пользователь авторизируется,

а инет не получает...

 

Настройки сетевых карт(инет на самом сервере присутствует):

 

WAN-Внешний интерфейс
IP 139.0.0.5
Mask 255.255.255.0
Gateway 139.0.0.1
Nameserver 139.0.0.1

LAN-Внутренний
IP 192.168.1.5
Mask 255.255.255.0

 

[[email protected] ~]$ ping ya.ru
PING ya.ru (77.88.21.8) 56(84) bytes of data.
64 bytes from ya.ru (77.88.21.8): icmp_seq=1 ttl=54 time=44.4 ms
64 bytes from ya.ru (77.88.21.8): icmp_seq=2 ttl=54 time=42.1 ms
64 bytes from ya.ru (77.88.21.8): icmp_seq=3 ttl=54 time=43.7 ms
64 bytes from ya.ru (77.88.21.8): icmp_seq=4 ttl=54 time=44.4 ms
64 bytes from ya.ru (77.88.21.8): icmp_seq=5 ttl=54 time=43.6 ms

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Посмотри состояние файрвола после авторизации клиента.

$ iptables -nL
$ iptables -t nat -nL

 

И еще, форвардинг включен?

$ cat /proc/sys/net/ipv4/ip_forwarding

должно показать 1. Если 0 то нужно сделать

$ echo 1 > /proc/sys/net/ipv4/ip_forwarding

либо настроить это в /etc/sysctl.conf

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Посмотри состояние файрвола после авторизации клиента.

$ iptables -nL
$ iptables -t nat -nL

На эти команды точно ответить пока не могу, не выполняются...

 

iptables status

[[email protected] /]# /etc/rc.d/init.d/iptables status
Таблица: nat
Chain PREROUTING (policy ACCEPT)
num  target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
num  target     prot opt source               destination         
1    MASQUERADE  all  --  0.0.0.0/0            0.0.0.0/0           

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination         

Таблица: filter
Chain INPUT (policy DROP)
num  target     prot opt source               destination         
1    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           
2    ACCEPT     all  --  0.0.0.0/0            127.0.0.1           
3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp spt:53 
5    ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp spt:53 
6    ACCEPT     tcp  --  192.168.1.30         192.168.1.5         tcp dpt:22 
7    ACCEPT     all  --  192.168.1.30         0.0.0.0/0           
8    ACCEPT     tcp  --  192.168.1.0/24       192.168.1.5         tcp dpt:5555 
9    ACCEPT     udp  --  192.168.1.0/24       192.168.1.5         udp spt:5555 dpt:5555 
10   ACCEPT     tcp  --  192.168.1.0/24       192.168.1.5         tcp dpt:80 

Chain FORWARD (policy DROP)
num  target     prot opt source               destination         
1    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           
2    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp spt:53 
3    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:53 
4    ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp spt:53 
5    ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:53 
6    ACCEPT     all  --  192.168.1.30         0.0.0.0/0           
7    ACCEPT     all  --  0.0.0.0/0            192.168.1.30        

Chain OUTPUT (policy DROP)
num  target     prot opt source               destination         
1    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           
2    ACCEPT     all  --  127.0.0.1            0.0.0.0/0           
3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:53 
5    ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:53 
6    ACCEPT     tcp  --  192.168.1.5          192.168.1.30        tcp spt:22 
7    ACCEPT     all  --  0.0.0.0/0            192.168.1.30        
8    ACCEPT     tcp  --  192.168.1.5          192.168.1.0/24      tcp spt:5555 
9    ACCEPT     udp  --  192.168.1.5          192.168.1.0/24      udp dpt:5555 
10   ACCEPT     tcp  --  192.168.1.5          192.168.1.0/24      tcp spt:80

И еще, форвардинг включен?

$ cat /proc/sys/net/ipv4/ip_forwarding

должно показать 1. Если 0 то нужно сделать

$ echo 1 > /proc/sys/net/ipv4/ip_forwarding

либо настроить это в /etc/sysctl.conf

Показывает 1

[[email protected] /]# cat /proc/sys/net/ipv4/ip_forward
1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как это команды не выполняются? Так у тебя и файрвол не модифицируется по этому, и инет юзеры не получают.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как это команды не выполняются? Так у тебя и файрвол не модифицируется по этому, и инет юзеры не получают.

я об этом задумался, просветление пока не наступило :blink:

[[email protected] /]# /etc/rc.d/init.d/iptables -nL
Применение: /etc/rc.d/init.d/iptables {start|stop|restart|condrestart|status|panic|save}
[[email protected] /]# /etc/rc.d/init.d/iptables -t nat -nL
Применение: /etc/rc.d/init.d/iptables {start|stop|restart|condrestart|status|panic|save}

 

тыкс сорри...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

клиент авторизирован по 192.168.1.35

 

[[email protected] vitiv]# /sbin/iptables -t nat -nL
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
MASQUERADE  all  --  0.0.0.0/0            0.0.0.0/0           

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

         
[[email protected] vitiv]# /sbin/iptables -nL
Chain INPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           
ACCEPT     all  --  0.0.0.0/0            127.0.0.1           
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp spt:53 
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp spt:53 
ACCEPT     tcp  --  192.168.1.30         192.168.1.5         tcp dpt:22 
ACCEPT     all  --  192.168.1.30         0.0.0.0/0           
ACCEPT     tcp  --  192.168.1.0/24       192.168.1.5         tcp dpt:5555 
ACCEPT     udp  --  192.168.1.0/24       192.168.1.5         udp spt:5555 dpt:5555 
ACCEPT     tcp  --  192.168.1.0/24       192.168.1.5         tcp dpt:80 

Chain FORWARD (policy DROP)
target     prot opt source               destination         
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp spt:53 
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:53 
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp spt:53 
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:53 
ACCEPT     all  --  192.168.1.30         0.0.0.0/0           
ACCEPT     all  --  0.0.0.0/0            192.168.1.30        

Chain OUTPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           
ACCEPT     all  --  127.0.0.1            0.0.0.0/0           
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:53 
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:53 
ACCEPT     tcp  --  192.168.1.5          192.168.1.30        tcp spt:22 
ACCEPT     all  --  0.0.0.0/0            192.168.1.30        
ACCEPT     tcp  --  192.168.1.5          192.168.1.0/24      tcp spt:5555 
ACCEPT     udp  --  192.168.1.5          192.168.1.0/24      udp dpt:5555 
ACCEPT     tcp  --  192.168.1.5          192.168.1.0/24      tcp spt:80 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1. Попробуй добавить в скрипты On* шабанг:

#!/bin/sh

 

2. Попробуй добавить права выполнения скриптам.

3. Попробуй запустить их вручную и посмотреть добавляются ли правила в файрвол.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1. Попробуй добавить в скрипты On* шабанг:

#!/bin/sh

 

2. Попробуй добавить права выполнения скриптам.

Сразу обратил внимание, прописал...

3. Попробуй запустить их вручную и посмотреть добавляются ли правила в файрвол.

 

Вот в этом файле похоже загвоздка

[[email protected] /]# /etc/stargazer/OnConnect
/etc/stargazer/OnConnect: line 24: iptables: команда не найдена
/etc/stargazer/OnConnect: line 25: iptables: команда не найдена
/etc/stargazer/OnConnect: line 26: iptables: команда не найдена
/etc/stargazer/OnConnect: line 27: iptables: команда не найдена

#!/bin/bash
# Login
#LOGIN=$1

#user IP
IP=$2

#cash
#CASH=$3

#user ID
#ID=$4

#Selected dirs to connect
#DIRS=$5


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

# !!! как раз начало 24 строки
iptables -t filter -A INPUT -s $IP -j ACCEPT
iptables -t filter -A FORWARD -s $IP -j ACCEPT
iptables -t filter -A FORWARD -d $IP -j ACCEPT
iptables -t filter -A OUTPUT -d $IP -j ACCEPT

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

изменил в файле путь к iptables

/sbin/iptables -t filter -A INPUT -s $IP -j ACCEPT
/sbin/iptables -t filter -A FORWARD -s $IP -j ACCEPT
/sbin/iptables -t filter -A FORWARD -d $IP -j ACCEPT
/sbin/iptables -t filter -A OUTPUT -d $IP -j ACCEPT

[[email protected] vitiv]# /etc/stargazer/OnConnect
Bad argument `ACCEPT'
Try `iptables -h' or 'iptables --help' for more information.
Bad argument `ACCEPT'
Try `iptables -h' or 'iptables --help' for more information.
Bad argument `ACCEPT'
Try `iptables -h' or 'iptables --help' for more information.
Bad argument `ACCEPT'
Try `iptables -h' or 'iptables --help' for more information.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

изменил в файле путь к iptables

/sbin/iptables -t filter -A INPUT -s $IP -j ACCEPT
/sbin/iptables -t filter -A FORWARD -s $IP -j ACCEPT
/sbin/iptables -t filter -A FORWARD -d $IP -j ACCEPT
/sbin/iptables -t filter -A OUTPUT -d $IP -j ACCEPT

[[email protected] vitiv]# /etc/stargazer/OnConnect
Bad argument `ACCEPT'
Try `iptables -h' or 'iptables --help' for more information.
Bad argument `ACCEPT'
Try `iptables -h' or 'iptables --help' for more information.
Bad argument `ACCEPT'
Try `iptables -h' or 'iptables --help' for more information.
Bad argument `ACCEPT'
Try `iptables -h' or 'iptables --help' for more information.

Ну да, ты ж параметры скрипту не передал, вот он и ругается. Проверь, может все уже работает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

изменил в файле путь к iptables

/sbin/iptables -t filter -A INPUT -s $IP -j ACCEPT
/sbin/iptables -t filter -A FORWARD -s $IP -j ACCEPT
/sbin/iptables -t filter -A FORWARD -d $IP -j ACCEPT
/sbin/iptables -t filter -A OUTPUT -d $IP -j ACCEPT

[[email protected] vitiv]# /etc/stargazer/OnConnect
Bad argument `ACCEPT'
Try `iptables -h' or 'iptables --help' for more information.
Bad argument `ACCEPT'
Try `iptables -h' or 'iptables --help' for more information.
Bad argument `ACCEPT'
Try `iptables -h' or 'iptables --help' for more information.
Bad argument `ACCEPT'
Try `iptables -h' or 'iptables --help' for more information.

Ну да, ты ж параметры скрипту не передал, вот он и ругается. Проверь, может все уже работает.

Как передать параметры скрипту? Что под этим подразумевается?

Ребут сервера, авторизация пользователя есть-инет не проходит...

В данный момент OnConnect вот такого вида

#!/bin/bash
# Login
LOGIN=$1

#user IP
IP=$2

#cash
CASH=$3

#user ID
ID=$4

#Selected dirs to connect
DIRS=$5


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

/sbin/iptables -t filter -A INPUT -s $IP -j ACCEPT
/sbin/iptables -t filter -A FORWARD -s $IP -j ACCEPT
/sbin/iptables -t filter -A FORWARD -d $IP -j ACCEPT
/sbin/iptables -t filter -A OUTPUT -d $IP -j ACCEPT

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

изменил в файле путь к iptables

/sbin/iptables -t filter -A INPUT -s $IP -j ACCEPT
/sbin/iptables -t filter -A FORWARD -s $IP -j ACCEPT
/sbin/iptables -t filter -A FORWARD -d $IP -j ACCEPT
/sbin/iptables -t filter -A OUTPUT -d $IP -j ACCEPT

[[email protected] vitiv]# /etc/stargazer/OnConnect
Bad argument `ACCEPT'
Try `iptables -h' or 'iptables --help' for more information.
Bad argument `ACCEPT'
Try `iptables -h' or 'iptables --help' for more information.
Bad argument `ACCEPT'
Try `iptables -h' or 'iptables --help' for more information.
Bad argument `ACCEPT'
Try `iptables -h' or 'iptables --help' for more information.

Ну да, ты ж параметры скрипту не передал, вот он и ругается. Проверь, может все уже работает.

Как передать параметры скрипту? Что под этим подразумевается?

Ребут сервера, авторизация пользователя есть-инет не проходит...

В данный момент OnConnect вот такого вида

#!/bin/bash
# Login
LOGIN=$1

#user IP
IP=$2

#cash
CASH=$3

#user ID
ID=$4

#Selected dirs to connect
DIRS=$5


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

/sbin/iptables -t filter -A INPUT -s $IP -j ACCEPT
/sbin/iptables -t filter -A FORWARD -s $IP -j ACCEPT
/sbin/iptables -t filter -A FORWARD -d $IP -j ACCEPT
/sbin/iptables -t filter -A OUTPUT -d $IP -j ACCEPT

Ну вобще-то ребутить сервер не нужно, это не Windows. Не нужно даже Stargazer перезапускать.

А передать параметры можно так:

$ /etc/stargazer/OnConnect foo 192.168.1.35

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Ну вобще-то ребутить сервер не нужно, это не Windows. Не нужно даже Stargazer перезапускать

Это было профилактическое действие

А передать параметры можно так:

$ /etc/stargazer/OnConnect foo 192.168.1.35

 

 

Результат передачи параметров

[[email protected] vitiv]# /etc/stargazer/OnConnect foo 192.168.1.35
/etc/stargazer/OnConnect: line 22: /var/stargazer/users/foo/connect.log: Нет такого файла или каталога

Дополнительно создан каталог foo и файл connect.log

Повторное введение параметров прописало в /var/stargazer/users/foo/connect.log

C 2010.01.10-17.57.02 192.168.1.35 
C 2010.01.10-17.58.07 192.168.1.35

при этом ничего не изменилось...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А файрвол? Не меняется?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А файрвол? Не меняется?

Нет...

для выяснения работы правил фаервола, добавил в файл fw

#Адрес user
IP=192.168.1.35
/sbin/iptables -t filter -A INPUT -s $IP -j ACCEPT
/sbin/iptables -t filter -A FORWARD -s $IP -j ACCEPT
/sbin/iptables -t filter -A FORWARD -d $IP -j ACCEPT
/sbin/iptables -t filter -A OUTPUT -d $IP -j ACCEPT

Рестарт фаервола для обнуления таблицы

/etc/rc.d/init.d/iptables restart

Проверка

[[email protected] vitiv]# /sbin/iptables -nL
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Старт фаервола /etc/stargazer/fw

[[email protected] vitiv]# /sbin/iptables -nL
Chain INPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           
ACCEPT     all  --  0.0.0.0/0            127.0.0.1           
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp spt:53 
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp spt:53 
ACCEPT     all  --  192.168.1.35         0.0.0.0/0           
ACCEPT     tcp  --  192.168.1.0/24       192.168.1.5         tcp dpt:5555 
ACCEPT     udp  --  192.168.1.0/24       192.168.1.5         udp spt:5555 dpt:5555 
ACCEPT     tcp  --  192.168.1.0/24       192.168.1.5         tcp dpt:80 

Chain FORWARD (policy DROP)
target     prot opt source               destination         
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp spt:53 
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:53 
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp spt:53 
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:53 
ACCEPT     all  --  192.168.1.35         0.0.0.0/0           
ACCEPT     all  --  0.0.0.0/0            192.168.1.35        

Chain OUTPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           
ACCEPT     all  --  127.0.0.1            0.0.0.0/0           
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:53 
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:53 
ACCEPT     all  --  0.0.0.0/0            192.168.1.35        
ACCEPT     tcp  --  192.168.1.5          192.168.1.0/24      tcp spt:5555 
ACCEPT     udp  --  192.168.1.5          192.168.1.0/24      udp dpt:5555 
ACCEPT     tcp  --  192.168.1.5          192.168.1.0/24      tcp spt:80

 

По идее на 192.168.1.35 инет должен появиться? А его нет, поправьте если я ошибаюсь, спасибо!

Не могу понять как при таких правилах работает NAT...

 

Если на время отложить в сторону сам stargzer оставив только его правила, файл fw, по идее внося принудительные

изменения в настройки в fw должны ж происходить изменения?

 

Пока тупик, выясняю правильность работы iptables в CentOS...попытаюсь сделать и запустить элементарные правила для Роутера...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как я понял правила в fw не Вы писали, поэтому было бы логично убрать все правила iptables и написать их заново и осознанно в OnConnect и OnDisconnect.

Ну а после этого уже модифицировать стартовый скрипт fw.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А что в таблице nat?

$ iptables -t nat -nL

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Попробуйте заменить

 

#Маскарад
iptables -t nat -A POSTROUTING -d 0.0.0.0/0 -j MASQUERADE

 

на

 

#Маскарад
iptables -t nat -A POSTROUTING -p all -s $net_cli -o $iface_world -j MASQUERADE
iptables -t nat -A POSTROUTING -p all -d $net_cli -o $iface_world -j MASQUERADE

 

И покажите состояние фаервола после этого

 

/sbin/iptables -t nat -nL
/sbin/iptables -nL

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как я понял правила в fw не Вы писали, поэтому было бы логично убрать все правила iptables и написать их заново и осознанно в OnConnect и OnDisconnect.

Ну а после этого уже модифицировать стартовый скрипт fw.

Действительно за основу был взят готовый скрипт,

к сожалению для данной версии stargazer+CentOS в инстале нет ни примеров ни описания...

то, что находится в док на сайте видимо устарело или не соответствует...

Воспользуюсь Вашим советом, спасибо!

Может кто нибудь ещё присоединится и выскажет своё мнение в отношении данных скриптов(fw OnConnect OnDisconnect)применимых к stargazer+CentOS?

 

p/s после изучения тонкостей данную тему обязательно закончу

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Может вы дадите шел?

А то угадывать долго, что там и как.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как я понял правила в fw не Вы писали, поэтому было бы логично убрать все правила iptables и написать их заново и осознанно в OnConnect и OnDisconnect.

Ну а после этого уже модифицировать стартовый скрипт fw.

Действительно за основу был взят готовый скрипт,

к сожалению для данной версии stargazer+CentOS в инстале нет ни примеров ни описания...

то, что находится в док на сайте видимо устарело или не соответствует...

Воспользуюсь Вашим советом, спасибо!

 

Не устарело и соответствует. Просто требует понимания работы iptables и NAT. Устарела только документация по сборке.

 

Может кто нибудь ещё присоединится и выскажет своё мнение в отношении данных скриптов(fw OnConnect OnDisconnect)применимых к stargazer+CentOS?

 

p/s после изучения тонкостей данную тему обязательно закончу

Скрипты применимы, но опять же, требуется четкое понимание принципов работы файрвола.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×