:log info "********open**************";
/ip dns cache flush
:local currentip [:resolve office.no-ip.org];
:log info "IP VPN Server $currentip";
:local tempip [/interface l2tp-client get [/interface l2tp-client find name="l2tp-office"] connect-to];
:log info "Connect To $tempip";
:if ($currentip != $tempip) do={
:log info "Menyaem IP adress server VPN"
:log info "office.no-ip.org $currentip"
/int l2tp-client set l2tp-ykdav connect-to=$currentip
}
:log info "*********close*************";
взято от суда http://pcrouter.ru/ipb/index.php?showtopic=315
Этот скрипт делает следующее:
1. резольвит IP удаленного офиса, к которому нужно подключиться
2. находит текущий IP удаленного офиса у себя
3. если эти адреса не совпадают, то изменяет IP адрес в VPN соединении на реально существующий
4. Скрипт работает как с dyndns.org так и с no-ip.org или подобными сервисами
P.S. Чем полезен скрипт ? Тем что его можно запустит на запуск хоть через каждую минуту. И не будет переключения как в примере http://wiki.mikrotik.com/wiki/VPN_%28an ... _addresses со скриптом SetL2TP
:global newr1 [:resolve hostname.changeip.org]
/int l2tp-client set l2tp-BL connect-to=$newr1
:log info "SetL2TPscript:Changing IP"
Который рвет и заново устанавливает соединение.
Извините много инфы пишется в логи но потом будет удобнее читать скрипт и смотреть на чем он остановился.
Скрипт изменяющий IP в L2TP клиенте на основе dyndns
Правила форума
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
-
- Сообщения: 24
- Зарегистрирован: 15 фев 2021, 08:23
А почему имена л2тп-клиентов разные (да, я тот ещё некропостер)?
Короче говоря, поправил имена и причесал скрипт, чтобы в лог писал только если меняется адрес сервера.
/ip dns cache flush
:local currentip [:resolve ваше_дднс_имя];
:local tempip [/interface l2tp-client get [/interface l2tp-client find name="ваш_л2тп_клиент"] connect-to];
:if ($currentip != $tempip) do={
:log warning "VPN server IP changed to $currentip"
/int l2tp-client set ваш_л2тп_клиент connect-to=$currentip
}
Запихал в шедулер, проверил, работает. И все это ради того, чтобы принципиально не платить ростелекому 200 рублей за статику (да, это очень, очень дорого).
Upd.: оптимизировал. Незачем чистить кэш и резолвить адрес каждую минуту. Скрипт пихаешь в шедулер, в ппп-профиле на даун выполняешь /system scheduler enable имя задания, на ап, соответственно, /system scheduler disable имя задания.
Короче говоря, поправил имена и причесал скрипт, чтобы в лог писал только если меняется адрес сервера.
/ip dns cache flush
:local currentip [:resolve ваше_дднс_имя];
:local tempip [/interface l2tp-client get [/interface l2tp-client find name="ваш_л2тп_клиент"] connect-to];
:if ($currentip != $tempip) do={
:log warning "VPN server IP changed to $currentip"
/int l2tp-client set ваш_л2тп_клиент connect-to=$currentip
}
Запихал в шедулер, проверил, работает. И все это ради того, чтобы принципиально не платить ростелекому 200 рублей за статику (да, это очень, очень дорого).
Upd.: оптимизировал. Незачем чистить кэш и резолвить адрес каждую минуту. Скрипт пихаешь в шедулер, в ппп-профиле на даун выполняешь /system scheduler enable имя задания, на ап, соответственно, /system scheduler disable имя задания.
-
- Сообщения: 1657
- Зарегистрирован: 15 сен 2017, 09:03
Изящно. Возьмем на заметку.
фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
viewtopic.php?f=14&t=13947