Перейти до

GetNasIP и GetNasType


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

Доброго времени суток!!

 

Я столкнулся с проблемой настройки Старгейзера в связке с несколькими микротиками (хочется чтобы была одна база и несколько серверов доступа в разных сетях)

 

не могу понять в чем проблема, не работают скрипты GetNasIP и GetNasType. я так понимаю они определяют IP наса из таблиц ubilling'а. Если прописать в скриптах принудительно IP адрес наса - то все работает. А если пробывать через скрипты определять автоматически - то ничего не происходит. Настраивал по мануалам http://wiki.ubilling...php?id=microtik

 

на серве стоит Debian с которым я не сильно в ладах, может кто сталкивался с этими скриптами-определяльщиками IP ???

 

скрипты находтся в архиве UB presets/stargazer/GetNasIP и presets/stargazer/GetNasType

Ссылка на сообщение
Поделиться на других сайтах
скрипты находтся в архиве UB presets/stargazer/GetNasIP и presets/stargazer/GetNasType

Покажите в каком контексте пытаетесь их использовать в OnConnect/OnDisconnect

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

скрипт OnConnect должен отдавать команду по ssh микортику чтото типа

 

/etc/stargazer/mk_push ${NASIP} "/ip firewall address-list add address=${IP} disabled=no list=ALLOW comment=${LOGIN}"

 

где ${NASIP} должно определяться через скрипты GetNasIp и GetNasType а этого определения не происходит. если в строку команды микротика вручную (без скрипта) прописать IP то все работает

Ссылка на сообщение
Поделиться на других сайтах
скрипт OnConnect должен отдавать команду по ssh микортику чтото типа

Я типа в курсе как это работает :)

 

Ну сделайте в OnConnect что-то типа

 

NASIP=`/etc/stargazer/GetNasIP ${LOGIN}`
echo ${NASIP} >> /var/log/nas.log

вот и увидите чего оно вам возвращает.

Ну либо что еще проще просто позапускайте руками из консоли

 

/etc/stargazer/GetNasIP [логин_существующего_абонента]

 

Естественно для подсети к которой пренадлежит абонент должен быть добавлен NAS соответствующего типа, чтобы оно в обратную сторону по логину могло айпишку NAS-а выдернуть.

 

Есть подозрения, что собака могла порыться банально в шабанге.

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

Руками если позапускать - тоже пустота?

 

А то вот, как-бы работает

[nightfly@jesus ~/dev/ubilling/]$ /etc/stargazer/GetNasIP testuser
10.10.15.20
[nightfly@jesus ~/dev/ubilling/]$

 

Хотя да, я был прав - после шабанга интерпретер, по умолчанию там точно BSD-шный воткнут. Измените его для начала. И удостоверьтесь в том, что скрипто имеет права на выполнение и в /etc/stargazer/config указаны адекватные параметры БД.

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

подозреваю чтото в файлах GetNasIP и GetNasType

 

а файлы такие и должы быть ??? или в них нужно чтото поправить?

 

#!/usr/local/bin/php

<?php

$login=$argv[1];

$config=parse_ini_file(dirname(__FILE__)."/config");

$link = mysql_connect($config['host'], $config['username'], $config['password']);

mysql_select_db($config['database']);

$ipq='SELECT `IP` FROM `users` WHERE `login`="'.$login.'"';

$ip=mysql_query($ipq);

while ($line2 = mysql_fetch_array($ip, MYSQL_ASSOC)) {

foreach($line2 as $ipval) {

$nasq='select `nas`.`nasip` from `nethosts` join `nas` on (`nas`.`netid` = `nethosts`.`netid`) where `nethosts`.`ip` = "'.$ipval.'"';

$nas=mysql_query($nasq);

while ($line3 = mysql_fetch_array($nas, MYSQL_ASSOC)) {

foreach($line3 as $nasip) {

print($nasip);

}

}

}....

}

 

?>

 

если запустить ручками то пишет "плохой интерпретатор: Отказано в доступе"

проверил папку /usr/local/bin/php - её небыло - создал - тоже самое

Ссылка на сообщение
Поделиться на других сайтах
а файлы такие и должы быть ??? или в них нужно чтото поправить?

да

 

если запустить ручками то пишет "плохой интерпретатор: Отказано в доступе"

ну вот - понятным же языком написано в чем проблема. Как я и пророчил - в интерпретере.

 

проверил папку /usr/local/bin/php - её небыло - создал - тоже самое

:facepalm:

это не папка, это путь к php собранному к слову с поддержкой CLI.

Подсуньте туда чего вам говорит whereis php что-ли.

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

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

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

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

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

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

Вхід

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

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

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

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