DynDNs

Здесь выкладываем скрипты
Правила форума
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
Аватара пользователя
podarok66
Модератор
Сообщения: 4355
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

Вы бы это заметили намного раньше, если бы раскомментировали приведенный мною отрезок, а не заменяли его своими не столь нужными на этапе отладки. И добавили подобный в начало на этапе объявления глобальной переменной... Да и глобальные переменные в разных скриптах одинакового назначения нужно отслеживать всегда, и с одинаковыми названиями поаккуратнее. Пусть у каждого из них будет уникальное имя, они же дублируют работу друг друга. Ошибки могут возникать и далее.
Ну в любом случае. хорошо, что разобрались :-)


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
Аватара пользователя
PavelSES
Сообщения: 48
Зарегистрирован: 13 сен 2011, 08:30

Добрые люди подскажите пожалуйста, использую данный скрипт уже довольно давно и доволен на все 100% :)
Но возникла необходимость его немного модифицировать, в частности при изменении ip адреса на новый делать автоматически изменения на удаленном роутере dlink через ssh.
Что имеем в наличии:
1) после строчки :put ("Dyndns Update Result: " . $result) я добавил две своих строки:
1а) /ip ipsec policy set numbers=1 sa-src-address=$currentIP
1б) /system ssh address=1.2.3.4 port=221 command="set Address IP4Address VPNNets/IPSec_remote_endpoint_Pavelses Address=$currentIP \n activate \n commit" user=admin
где 1.2.3.4 ip адрес роутера Dlink.

Первая моя строка выполняется нормально, а вторая не приводит ни к каким действиям, при этом если в терминале выполнить команду
/system ssh address=1.2.3.4 port=221 command="set Address IP4Address VPNNets/IPSec_remote_endpoint_Pavelses Address=5.6.7.8 \n activate \n commit" user=admin
то все выполняется и применяется а из скрипта не срабатывает, пробовал в скрипте в своей второй строке заменить переменную $currentIP на адрес тоже не работает.
В итоге вопрос почему данная команда не отрабатывает в скрипте? Да, аутентификация с роутером происходит по ключам ssh которые импортированы в пользователя mikrotik и раз из терминала проходит команда значит с ключами все нормально?


Аватара пользователя
podarok66
Модератор
Сообщения: 4355
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

Политики безопасности не позволять Вам удаленно по ssh отработать скриптом. В разрешениях скриптов пункт ssh отсутствует вообще. Я давненько уже наталкивался на эту же проблему, к сожалению ничего не получилось в лоб решить. Если только костыль какой-нибудь городить. Тут уж у кого какая фантазия, такой и костыль. У меня, например, фантазия скудная :-)


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
Ответить