Как скриптом получить текущее значение в поле Server Address
Добавлено: 25 июл 2013, 09:45
Как скриптом получить текущее значение в поле Server Address в L2TP соединении?
Форум поддержи и обмена опытом пользователей оборудования RouterBOARD и операционной системы RouterOS Латвийского производителя MikroTik
https://forummikrotik.ru/
Код: Выделить всё
# 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"
}
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"
}
подпилите для себя
Код: Выделить всё
:local newIP [/ip address get [find interface="ether1"] address];
:log info $newIP;
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
Где я торможу и что поменять в скрипте, чтобы получить адрес с интерфейса, смотрящего наружу.
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]
Код: Выделить всё
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