Перейти до

Инсталяция под 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

Ссылка на сообщение
Поделиться на других сайтах
  • Відповіді 64
  • Створено
  • Остання відповідь

Top Posters In This Topic

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

 

[vitiv@localhost ~]$ 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

[root@localhost /]# /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

[root@localhost /]# cat /proc/sys/net/ipv4/ip_forward
1

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

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

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

[root@localhost /]# /etc/rc.d/init.d/iptables -nL
Применение: /etc/rc.d/init.d/iptables {start|stop|restart|condrestart|status|panic|save}
[root@localhost /]# /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

 

[root@localhost 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

         
[root@localhost 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. Попробуй запустить их вручную и посмотреть добавляются ли правила в файрвол.

 

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

[root@localhost /]# /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

[root@localhost 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

[root@localhost 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

[root@localhost 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

[root@localhost 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

 

 

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

[root@localhost 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

Проверка

[root@localhost 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

[root@localhost 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.

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

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

 

#Маскарад
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 користувачів

    Немає користувачів, що переглядають цю сторінку.


×
×
  • Створити нове...