Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, баз данных и сетевого оборудования. Перед выполнением действий обязательно создайте резервную копию. При отсутствии необходимой квалификации обратитесь к ИТ-специалистам.

Отказоустойчивые IPsec кластеры: настройка Stateful Failover без разрыва сессий

Обновлено: 25.08.2026  ·  Официальная база знаний
  • При падении основного VPN-шлюза происходит обрыв всех пользовательских сессий, требующий повторной аутентификации.
  • Процесс переключения на резервный шлюз занимает от 1 до 3 минут из-за долгого согласования IKE SA заново.
  • Рассинхронизация счетчиков Sequence Numbers в криптографических ассоциациях кластера.
  • Split-Brain состояние шлюзов, приводящее к конфликту IPsec политик и IP-адресов.

1. Принцип работы IPsec Stateful Failover

В схеме Active/Standby основной маршрутизатор в реальном времени синхронизирует криптографические ключи, таблицы трансляций и счетчики пакетов (IKE/ESP Security Associations) с резервным узлом через выделенный интерконнект-канал (Cluster Link). При аварии резервный узел мгновенно перехватывает плавающий виртуальный IP-адрес без пересогласования сессий.

2. Настройка IPsec High Availability на Cisco ASA (Active/Standby)

! 1. Настройка управляющего интерфейса отказоустойчивости
failover
failover lan unit primary
failover lan interface FO_LINK GigabitEthernet0/3
failover link FO_STATE GigabitEthernet0/4
failover interface ip FO_LINK 172.16.250.1 255.255.255.252 standby 172.16.250.2
failover interface ip FO_STATE 172.16.250.5 255.255.255.252 standby 172.16.250.6

! 2. Включение репликации криптографических сессий
failover ipsec cluster

! 3. Мониторинг интерфейсов
failover monitor outside
failover monitor inside

3. Настройка отказоустойчивости на базе Linux strongSwan + Keepalived

В файле /etc/keepalived/keepalived.conf (Основная нода):

vrrp_sync_group VG1 {
    group {
        VRRP_WAN
        VRRP_LAN
    }
}

vrrp_instance VRRP_WAN {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass SecretHaPass1
    }
    virtual_ipaddress {
        198.51.100.1/24 dev eth0
    }
    notify_master "/etc/strongswan/ha-active.sh"
    notify_backup "/etc/strongswan/ha-passive.sh"
}

4. Синхронизация сессий ядра Linux через CT-Sync (conntrackd)

В файле /etc/conntrackd/conntrackd.conf активируйте синхронизацию состояний:

Sync {
    Mode FTFW {
        ResendQueueSize 131072
        CommitTimeout 180
    }
    UDP {
        IPv4_address 172.16.250.1
        IPv4_Destination_Address 172.16.250.2
        Port 3780
        Interface eth3
    }
}

5. Проверка состояния кластера

# На Cisco ASA
show failover
show crypto ipsec sa

# В Linux
conntrackd -s
ip addr show dev eth0
Практический опыт инженера: Всегда выделяйте под Failover State Link прямой изолированный кабель (Direct DAC/Fiber) или отдельный VLAN с приоритетом 802.1p. Задержки в канале синхронизации вызовут мгновенный сброс активных криптографических ключей.

Частые вопросы (FAQ)

Что происходит со счетчиками Sequence Numbers при переключении шлюза?

Механизм кластеризации синхронизирует счетчики с небольшим упреждением (окном). Резервный узел подхватывает отправку пакетов с запасом по Sequence Number, предотвращая срабатывание защиты Anti-Replay на стороне клиента.

Как избежать проблемы Split-Brain в двухнодовом кластере?

Используйте как минимум два физически независимых канала для передачи Heartbeat-сигналов и настраивайте Quorum-свидетеля (Witness) или пинг внешнего надежного шлюза.

Поддерживается ли Stateful Failover для динамических туннелей WireGuard?

Для WireGuard классический Stateful Failover не требуется: WireGuard не имеет постоянного состояния рукопожатия. Достаточно синхронизировать приватные ключи и конфигурации и переключить виртуальный IP через Keepalived.

Какое время переключения считается нормальным для IPsec HA?

При корректно настроенном аппаратном кластере (Cisco ASA/FortiGate) переключение происходит за 200–500 миллисекунд без потери единого TCP-пакета.