Что такое протокол VRRP?

«Что такое протокол VRRP?» — вопрос из категории Сети, который задают на 24% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

VRRP (Virtual Router Redundancy Protocol) — это стандартный протокол (RFC 5798) уровня сетевого доступа, предназначенный для обеспечения высокой доступности (High Availability) шлюза по умолчанию (default gateway) в локальной сети. Он решает проблему единой точки отказа на маршрутизаторе.

Как это работает в инфраструктуре DevOps (например, для кластера веб-серверов):

  1. Группа VRRP: Несколько физических маршрутизаторов (или L3-коммутаторов) объединяются в виртуальную группу.
  2. Виртуальный IP (VIP): Группе назначается один общий виртуальный IP-адрес (например, 192.168.1.1), который и будет использоваться всеми хостами в сети в качестве шлюза по умолчанию.
  3. Роли: Внутри группы один маршрутизатор становится Master (активным), остальные — Backup (резервными).
    • Master — отвечает на ARP-запросы для VIP, маршрутизирует трафик.
    • Backup — слушают multicast-сообщения (адрес 224.0.0.18) от Master.
  4. Отказоустойчивость: Если Master перестаёт отправлять сообщения (heartbeats), Backup-маршрутизатор с наивысшим приоритетом автоматически берёт на себя роль Master, объявляя себя владельцем VIP. Для конечных устройств (серверов) смена происходит прозрачно, их настройки шлюза (192.168.1.1) не меняются.

Пример конфигурации на Linux (используя keepalived), типичной для отказоустойчивого балансировщика нагрузки:

# Установка: apt-get install keepalived
# Конфигурация /etc/keepalived/keepalived.conf на узле 1 (Master):
vrrp_instance VI_1 {
    state MASTER           # Роль
    interface eth0         # Сетевой интерфейс
    virtual_router_id 51   # ID группы (должен совпадать на всех узлах)
    priority 150           # Приоритет (выше = главнее)
    advert_int 1           # Интервал объявлений (сек)
    authentication {
        auth_type PASS
        auth_pass secret123
    }
    virtual_ipaddress {
        192.168.1.100/24 dev eth0  # Виртуальный IP (VIP)
    }
}

На втором узле конфигурация будет аналогичной, но с state BACKUP и priority 100.

Ключевые особенности и сравнение:

  • Стандарт: VRRP — открытый стандарт (поддерживается разными вендорами). Его проприетарный аналог от Cisco — HSRP.
  • Преимущество (Preempt): По умолчанию включено. Если вышедший из строя Master восстановится, он снова станет активным, т.к. у него приоритет выше.
  • Использование в DevOps: Часто применяется в связке с ПО вроде keepalived для создания отказоустойчивых кластеров веб-серверов (Nginx/Apache) или балансировщиков нагрузки (HAProxy), где VIP «плавает» между нодами.