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

Помощь со скриптом.

Добавлено: 23 сен 2021, 20:48
Safgan
Всем доброго вечера.

Нужна помощь в скрипте по ловли телефон по определённому тегу. Вся суть в том , у людей есть рабочие телефоны и они подсоединены к вафли, и данные телефоны нужно пустить по другому wan, мимо основного канала который есть в офисе и используется компами ( с маршрутизации есть решение). Вся задача в том , что хочется переименовать телефоны с тэгом TH ( Пример) , и что бы микротик ловил данный тэг и перекидывал телефоны в определенный адрес лист, для дальнейшей маршрутизации. Вопрос в том , возможно ли написать скрипт для того что бы микротик ловил по ДНС ( Тэг) и переносил данные хосты в другой адрес лист.

Можно конечно пройти по всем пользователем, сделать в dhcp статику, и все статические ip перекинуть в адрес лист ( рабочий вариант).

Re: Помощь со скриптом.

Добавлено: 24 сен 2021, 10:13
Ca6ko
Safgan писал(а): 23 сен 2021, 20:48 данные телефоны нужно пустить по другому wan,
Safgan писал(а): 23 сен 2021, 20:48 пройти по всем пользователем, сделать в dhcp статику,
Выделите для этих телефонов отдельную подсеть, и всю эту сеть выводите в мир через WAN2

Re: Помощь со скриптом.

Добавлено: 24 сен 2021, 10:45
Safgan
Согласен, это можно сделать, так же как и описывал выше, можно просто привязать каждый телефон к статике и кинуть в адрес лист и пустить его через другой wan, но интереснее сделать что бы микротик сам отлавливал телефоны в Leases по тэгу и сам перекидывал в адрес лист. :men:

Re: Помощь со скриптом.

Добавлено: 24 сен 2021, 14:52
Ca6ko
Все равно нужно сначала весь список телефонов забить руками...

Re: Помощь со скриптом.

Добавлено: 24 сен 2021, 20:40
podarok66
Вся суть для вас в том, что в leases устройство может продолжать висеть достаточно долго, но в сети его уже может не быть.
Если так уж хочется возится, вот калька

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

:foreach i in=[/ip dhcp-server lease find host-name~"TH"] do={:put [/ip dhcp-server lease get $i address]}
Отправку в адрес-лист сами прикрутите. Ну и операцию :put устраните, она просто показательная, что код рабочий. Ещё надо бы прикрутить проверку, может адрес уже есть в адрес-листе.

Re: Помощь со скриптом.

Добавлено: 25 сен 2021, 13:32
Safgan
Спасибо огромное.

Re: Помощь со скриптом.

Добавлено: 28 сен 2021, 11:26
Safgan
Добрый день.

Разобрался, всем спасибо.
Уважаемые знатоки, не судите меня строго, я только новичок в написание скриптов, в продолжение разговора, помогите разобраться в дальнейшем скрипте.


:foreach i in=[/ip dhcp-server lease find host-name~"WP"] do={:pu
t {:set [ip fi ad add address=$i list=vpn_clients ]}};

не хочет добавлять ip в адрес лист выводит данную ошибку:
failure: *7 is not a valid dns name

В чем ошибка?????

Re: Помощь со скриптом.

Добавлено: 28 сен 2021, 12:05
podarok66
https://wiki.mikrotik.com/wiki/Manual:S ... ime_errors Прямо идеально описывает ваш случай....

Re: Помощь со скриптом.

Добавлено: 28 сен 2021, 12:51
Safgan
podarok66 писал(а): 28 сен 2021, 12:05 https://wiki.mikrotik.com/wiki/Manual:S ... ime_errors Прямо идеально описывает ваш случай....
Спасибо) нашел проблему, мало ли кому нужно будет.

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

 :foreach i in=[/ip dhcp-server lease find host-name~"WP"] do={/ip
 firewall address-list add list=vpn_clients address=[/ip dhcp-server lease get $i 
address]}  

Re: Помощь со скриптом.

Добавлено: 28 сен 2021, 13:11
podarok66
Что будет, если половина устройств уже в адрес-листе, а половина ещё не добавлена? Надо смотреть, я именно на этот момент обращал внимание. Скрипт может завершаться ошибкой. Именно это описано по ссылке.