Как скриптом получить текущее значение в поле Server Address

Обсуждение ПО и его настройки
Ответить
wolf_ktl
Сообщения: 417
Зарегистрирован: 25 июн 2013, 18:12

Как скриптом получить текущее значение в поле Server Address в L2TP соединении?


Vladimir22
Сообщения: 561
Зарегистрирован: 09 дек 2012, 17:12

у вас я так понгимаю динамический адресс сервера ?!

Код: Выделить всё

# Define User Variables 
:global dnshost "имя хоста "
:global pptpiface "имя интерфейса "

:if ([interface pptp-client get $pptpiface running] = false) do={
/ip dns cache flush
:local currentip [:resolve $dnshost]
/interface pptp-client set [/interface pptp-client find name="$pptpiface"] connect-to=$currentip
:log info "PPTP_CHG_IP: IP changed new $currentip"
}


подпилите для себя


wolf_ktl
Сообщения: 417
Зарегистрирован: 25 июн 2013, 18:12

Vladimir22 писал(а):у вас я так понгимаю динамический адресс сервера ?!

Код: Выделить всё

# Define User Variables 
:global dnshost "имя хоста "
:global pptpiface "имя интерфейса "

:if ([interface pptp-client get $pptpiface running] = false) do={
/ip dns cache flush
:local currentip [:resolve $dnshost]
/interface pptp-client set [/interface pptp-client find name="$pptpiface"] connect-to=$currentip
:log info "PPTP_CHG_IP: IP changed new $currentip"
}


подпилите для себя



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


wolf_ktl
Сообщения: 417
Зарегистрирован: 25 июн 2013, 18:12

:local currentvhnip [:resolve offfice.no-ip.org]

:local tmpvhnip [/interface l2tp-client get [/interface l2tp-client find name="l2tp-ykdav"] connect-to]
:log info "IP VPN Server $currentvhnip"
:log info "Connect To $tmpvhnip"
:if ($currentvhnip = $tmpvhnip) do = {
:log info "Smena VPN Servera"
}

Не могу понять почему не работает условие if ... Даже если значения $currentvhnip и $tmpvhnip равны


wolf_ktl
Сообщения: 417
Зарегистрирован: 25 июн 2013, 18:12

Все заработало после перепрошивки на новую версию во вкладке Environment было много херни


wolf_ktl
Сообщения: 417
Зарегистрирован: 25 июн 2013, 18:12

Скрипт готов viewtopic.php?f=14&t=3986


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

Не хочу плодить темы, в этой будет вроде правильно спросить.
Получаю адрес от прова динамически. После нескольких тем на форуме о скриптах и динамических адресах, попробовал просто извлечь адрес:

Код: Выделить всё

:local newIP [/ip address get [find interface="ether1"] address];
:log info $newIP;

ether1 - интерфейс, который смотрит на прова
Не срабатывает, пишет в логах : script error: invalid internal item number
Причем, если ether1 заменить на bridge1 всё отлично срабатывает и в логах видим: 192.168.1.1/24

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


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

podarok66 писал(а):Не хочу плодить темы, в этой будет вроде правильно спросить.
Получаю адрес от прова динамически. После нескольких тем на форуме о скриптах и динамических адресах, попробовал просто извлечь адрес:

Код: Выделить всё

:local newIP [/ip address get [find interface="ether1"] address];
:log info $newIP;

ether1 - интерфейс, который смотрит на прова
Не срабатывает, пишет в логах : script error: invalid internal item number
Причем, если ether1 заменить на bridge1 всё отлично срабатывает и в логах видим: 192.168.1.1/24

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



Попробуй так
:local newIP [/ip address get [find interface="ether1" disabled=no] address]


wolf_ktl
Сообщения: 417
Зарегистрирован: 25 июн 2013, 18:12

wolf_ktl писал(а):
podarok66 писал(а):Не хочу плодить темы, в этой будет вроде правильно спросить.
Получаю адрес от прова динамически. После нескольких тем на форуме о скриптах и динамических адресах, попробовал просто извлечь адрес:

Код: Выделить всё

:local newIP [/ip address get [find interface="ether1"] address];
:log info $newIP;

ether1 - интерфейс, который смотрит на прова
Не срабатывает, пишет в логах : script error: invalid internal item number
Причем, если ether1 заменить на bridge1 всё отлично срабатывает и в логах видим: 192.168.1.1/24

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


У тебя какое интернет соединение?


Попробуй так

:local inetinterface "l2tp-flex"

:local newIP [/ip address get [find interface="$inetinterface" disabled=no] address]



l2tp-flex - где это название L2TP соединение ..


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

Спасибо, всё заработало. Достаточно было при создании скрипта указать

Код: Выделить всё

policy=reboot, write, test, siff, read, policy, password, sensitive

Кусок кода взял Ваш:

Код: Выделить всё

:local in "ether2"

:local newIP [/ip address get [find interface="$in" disabled=no] address]

:log info $newIP


В логах получил IP-адрес на интерфейсе (Получаю через DHCP-client от провайдера динамический). Буду дописывать скриптик, когда время будет.


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