Краткое описание параметров

Применительно к данному сценарию, если требуется, чтобы VRRP работал только на внешнем интерфейсе, конфигурация /etc/keepalived/keepalived.conf будет выглядеть следующим образом:

vrrp_script chk_dead {

  script "/usr/bin/pgrep -x vpnsvc"

  interval 1

}

vrrp_instance eth1_1 {

  interface eth1

  virtual_routes {

    src 10.1.1.10 10.1.2.0/24 via 10.1.1.1

  }

  track_script {

    chk_dead

  }

  virtual_ipaddress {

    10.1.1.10.24

  }

  notify_master /etc/keepalived/scripts/notify_master

  notify_backup /etc/keepalived/scripts/notify_backup

  notify_fault /etc/keepalived/scripts/notify_fault

  priority 100

  advert_int 3

  garp_master_refresh 5

  virtual_router_id 1

}

Ниже приведено описание блоков в отдельности.

1.   Скрипт, который каждую секунду проверяет работоспособность демона vpnsvc:

vrrp_script chk_dead {

  script "/usr/bin/pgrep -x vpnsvc"

  interval 1

}

Если демон vpnsvc по каким-то причинам выгрузится, состояние шлюза изменится с BACKUP/MASTER на FAULT. После восстановления работы демона vpnsvc, состояние шлюза изменится с FAULT на BACKUP/MASTER.

2.   Параметры VRRP процесса (vrrp_instance):

vrrp_instance eth1_1 {

  interface eth1

  virtual_routes {

    src 10.1.1.10 10.1.2.0/24 via 10.1.1.1

  }

  track_script {

    chk_dead

  }

  virtual_ipaddress {

    10.1.1.10.24

  }

  notify_master /etc/keepalived/scripts/notify_master

  notify_backup /etc/keepalived/scripts/notify_backup

  notify_fault /etc/keepalived/scripts/notify_fault

  priority 100

  advert_int 3

  garp_master_refresh 5

  virtual_router_id 1

}

·         interface ethN – интерфейс к которому происходит привязка VRRP-процесса.

·         virtual_routes – блок, в котором можно указать какие маршруты нужно добавить при переходе в состояние MASTER и убрать при переходе в состояние BACKUP.

·         track_script – блок, указывающий какие блоки vrrp_script будут выполняться в рамках данного VRRP процесса (см. пункт 1).

·         virtual_ipaddress – задает виртуальный IP-адрес на интерфейсе (также является блоком).

·         notify_master|backup|fault – настройки, отвечающие за выполнение скриптов при переходе в каждое из состояний. Требуется указать полный путь до каждого скрипта.

·         priority n – приоритет маршрутизатора, шлюз с более высоким приоритетом переходит в состояние MASTER.

·         advert_int n – интервал отправки advertisement-пакета n секунд.

·         garp_master_refresh n – раз в n секунд посылать gratuitous ARP. Действует на шлюз в состоянии MASTER.

·         virtual_router_id n – VRRP VRID (идентификатор виртуального маршрутизатора), данное поле присутствует в advertisement-пакетах. Значения virtual_router_id в одном бродкаст домене у разных кластеров должны различаться.

Также при необходимости в процесс можно добавить следующие параметры:

·         auth_pass <пароль> – пароль для аутентификации advertisement-пакетов. Пароль должен быть не более 8 символов. Не используйте в пароле знак пробела ( ), кавычек (“”), или знак восклицательного знака (!) первым символом.

·         preempt_delay n – после перезагрузки шлюза или демона keepalived будет пауза n секунд (от 0 до 1000) перед переходом в состояние MASTER. По умолчанию равен 0.