Скрипт проверяет доступность внешних интерфейсов удалённой площадки, и если они доступны проверяет внутренние адреса удалённой сети.
При необходимости сбрасывает установленные SA.

##############
# Flush SA script for RouterOS
# Arthur 25.01.2013
##############
 
:local Target Sklad
:local IPWatchServerExt1 8.x.x.8
:local IPWatchServerExt2 8.x.x.4
:local IPWatchServerInt1 10.x.x.1
:local IPWatchServerInt2 10.x.x.2
#######
:local StatusRemote1 [/ping $IPWatchServerExt1 count=3]
:local StatusRemote2 [/ping $IPWatchServerExt2 count=3]
#######
:if (($StatusRemote1=0) && ($StatusRemote1=0)) do={
:log info "Connection to $Target lost!!!"
} else={
:log info "Connection to $Target is OK!!!"
:local StatusIpsecT1 [/ping $IPWatchServerInt1 count=3]
:local StatusIpsecT2 [/ping $IPWatchServerInt2 count=3]
:if (($StatusIpsecT1=0) && ($StatusIpsecT2=0)) do={
:log info "IPSEC tunnel with $Target is down: Flushing Installed SA !!!"
/ip ipsec installed-sa flush sa-type=all
} else={
  :log info "IPSEC tunnel with $Target is OK !"
}}