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

DHCP client renew

Добавлено: 11 сен 2013, 18:04
kolbac
Добрый день!
Микротик RB751G-2HnD v.6.3 получает ip-адрес по DHCP от провайдера, в случае поломки сети и последующего восстановления микротик не пингует шлюз, помогает dhcp renew. Как прописать скрипт обновления ip-адреса в таких ситуациях? Найденный в инете скрипт выдает ошибку - :if ( [/ping 192.168.13.254 interface=ether1-gateway count=6 ] = 0 ) do={/ip dhcp-client renew ether1-gateway}
syntax error (line 1 column 96)

Re: DHCP client renew

Добавлено: 11 сен 2013, 18:31
podarok66
Если судить по логу, ошибка с 96 символа. То есть в выражении:/ip dhcp-client renew ether1-gateway то, что синим не правильно. Там требуется подставить номер клиента по результату команды

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

/ip dhcp-client print

Если у Вас клиент задействован один, то номер будет 0. Отсюда, Ваш скрипт должен выглядеть так:

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

:if ( [/ping 192.168.13.254 interface=ether1-gateway count=6 ] = 0 ) do={/ip dhcp-client renew 0}

Но мне как-то это кажется не очень правильным именно номер подставлять. Может лучше в скрипте организовать поиск по порту? Что-то типа такого:

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

:if ( [/ping 192.168.13.254 interface=ether1-gateway count=6 ] = 0 ) do={/ip dhcp-client renew [/ip dhcp-client find interface=ether1-gateway]}

Только Вы уж пожалуйста проверьте, я на коленке писал, мог где-то накосячить.

Re: DHCP client renew

Добавлено: 11 сен 2013, 18:56
yreks
У меня вот так сделано
/tool netwatch
add comment="ip dhcp-client reconnect" down-script=":delay 25s;\r\
\n/ip dhcp-client disable 0 ;\r\
\n:delay 5s;\r\
\n/ip dhcp-client enable 0 ;\r\
\n:log warning \"ip dhcp-client reconnect\";" host=8.8.8.8 interval=5m
Работает........

Re: DHCP client renew

Добавлено: 11 сен 2013, 19:07
kolbac
podarok66 писал(а):Но мне как-то это кажется не очень правильным именно номер подставлять. Может лучше в скрипте организовать поиск по порту? Что-то типа такого:

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

:if ( [/ping 192.168.13.254 interface=ether1-gateway count=6 ] = 0 ) do={/ip dhcp-client renew [/ip dhcp-client find interface=ether1-gateway]}

Только Вы уж пожалуйста проверьте, я на коленке писал, мог где-то накосячить.

Спасибо, сработало!

Re: DHCP client renew

Добавлено: 11 сен 2013, 19:16
kolbac
yreks писал(а):У меня вот так сделано
/tool netwatch
add comment="ip dhcp-client reconnect" down-script=":delay 25s;\r\
\n/ip dhcp-client disable 0 ;\r\
\n:delay 5s;\r\
\n/ip dhcp-client enable 0 ;\r\
\n:log warning \"ip dhcp-client reconnect\";" host=8.8.8.8 interval=5m
Работает........

Спасибо, потестирую!

Re: DHCP client renew

Добавлено: 11 сен 2013, 19:53
podarok66
Тут весь вопрос в том, что просто статически вписывать номер dhcp-client тактически не очень корректно. Хотя, если у Вас один клиент и никаких добавлений не предвидится, то можно и с номером оставить. Мой вариант более гибок, ведь поиск можно организовать не по интерфейсу, а , скажем, по комментарию. Что гарантирует уникальность. Кстати, я получаю инет подобным способом, но проблем с подключением пока не наблюдал. Как только появляется связь, роутер незамедлительно получает адрес. И подобного направления скрипт у меня лишь периодически проверяет совпадение старого адреса с новым и при расхождении переписывает правило в NAT (правило не очень актуальное, проверки поставил раз в час). Довольно давно скрипт работает, я про него даже не вспоминаю.

Re: DHCP client renew

Добавлено: 26 фев 2024, 12:28
Dominik
SXT-R настроен на passthrough на hap ac lite, в свою очередь DHCP client получает адрес с него на порт lte_mngmt
DNS server (Ad-guard 192.168.2.19) настроен на сервере в локалке 192.168.2.0/25
Хочу пропищат скрипт в DHCP Client yf SXT-R чтобы когда меняется DNS сервер на hap-ac lite, также обновляйся DHCP client на SXT-R
Пробовал:

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

:if ( [/ping 192.168.2.19 interface=lte_mngmt count=3] = 0 ) do={ /ip dhcp-client renew  numbers=0 } else={ /ip dhcp-client release numbers=0 }
Почему в поле DHCP Client на SXT-R скрипт не срабатывает, а в Scheduler срабатывает!
Сможете помочь?