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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this