Страница 2 из 3
Re: Mikrotik vrrp медленное переключение
Добавлено: 26 ноя 2014, 14:11
Senter
Произойдет, если мастер владелец виртуального адреса. Этот параметр нужен для борьбы Slave между собой, имхо.
Ну у меня так и получается, что виртуальный адрес не присвоен кому-либо на интерфейс, так что 2 Slave один из которых несколько главнее.
Могу предположить, что на на свиче поднят STP, который блокирует порт, когда увидит на нем тот же МАС адрес, что и на другом, на входящем фрейме.
В качестве свитча стоил D-Link DES1008(другого под рукой нет, если только еще один RouterBOARD как свитч попробовать).
Re: Mikrotik vrrp медленное переключение
Добавлено: 26 ноя 2014, 14:49
vviz
Senter писал(а):Произойдет, если мастер владелец виртуального адреса. Этот параметр нужен для борьбы Slave между собой, имхо.
Ну у меня так и получается, что виртуальный адрес не присвоен кому-либо на интерфейс, так что 2 Slave один из которых несколько главнее.
Могу предположить, что на на свиче поднят STP, который блокирует порт, когда увидит на нем тот же МАС адрес, что и на другом, на входящем фрейме.
В качестве свитча стоил D-Link DES1008(другого под рукой нет, если только еще один RouterBOARD как свитч попробовать).
Думается, лучше бы сделать исходя из описания работы и настройки vrrp как такового
https://ru.wikipedia.org/wiki/VRRPhttp://wiki.mikrotik.com/wiki/VRRPа после того как все заведтся уже крутить под себя.
ЗЫ: STP на таком длинке вроде бы нет.
Re: Mikrotik vrrp медленное переключение
Добавлено: 27 ноя 2014, 13:34
Senter
Пробовал выставлять 10.10.10.1 как основной адрес на master, всеравно ситуация та-же. Может есть какие другие методы "Железного" резервирования Микротиков?
Re: Mikrotik vrrp медленное переключение
Добавлено: 27 ноя 2014, 13:41
DeLL
Метод проверки какой? пинги во внешку?
Re: Mikrotik vrrp медленное переключение
Добавлено: 27 ноя 2014, 14:10
Senter
Метод проверки какой? пинги во внешку?
Давайте я опишу, что вообще сделать пробовал на основе vrrp:
Задача: резервирования роутера.
Суть такова, есть 2 провайдера и одна внутренняя сеть. Каждый из провайдеров заведен в каждый из микротиков(mac на соответствующих интерфейсах естественно одинаковые). LAN интерфейсы объеденены по vrrp. У Master включены wan порты. На Slave скрипт наблюдает за vrrp, если он становится владельцем виртуального адреса(master помер), то включает у себя wan порты, когда он перестает быть владельцем виртуального адреса wan порты выключаются. На master подобный скрипт, который выключает wan если теряет контроль над виртуальным адресом. Да, в этой схеме есть определенное число недостатков, но другогой не придумал.

И в принципе оно работает, только vrrp переключается не совсем мгновенно.
Re: Mikrotik vrrp медленное переключение
Добавлено: 27 ноя 2014, 15:11
DeLL
Я особо не вдавался в подробности работы протокола и что он делает с сессиями и соединениями во время переключения, но VRRP поднимаю и на внешку, благо статика.
Щас еще стенд подниму потестирую...
Re: Mikrotik vrrp медленное переключение
Добавлено: 27 ноя 2014, 15:22
Senter
VRRP поднимаю и на внешку
У меня на внешке динамика будет, к тому-же провайдерская, не знаю как они отнесутся к такому.
Вообще сейчас(сделал по инструкции с xgu) работает относительно быстро(20 сек маскимальное переключение было)
M1-Master
Код: Выделить всё
/interface vrrp
add interface=br1 name=vrrp-lan priority=254 version=2 vrid=100
/ip address
add address=10.10.10.1/24 interface=br1 network=10.10.10.00
add address=10.10.10.1/32 interface=vrrp-lan network=10.10.10.1
M2-Slave
Код: Выделить всё
/interface vrrp
add interface=br1 name=vrrp-lan priority=250 version=2 vrid=100
/ip address
add address=10.10.10.2/24 interface=br1 network=10.10.10.0
add address=10.10.10.1/32 interface=vrrp-lan network=10.10.10.1
Только в таком режиме на Master vrrp интерфейс всегда в состоянии MR, нужно скрипт другой писать, так что продолжаю тестировать...
UPD:
Скрипты переключалки(включают/выключают wan)
M1-Master(тут использую ping, ибо по другому не получается)
Код: Выделить всё
#:local vrrpif "vrrp-lan"
:local wan1if "eth1-wan1"
:local wan2if "eth2-wan2"
:if ([/ping interval=0.2 count=4 address=10.10.10.2]!=4) do={
:if (([/interface get $wan1if disabled]=false) or ([/interface get $wan2if disabled]=false)) do={
# /interface disable $wan1if
/interface disable $wan2if
}
} else={
:if (([/interface get $wan1if disabled]=true) or ([/interface get $wan2if disabled]=true)) do={
# /interface enable $wan1if
/interface enable $wan2if
}
}
M2-Slave(проверяет состояние vrrp интерфейса)
Код: Выделить всё
:local vrrpif "vrrp-lan"
:local wan1if "eth1-wan1"
:local wan2if "eth2-wan2"
:if ([/interface get $vrrpif running]=false) do={
:if (([/interface get $wan1if disabled]=false) or ([/interface get $wan2if disabled]=false)) do={
# /interface disable $wan1if
/interface disable $wan2if
}
} else={
:if (([/interface get $wan1if disabled]=true) or ([/interface get $wan2if disabled]=true)) do={
# /interface enable $wan1if
/interface enable $wan2if
}
}
[РЕШЕНО]Re: Mikrotik vrrp медленное переключение
Добавлено: 27 ноя 2014, 17:58
Senter
Продолжая(надуюсь что Завершая) эпопею. Решил отказаться от vrrp и использовать 5 порт(соеденил кабелем, выдал адреса из /30 подсети) для проверки того жива вторая железяка или нет.
M1-master:
Код: Выделить всё
:local wan1if "eth1-wan1"
:local wan2if "eth2-wan2"
:local lanif "eth3-lan"
:local manif "eth5-man"
:local neigh
:if ([/system identity get name]~"slave") do={
:set neigh 10.10.10.253
} else={
:set neigh 10.10.10.254
}
:if ([/ping count=4 interval=0.2 interface=$manif address=$neigh]=4) do={
:if (([/interface get $wan1if disabled]=true) or ([/interface get $wan2if disabled]=true)) do={
/interface enable $wan1if
/interface enable $wan2if
/interface enable $lanif
}
} else={
:if (([/interface get $wan1if disabled]=false) or ([/interface get $wan2if disabled]=false)) do={
/interface disable $wan1if
/interface disable $wan2if
/interface disable $lanif
}
}
M2-Slave:
Код: Выделить всё
:local wan1if "eth1-wan1"
:local wan2if "eth2-wan2"
:local lanif "eth3-lan"
:local manif "eth5-man"
:local neigh
:if ([/system identity get name]~"slave") do={
:set neigh 10.10.10.253
} else={
:set neigh 10.10.10.254
}
:if ([/ping count=4 interval=0.2 interface=$manif address=$neigh]!=4) do={
:if (([/interface get $wan1if disabled]=true) or ([/interface get $wan2if disabled]=true)) do={
/interface enable $wan1if
/interface enable $wan2if
/interface enable $lanif
}
} else={
:if (([/interface get $wan1if disabled]=false) or ([/interface get $wan2if disabled]=false)) do={
/interface disable $wan1if
/interface disable $wan2if
/interface disable $lanif
}
}
На интерфейсах которые включаются/выключаются назначены одинаковые mac(попарно естественно). Скрипты выполняются каждые 10 секунд(можно 5), в итоге максимальное время переключения 20 секунд. Завтра тестировать с провайдерами осталось. и сделать не таким быдлокодом как сейчас конечно-же....
Re: Mikrotik vrrp медленное переключение
Добавлено: 28 ноя 2014, 18:14
DeLL
Потестил немного работу сабжевого протокола.
Версия 2 при ежесекундной проверке нормально отрабатывает отключение мастера (по питанию). Тестировал сразу с четырьмя VRRP-интерфейсами. Один на внешку (серая сеть прова) и три внутренних.
Во время переключения пропадает всего 1 эхо-ответ (пинг), онлайн-радио замолкает, закачки останавливаются, точнее "зависают". Проверял на Даунлоад Мастере. Можно сделать вывод, что соединения просто сбрасываются.
Быстрое возвращение мастера в строй и перехват на себя всех привилегий, однако, не рвет соединения. ДМ продолжает качать, радио не замолкает и пинги не теряются.
Но замечен глюк: после возвращения мастера в строй и захват полномочий - слейв каждый раз рандомно оставляет один из интерфейсов VRRP в состоянии мастера, при этом на другом маршрутизаторе этот интерфейс тоже в состоянии мастера! Каких-либо закономерностей не обнаружил, досконально проверить работу данных интерфейсов не смог. Вроде бы работает =)
В логе только одна строчка:
Код: Выделить всё
vrrp,warning vrrp-WORK received packet with bad checksum
Настройки на обоих маршрутизаторах такие:
/interface vrrp
add authentication=simple interface=ether5 name=vrrp-GUEST password=2010 \
priority=50 version=2 vrid=100
add authentication=simple interface=ether1 name=vrrp-INTERNET password=2011 \
priority=50 version=2
add authentication=simple interface=ether4 name=vrrp-STAFF password=2010 \
priority=50 version=2 vrid=16
add authentication=simple interface=ether3 name=vrrp-WORK password=2010 \
priority=50 version=2 vrid=10
/ip address
add address=192.168.33.199/24 interface=ether1 network=192.168.33.0
add address=192.168.10.3/24 interface=ether3 network=192.168.10.0
add address=172.16.0.3/24 interface=ether4 network=172.16.0.0
add address=10.0.0.3/24 interface=ether5 network=10.0.0.0
add address=192.168.10.1/32 interface=vrrp-WORK network=192.168.10.1
add address=172.16.0.1/32 interface=vrrp-STAFF network=172.16.0.1
add address=10.0.0.1/32 interface=vrrp-GUEST network=10.0.0.1
add address=192.168.33.253/32 interface=vrrp-INTERNET network=192.168.33.253
PS. Закономерность все-таки обнаружил.
По какой-то причине на мастере один из VRRP-интерфейсов перестает слать свои объявления. Счетчик пакетов Tx - ноль. На другом маршрутизаторе поэтому активируется этот интерфейс тоже в состояние мастера с записью в лог:
master down timer
Re: Mikrotik vrrp медленное переключение
Добавлено: 01 дек 2014, 09:42
Senter
А чем соеденнены маршрутизаторы между собой, я понимаю что свитч, но какой: управляемый, нет, если управляемый то используете deleteOnTimeout?