Как определить все keepalived virtual_router_id на уровне netwerk?
У нас есть разные машины с включенными экземплярами keepalived, и я ищу способ проверить (на уровне сегмента сети) все virtual_router_id. (Чтобы избежать дублирования.)
Итак, 1 инструмент, который прослушивает в сети идентификаторы virtual_router_id и печатает их.
Kind Rgds, Люк
1 ответ
На уровне сети вы можете захотеть прослушать многоадресную рассылку, чтобы поймать, как серверы Keepalived разговаривают друг с другом. Пример (находится на https://www.cyberciti.biz/faq/linux-unix-verify-keepalived-working-or-not/):
root@linux:~# tcpdump -vvv -n -i eth0 host 224.0.0.18
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
11:19:43.530933 IP (tos 0xc0, ttl 255, id 58763, offset 0, flags [none], proto VRRP (112), length 40)
10.10.10.135 > 224.0.0.18: vrrp 10.10.10.135 > 224.0.0.18: VRRPv2, Advertisement, vrid 134, prio 111, authtype none, intvl 1s, length 20, addrs: 10.10.10.134
11:19:43.530941 IP (tos 0xc0, ttl 255, id 58763, offset 0, flags [none], proto VRRP (112), length 40)
10.10.10.135 > 224.0.0.18: vrrp 10.10.10.135 > 224.0.0.18: VRRPv2, Advertisement, vrid 134, prio 111, authtype none, intvl 1s, length 20, addrs: 10.10.10.134
11:19:43.530968 IP (tos 0xc0, ttl 255, id 58763, offset 0, flags [none], proto VRRP (112), length 40)
10.10.10.135 > 224.0.0.18: vrrp 10.10.10.135 > 224.0.0.18: VRRPv2, Advertisement, vrid 134, prio 111, authtype none, intvl 1s, length 20, addrs: 10.10.10.134
11:19:43.530972 IP (tos 0xc0, ttl 255, id 58763, offset 0, flags [none], proto VRRP (112), length 40)
10.10.10.135 > 224.0.0.18: vrrp 10.10.10.135 > 224.0.0.18: VRRPv2, Advertisement, vrid 134, prio 111, authtype none, intvl 1s, length 20, addrs: 10.10.10.134
Таким образом вы можете найти идентификатор виртуального маршрутизатора (vrid
) и соответствующие серверы KeepaliveD (10.10.10.134
а также 10.10.10.135
в этом примере).
Но это не надежный способ обнаружения всех установок / виртуальных маршрутизаторов Keepalived. Keepalived также может обмениваться данными по одноадресной передаче (прямой ip<->ip) без широковещательной передачи в сеть. Но если вы используете только многоадресную широковещательную рассылку vrid, тогда вы сможете найти и идентифицировать серверы Keepalived и используемые идентификаторы виртуального маршрутизатора с точки зрения сети.
Если вы используете локальный агент мониторинга / демон или централизованную систему конфигурации, вы также можете проанализировать файл /etc/keepalived/keepalived.conf для virtual_router_id
вариант.