Здравствуйте, коллеги! Пытаюсь настроить VRRP по Wiki. Эксперименты провожу в виртуальной среде (CHR) под Hyper-V. Создал две машины, в каждой первый адаптер подключен во внешнюю сеть (с привязанным адаптером), второй во внутреннюю совместно с хостом Hyper-V. В результате настройки у меня оба роутера становятся мастером, и, понятно, ничего не работает. Подскажите, это баг, или я что-то делаю не так? Логи (после любого применения настроек интерфейса VRRP: 7: Oct/09/2019 10:39:29 system,info device changed by admin Oct/09/2019 10:39:29 vrrp,info vrrp1 now BACKUP Oct/09/2019 10:39:34 vrrp,info vrrp1 now MASTER, master down timer 8: Oct/09/2019 10:40:25 system,info device changed by admin Oct/09/2019 10:40:25 vrrp,info vrrp1 now BACKUP Oct/09/2019 10:40:31 vrrp,info vrrp1 now MASTER, master down timer Настройки: Код: # oct/09/2019 10:18:53 by RouterOS 6.44.5 # software id = # # # /interface ethernet set [ find default-name=ether1 ] disable-running-check=no set [ find default-name=ether2 ] disable-running-check=no /interface vrrp add interface=ether2 interval=100ms name=vrrp1 preemption-mode=no vrid=2 /interface wireless security-profiles set [ find default=yes ] supplicant-identity=MikroTik /ip address add address=10.178.12.2/24 interface=ether2 network=10.178.12.0 add address=10.178.12.1 interface=vrrp1 network=10.178.12.1 /ip dhcp-client add disabled=no interface=ether1 /system identity set name=RouterOS7 Код: # oct/09/2019 10:19:07 by RouterOS 6.44.5 # software id = # # # /interface ethernet set [ find default-name=ether1 ] disable-running-check=no set [ find default-name=ether2 ] disable-running-check=no /interface vrrp add interface=ether2 interval=100ms name=vrrp1 preemption-mode=no vrid=2 /interface wireless security-profiles set [ find default=yes ] supplicant-identity=MikroTik /ip address add address=10.178.12.3/24 interface=ether2 network=10.178.12.0 add address=10.178.12.1 interface=vrrp1 network=10.178.12.1 /ip dhcp-client add dhcp-options=hostname,clientid disabled=no interface=ether1 /system identity set name=RouterOS8
АП Люди добрые, неужели никто не подскажет, как искать проблему? Сделал еще две виртуалки, те интерфейсы, на которых тестировал VRRP, отключил от физической сети вообще... Настройку проводил по этому мануалу: https://spw.ru/educate/articles/primenenie-vrrp-v-mikrotik-routeros-1/ Все равно та же песня, на двух роутерах одновременно наблюдаю два мастера: [admin@R_1] > interface vrrp print Flags: X - disabled, I - invalid, R - running, M - master, B - backup # NAME INTERFACE MAC-ADDRESS VRID PRIORITY INTERVAL VERSION V3-PROTOCOL 0 RM vrrp1_ether2 ether2 00:00:5E:00:01:19 25 254 1s 3 ipv4 [admin@R_2] > interface vrrp print Flags: X - disabled, I - invalid, R - running, M - master, B - backup # NAME INTERFACE MAC-ADDRESS VRID PRIORITY INTERVAL VERSION V3-PROTOCOL 0 RM vrrp1_ether2 ether2 00:00:5E:00:01:19 25 100 1s 3 ipv4 Причем, даже если один из роутеров выключить, все равно общий IP в ARP не появляется и работающий роутер на него не отвечает.
Сам задал вопрос, сам и отвечаю. Решение найдено на форуме Mikrotik. https://forum.mikrotik.com/viewtopic.php?t=148420#p730577 В переводе на русский - при использовании CHR в Hyper-V необходимо на интерфейсах виртуальных машин, где планируется использовать VRRP, разрешить спуфинг MAC-адресов (в дополнительных параметрах).
И еще дополнение - если в Hyper-V виртуальный коммутатор создан с поддержкой SR-IOV, VRRP обменивается данными, выбирает мастера, назначает IP, но пакеты на этот IP не идут. Причем независимо от того, включен SR-IOV для данной виртуальной машины или нет.