Перейти до

при запуске из rc.local не работают OnConnect OnDi


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

Такая трабла: при запуске stargeizer из rc.local командой /sbin/stargeizer, не пускает пользователей в интернет. У меня такое подозрение, что не выполнянтся OnConnect и OnDisconnect, т.к. ping в интернет с клиентских машин проходит, сам сервер работает. Если теперь после загрузки сделать killall stargazer и запустить заново, все начинает работать. Пробовал запускать через /etc/init.d/stargazer - вообще ни как, не из автозагрузки не из консоли.

В логах все нормально - сервер запускается, пользователь подключается.

Релиз stargazer последний.

ОС: Fedora Core 3

NEED HELP.

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

проверь правильно ли у тебя написына твои OnConnect и OnDisconnect... если там ошибка то они и не будут пускать пользователей .... запуси их или отдель с консоли с параметрами ... или добавь в самый конец запись "echo User $1 Connected >> /var/log/stg_conn.log" типа такого ... если лог не появится то в скриптах ошибка ..

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

Попробовал запустить OnConnect вручную. У юзера которого запустил инет заработал, причем если в клиенте нажать отключиться инет продолжает работать, т.е. 100% не выполнябться скрипты OnConnect и OnDisconnect.

Причем если сделать:

killall stargazer

/sbin/stargazer

Все встает на свои места.

Т.е. как я писал ранее эта проблема появляеться только при автозагрузке из rc.local.

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

если ты его запускаешЪ просто "/sbin/stargazer" он и не будет работать ... пропиши там "/etc/init.d/stargazer start" или "/sbin/stargazer /etc/stargazer" а вообще для этихЪ целей есть /etc/rc.d/rc3.d

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

Это все пробовал, не работает. Работает только если запустить

/sbin/stargazer

из консоли.

Кстати как пожелание разработчику (если будет читать эту тему), добавить в /etc/init.d/stargazer поддержку chkconfig и добавить скрипт OnRun, который запускался бы перед запуском демона stargazer. Что бы туда можно было внести предварительные настройки firewall (в примере конфигурирования linux это /etc/stargazer/fw).

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

да кстати ... добавь всетаки строчку "echo User $1 Connected >> /var/log/stg_conn.log" в конец OnConnect ... и когда не пускает пользователя в инет проверь появляется ли запись...

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

Добавил. Как я и говорил при автозагрузке в /var/log/stg_conn.log не пишется. Убиваю демон в консоли, запускаю заново - пишется.

Вот файлы, но они стандартные из примеров:

 

OnConnect

ip=$2

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

ip=$2

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

fw

#!/bin/bash

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

#Адреса роутера
server0=10.10.0.1

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

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

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

# Разрешаем форвардинг пакетов между интерфейсами
# Эта штука необязательна, просто в некоторых дистрибутивах
# по умолчанию форвардинг разрешен, а в некоторых - запрещен
# Если мы подстрахуемся, хуже не бкдет
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 $admin -d $server0 --dport 22 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp -d $admin -s $server0 --sport 22 -j ACCEPT

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

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

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

stargazer.conf

# Файл настроек сервера stargazer

# Имя файла в котором определяются правила подсчета трафика
rules=/etc/stargazer/rules

# Рабочая директория сервере, тут содержатся данный о тарифах, изерах и админах
WorkDir=/var/stargazer/

# Имя лог файла куда пушутся события
LogFile=/var/log/stargazer.log

# Если юзер в течение UserTimeout секунд не подает признаков жизни, сервер отключит его
# (естественно, если клиент был подключен до этого)
UserTimeout=90

# Время через которое сервер повторяет проверку того, жив ли клиент. Также это время
# через которое у клиента обновляется его статитстика. UserDelay должно быть в
# 3...10 раз меньше чем UserTimeout
UserDelay=10

# Эта опция действительна только для сервера работающего со вторым типом тарифных планов
# Она определяет что будет передаватся программе InetAccess от сервера
# FreeMb = 0 - кол-во бесплатных мегабайт в пресчете на цену нулевого направления
# FreeMb = 1 - кол-во бесплатных мегабайт в пресчете на цену первого направления
# FreeMb = 2 - кол-во бесплатных мегабайт в пресчете на цену второго направления
# FreeMb = 3 - кол-во бесплатных мегабайт в пресчете на цену третьего направления
# FreeMb = cash - кол-во денег на которые юзер может бесплатно качать
# FreeMb = none - ничего не передавать
FreeMb=0

# Время через которое пишется детальная статистика
# возможные значения 3, 2, 1, 1/2, 1/4, 1/6
# 3 - раз в три часа, 1 - раз в чаc, 1/2 - раз в пол часа, 1/6 - раз в 10 мин
StatTime=1/6

# Номер порта по которому сервер слушает обращения конфигуратора
adminPort=4444

# Номер порта по которому сервер ожидает обращения авторизатора
userPort=4444

# Максимальное кол-во юзеров. Эта величина влияет на кол-во памяти необходимой серверу
MaxUsers=100

# for FreeBSD only
# Имя интерфейсов на которых нужно вести подсчет трафика
# iface=ed0,ed1,rl0

# Опция определяющая менять ли местами upload и download
TurnTraff=no

# День снятия
DayFee=1

DayResetTraff=1

DirName0=Local
DirName1=Internet
DirName2=
DirName3=
DirName4=
DirName5=
DirName6=
DirName7=
DirName8=
DirName9=

SpreadFee=no

StatOwner=root
StatGroup=root
StatMode=640

ConfOwner=root
ConfGroup=root
ConfMode=600

UserLogOwner=root
UserLogGroup=root
UserLogMode=640

AdminOrder=allow,deny
AdminAllowFrom=all

UserOrder=allow,deny
UserAllowFrom=all

FloodControl=yes

#FreeMbAllowInet=yes

#BigDB=no

Ссылка на сообщение
Поделиться на других сайтах
# Разрешить серверу общаться со внешним миром

iptables -t filter -A INPUT -i $iface_world -j ACCEPT

iptables -t filter -A OUTPUT -o $iface_world -j ACCEPT

зря конечно с такой доверчивостью открывать доступ миру :)))

 

ну да ладно ...

попробуй сделать немного по другому ... удали все касательно старгейзера из rc.local..

cd /etc/rc.d/rc3.d

cp -s /etc/rc.d/init.d/stargazer ./S99stargazer

 

есть ли у тебя пользователи постоянно онлайн ?

если нет сделай одного

перегрузи машину.. и проверь работает ли пользователь который постоянно в онлайн... ну и другие тоже

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

Только вчера инет по нашей локалке начал раздавать, скоро и до firewall доберусь.

Сделал, только естественно в /etc/init.d/stargazer в секцию start прописал /etc/stargazer/fw

Короче тоже самое, перезагружаю - не работает. Убиваю демона в консоли, запускаю /sbin/stargazer, все начинает работать. Мне кажется это ошибка.

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

это приватное сообщение ... вверху есть надпись

 

Добро пожаловать, hiot ( Выход ) Мои настройки · 1 New Messages · Просмотреть новые сообщения · Мой помощник

 

вот нажми на "1 New Messages" !

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

Спасибо.

Кажется сам разобрался.

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

#!/bin/bash

И все заработало как надо.

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

Кажется сам разобрался.

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

#!/bin/bash

И все заработало как надо.

Сколько я с этим воевал,

http://local.com.ua/forum/index.php?showtopic=2699

пока решение не нашел. он тупо нормально пашет когда запустишь именно сам.

ты в OnConect , OnDisconect вписал #!/bin/bash ??

 

завтро проверю )))

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

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

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

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

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

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

Вхід

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

Войти сейчас
  • Зараз на сторінці   0 користувачів

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

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