Mikrotik. VRRP: различия между версиями
Cless (обсуждение | вклад) (Создана пустая страница) |
Cless (обсуждение | вклад) |
||
| Строка 1: | Строка 1: | ||
= Description = | |||
Для обмена служебными сообщениями маршрутизаторы должны находиться в одном широковещательном домене 192.168.111.0/24. Кроме того, адрес виртуального маршрутизатора также принадлежит этой сети, но с более узкой маской – 192.168.25.254/32 (если использовать одинаковые маски на физическом и виртуальном интерфейсах, относящихся к одной сети, то в таблице маршрутизации будет формироваться два connected-маршрута с поддержкой ECMP и протокол VRRP может работать некорректно). | |||
В процессе обмена служебными сообщениями маршрутизаторы должны распределить между собой роли, выбрав какое из устройств будет в данный момент являться active, а какое находиться в резерве. Протокол подразумевает следующие роли: | |||
Master — маршрутизатор, являющийся активным в данный момент. Master-маршрутизатор выбирается исходя из большего приоритета, либо, если приоритеты совпадают, в соответствии с бОльшим ip-адресом интерфейса; | |||
Backup — маршрутизатор, являющийся резервным в данный момент. Backup-маршрутизаторами становятся все маршрутизаторы, не ставшие master; | |||
Owner — частный случай master, в котором ip-адрес виртуального маршрутизатора совпадает с ip-адресом интерфейса маршрутизатора. В официальной документации Микротик такая конфигурация не рекомендуется. | |||
Служебные сообщения инкапсулируются в ip-пакет со следующими специфическими параметрами: | |||
Номер протокола 112 | |||
ip-адрес отправителя ip-адрес интерфейса, ассоциированного с широковещательным доменом | |||
ip-адрес получателя 224.0.0.18 | |||
TTL 255 (если получен служебный пакет со значением TTL, отличным от 255, пакет будет отброшен) | |||
Сразу после этапа распределения ролей, master формирует gratuitous ARP request, предназначенный всем хостам в LAN. Данная операция необходима для заполнения arp-таблицы устройств локальной сети и forwarding-таблицы коммутатора. В качестве MAC-адреса отправителя используется сформированный виртуальный MAC-адрес 00:00:5E:00:01:**, где ** - номер идентификатора виртуального маршрутизатора VRID. | |||
После распределения ролей master-маршрутизатор продолжает рассылку служебных сообщений для backup-маршрутизаторов с заданной периодичностью interval. В случае отсутствия служебных сообщений от master в течении down-interval (down-interval=3*interval), backup-маршрутизаторы повторяют процедуру распределения ролей, выбирая master среди существующих backup. В этот момент на пользовательских устройствах наблюдается кратковременный перерыв связи. | |||
Приоритет маршрутизатора | |||
Приоритет (priority) — параметр, влияющий на процесс распределения ролей: устройства с бОльшим значением приоритета становится master. Значение приоритета является целым числом, лежащим в интервале от 1 до 255, однако существует несколько зарезервированных значений: | |||
0 - значение приоритета, формируемое в advertisement-сообщении master-маршрутизатором в случае его выключения. Предназначено для ускоренного запуска процесса выбора master среди backup-маршрутизаторов, не дожидаясь down-interval | |||
1-254 - значения, доступные пользователю для конфигурации | |||
255 - значение приоритета owner-маршрутизатора (RouterOS позволяет вручную выставить данное значение, однако, | |||
для совместимости с другим оборудованием, использование этого значения не рекомендуется) | |||
100 - значение приоритета по умолчанию | |||
=== Preemption-mode === | |||
Рассмотрим ситуацию, когда маршрутизатор R1 в схеме на рисунке 1 имеет приоритет 254, а маршрутизатор R2 — 100. При конфигурации VRRP маршрутизатор R1 становится master, а R2 — backup. При выходе из строя R1, функцию master возьмёт на себя R2 в соответствии с логикой протокола. | |||
Опция preemption-mode указывает на то, станет ли R1 master-маршрутизатором после восстановления: если опция активна, то при восстановлении работоспособности R1 будет заново запущен процесс распределения ролей и R1 станет master, а R2 — backup. | |||
Owner-маршрутизаторы игнорируют сконфигурированное значение preemption-mode, принимая его равным “yes”. | |||
Параметры виртуального маршрутизатора | |||
При создании интерфейса виртуального маршрутизатора (меню /interface vrrp) возможны следующие настройки: | |||
arp (disabled | enabled | proxy-arp | reply-only; Default: enabled) не требуется режим работы протокола arp на виртуальном маршрутизаторе | |||
authentication (ah | none | simple; Default: none) требуется режим аутентификации | |||
interface (string) не требуется имя интерфейса, ассоциированного с широковещательным доменом | |||
interval (time [10ms..4m15s]; Default: 1s) требуется интервал рассылки служебных advertisement сообщений, формируемых master | |||
mtu (Default: 1500) не требуется размер mtu | |||
name (string) не требуется имя виртуального интерфейса | |||
on-backup (script text) не требуется текст скрипта, запускаемый в случае перехода роли маршрутизатора из master в backup | |||
on-master (script text) не требуется текст скрипта, запускаемый в случае перехода роли маршрутизатора из backup в master | |||
password (string) требуется значение пароля при использовании аутентификации | |||
preemption-mode (yes | no; Default: yes) требуется опция приоритетного режиме | |||
priority (integer: 1..254; Default: 100) не требуется приоритет маршрутизатора | |||
v3-protocol (ipv4 | ipv6; Default: ipv4) требуется используемый протокол (опция применяется только для vrrp ver.3) | |||
version (integer [2, 3]; Default: 3) требуется версия протокола vrrp (в версии 3 добавлена поддержка ipv6) | |||
vrid (integer: 1..255; Default: 1) требуется идентификатор виртуального маршрутизатора | |||
= Configuring = | |||
=== R1 === | |||
<code>/interface ethernet</code> | |||
<code>set [ find default-name=ether2 ] name=ether2-lan</code> | |||
<code>set [ find default-name=ether3 ] name=ether3-wan</code> | |||
<code>/interface vrrp</code> | |||
<code>add interface=ether2-lan name=vrrp1</code> | |||
<code>/ip address</code> | |||
<code>add address=192.168.1.100/24 interface=ether3-wan network=192.168.1.0</code> | |||
<code>add address=192.168.111.101/24 interface=ether2-lan network=192.168.111.0</code> | |||
<code>add address=192.168.111.108 interface=vrrp1 network=192.168.111.0</code> | |||
<code>/ip route</code> | |||
<code>add distance=1 gateway=192.168.1.1</code> | |||
=== R2 === | |||
<code>/interface ethernet</code> | |||
<code>set [ find default-name=ether2 ] name=ether2-lan</code> | |||
<code>set [ find default-name=ether3 ] name=ether3-wan</code> | |||
<code>/interface vrrp</code> | |||
<code>add interface=ether2-lan name=vrrp1 priority=90</code> | |||
<code>/ip address</code> | |||
<code>add address=192.168.111.102/24 interface=ether2-lan network=192.168.111.0</code> | |||
<code>add address=192.168.111.108 interface=vrrp1 network=192.168.111.0</code> | |||
[[Категория:Mikrotik]] | |||
[[Категория:VRRP]] | |||
__ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__ | |||
__БЕЗ_РЕДАКТИРОВАНИЯ_РАЗДЕЛА__ | |||
Текущая версия на 09:05, 8 октября 2023
Description
Для обмена служебными сообщениями маршрутизаторы должны находиться в одном широковещательном домене 192.168.111.0/24. Кроме того, адрес виртуального маршрутизатора также принадлежит этой сети, но с более узкой маской – 192.168.25.254/32 (если использовать одинаковые маски на физическом и виртуальном интерфейсах, относящихся к одной сети, то в таблице маршрутизации будет формироваться два connected-маршрута с поддержкой ECMP и протокол VRRP может работать некорректно).
В процессе обмена служебными сообщениями маршрутизаторы должны распределить между собой роли, выбрав какое из устройств будет в данный момент являться active, а какое находиться в резерве. Протокол подразумевает следующие роли:
Master — маршрутизатор, являющийся активным в данный момент. Master-маршрутизатор выбирается исходя из большего приоритета, либо, если приоритеты совпадают, в соответствии с бОльшим ip-адресом интерфейса;
Backup — маршрутизатор, являющийся резервным в данный момент. Backup-маршрутизаторами становятся все маршрутизаторы, не ставшие master;
Owner — частный случай master, в котором ip-адрес виртуального маршрутизатора совпадает с ip-адресом интерфейса маршрутизатора. В официальной документации Микротик такая конфигурация не рекомендуется.
Служебные сообщения инкапсулируются в ip-пакет со следующими специфическими параметрами:
Номер протокола 112
ip-адрес отправителя ip-адрес интерфейса, ассоциированного с широковещательным доменом
ip-адрес получателя 224.0.0.18
TTL 255 (если получен служебный пакет со значением TTL, отличным от 255, пакет будет отброшен)
Сразу после этапа распределения ролей, master формирует gratuitous ARP request, предназначенный всем хостам в LAN. Данная операция необходима для заполнения arp-таблицы устройств локальной сети и forwarding-таблицы коммутатора. В качестве MAC-адреса отправителя используется сформированный виртуальный MAC-адрес 00:00:5E:00:01:**, где ** - номер идентификатора виртуального маршрутизатора VRID.
После распределения ролей master-маршрутизатор продолжает рассылку служебных сообщений для backup-маршрутизаторов с заданной периодичностью interval. В случае отсутствия служебных сообщений от master в течении down-interval (down-interval=3*interval), backup-маршрутизаторы повторяют процедуру распределения ролей, выбирая master среди существующих backup. В этот момент на пользовательских устройствах наблюдается кратковременный перерыв связи.
Приоритет маршрутизатора
Приоритет (priority) — параметр, влияющий на процесс распределения ролей: устройства с бОльшим значением приоритета становится master. Значение приоритета является целым числом, лежащим в интервале от 1 до 255, однако существует несколько зарезервированных значений:
0 - значение приоритета, формируемое в advertisement-сообщении master-маршрутизатором в случае его выключения. Предназначено для ускоренного запуска процесса выбора master среди backup-маршрутизаторов, не дожидаясь down-interval
1-254 - значения, доступные пользователю для конфигурации
255 - значение приоритета owner-маршрутизатора (RouterOS позволяет вручную выставить данное значение, однако,
для совместимости с другим оборудованием, использование этого значения не рекомендуется)
100 - значение приоритета по умолчанию
Preemption-mode
Рассмотрим ситуацию, когда маршрутизатор R1 в схеме на рисунке 1 имеет приоритет 254, а маршрутизатор R2 — 100. При конфигурации VRRP маршрутизатор R1 становится master, а R2 — backup. При выходе из строя R1, функцию master возьмёт на себя R2 в соответствии с логикой протокола.
Опция preemption-mode указывает на то, станет ли R1 master-маршрутизатором после восстановления: если опция активна, то при восстановлении работоспособности R1 будет заново запущен процесс распределения ролей и R1 станет master, а R2 — backup.
Owner-маршрутизаторы игнорируют сконфигурированное значение preemption-mode, принимая его равным “yes”.
Параметры виртуального маршрутизатора
При создании интерфейса виртуального маршрутизатора (меню /interface vrrp) возможны следующие настройки:
arp (disabled | enabled | proxy-arp | reply-only; Default: enabled) не требуется режим работы протокола arp на виртуальном маршрутизаторе
authentication (ah | none | simple; Default: none) требуется режим аутентификации
interface (string) не требуется имя интерфейса, ассоциированного с широковещательным доменом
interval (time [10ms..4m15s]; Default: 1s) требуется интервал рассылки служебных advertisement сообщений, формируемых master
mtu (Default: 1500) не требуется размер mtu
name (string) не требуется имя виртуального интерфейса
on-backup (script text) не требуется текст скрипта, запускаемый в случае перехода роли маршрутизатора из master в backup
on-master (script text) не требуется текст скрипта, запускаемый в случае перехода роли маршрутизатора из backup в master
password (string) требуется значение пароля при использовании аутентификации
preemption-mode (yes | no; Default: yes) требуется опция приоритетного режиме
priority (integer: 1..254; Default: 100) не требуется приоритет маршрутизатора
v3-protocol (ipv4 | ipv6; Default: ipv4) требуется используемый протокол (опция применяется только для vrrp ver.3)
version (integer [2, 3]; Default: 3) требуется версия протокола vrrp (в версии 3 добавлена поддержка ipv6)
vrid (integer: 1..255; Default: 1) требуется идентификатор виртуального маршрутизатора
Configuring
R1
/interface ethernet
set [ find default-name=ether2 ] name=ether2-lan
set [ find default-name=ether3 ] name=ether3-wan
/interface vrrp
add interface=ether2-lan name=vrrp1
/ip address
add address=192.168.1.100/24 interface=ether3-wan network=192.168.1.0
add address=192.168.111.101/24 interface=ether2-lan network=192.168.111.0
add address=192.168.111.108 interface=vrrp1 network=192.168.111.0
/ip route
add distance=1 gateway=192.168.1.1
R2
/interface ethernet
set [ find default-name=ether2 ] name=ether2-lan
set [ find default-name=ether3 ] name=ether3-wan
/interface vrrp
add interface=ether2-lan name=vrrp1 priority=90
/ip address
add address=192.168.111.102/24 interface=ether2-lan network=192.168.111.0
add address=192.168.111.108 interface=vrrp1 network=192.168.111.0