Jump to content
Калькуляторы

mikrotik резервирование канала connection reset

делал резервирование по вот этой статье

немножко отредачил скрипт, в основном ошибки форматирования

вот что у меня получилось:

:local MainIf isp1
:local RsrvIf isp2
:local PingCount 1
:local PingTargets {8.8.8.8; 8.8.4.4}

:local MainIfInetOk false

:local RsrvIfInetOk false

:local MainPings 0

:local RsrvPings 0

foreach host in=$PingTargets do={

: local res [/ping $host count=$PingCount interface=$MainIf]

: set MainPings ($MainPings + $res)

: local res [/ping $host count=$PingCount interface=$RsrvIf]

: set RsrvPings ($RsrvPings + $res)

}

:set MainIfInetOk ($MainPings >= 1)

:set RsrvIfInetOk ($RsrvPings >= 1)

:local MainGWDistance [/ip route get [find comment=MainGW] distance]

:local RsrvGWDistance [/ip route get [find comment=RsrvGW] distance]

if ($MainIfInetOk && ($MainGWDistance >= $RsrvGWDistance)) do={

/ip route set [find comment=MainGW] distance=1

/ip route set [find comment=RsrvGW] distance=2

foreach i in=[/ip firewall connection find] do={/ip firewall connection remove $i}

/log info "switched to main internet connection"
}

if (!$MainIfInetOk && $RsrvIfInetOk && ($MainGWDistance = $RsrvGWDistance)) do={

/ip route set [find comment=MainGW] distance=2

/ip route set [find comment=RsrvGW] distance=1

foreach i in=[/ip firewall connection find] do={/ip firewall connection remove $i}
/log info "switched to reserve internet connection"
}

при отключении шнурка, инет переключается на резерв и обратно, как бы все работает. но есть один подводный камень, есть sip телефоны, 20 шт. так вот они не перерегистрируются на серваке sad.gif

опытным путем понял что телефоны не закрывают коннекты и ждут ответные пакеты со старого интерфейса (тот который я выдернул)

к примеру:

Screenshot_1.jpg

тоесть видно что телефон ждет ответ по не рабочему интерфейсу.

если же этот коннект принудительно грохнуть через winbox телефон мигом делает перерегистрацию на серваке.

вопрос, как через скрипт сбросить соединение?

P.S в скрипте ведь есть строка по сбросу

foreach i in=[/ip firewall connection find] do={/ip firewall connection remove $i}

или это что то не то?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.