Страница 1 из 1

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

Добавлено: 25 июл 2013, 09:45
wolf_ktl
Как скриптом получить текущее значение в поле Server Address в L2TP соединении?

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

Добавлено: 25 июл 2013, 12:30
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"
}


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

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

Добавлено: 25 июл 2013, 13:38
wolf_ktl
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"
}


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



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

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

Добавлено: 25 июл 2013, 14:03
wolf_ktl
: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 равны

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

Добавлено: 25 июл 2013, 17:01
wolf_ktl
Все заработало после перепрошивки на новую версию во вкладке Environment было много херни

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

Добавлено: 25 июл 2013, 17:11
wolf_ktl
Скрипт готов viewtopic.php?f=14&t=3986

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

Добавлено: 29 июл 2013, 21:04
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

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

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

Добавлено: 01 авг 2013, 08:18
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 newIP [/ip address get [find interface="ether1" disabled=no] address]

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

Добавлено: 01 авг 2013, 08:19
wolf_ktl
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 соединение ..

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

Добавлено: 01 авг 2013, 19:30
podarok66
Спасибо, всё заработало. Достаточно было при создании скрипта указать

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

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 от провайдера динамический). Буду дописывать скриптик, когда время будет.