Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

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

TEMPORARY_FAILURE Сетевое оборудование и VPN

IPsec Error TEMPORARY_FAILURE: удаленный узел исчерпал ресурсы для создания SA

Обновлено: 24.08.2026 · Официальная документация ↗

При попытке установить или пересогласовать IPsec туннель соединение отклоняется:

  • В журналах фиксируется ошибка: IPsec Error: TEMPORARY_FAILURE: Remote peer out of resources to accept SA или received TEMPORARY_FAILURE notify error (type 43).
  • Шлюз назначения отвечает ошибкой при всплеске нагрузки (DDoS, одновременный реконнект сотен филиалов).
  • Высокая утилизация CPU (100%) на криптошлюзе из-за генерации ключей Диффи-Хеллмана (Diffie-Hellman).

1. Природа уведомления TEMPORARY_FAILURE (RFC 7296)

Уведомление TEMPORARY_FAILURE указывает инициатору, что ответчик в текущий момент не может обработать запрос на создание IKE_SA или CHILD_SA из-за временной нехватки системных ресурсов (исчерпание дескрипторов, таблиц SA в ядре, перегрузка криптографического процессора). Стандарт предписывает инициатору повторить попытку через случайный промежуток времени (Exponential Backoff).

2. Диагностика системных лимитов и памяти на сервере Linux

# Проверка свободной оперативной памяти и Slab кэша
free -m
slabtop -o -s c | head -n 15

# Проверка лимитов файловых дескрипторов процесса Charon
cat /proc/$(pgrep charon)/limits | grep 'Max open files'

# Проверка лимита политик XFRM в ядре
sysctl net.core.xfrm_acq_expires net.ipv4.xfrm4_gc_thresh

3. Настройка троттлинга полуоткрытых сессий (DoS Protection)

В strongSwan (/etc/strongswan.d/charon.conf) увеличьте лимиты параллельных потоков обработки (Threads):

charon {
    # Увеличение пула воркеров для обработки криптографии
    threads = 32
    
    # Настройка лимитов очереди
    job_queues {
        critical = 64
        high = 512
        medium = 1024
        low = 2048
    }
    
    # Включение защиты от перегрузки полуоткрытыми сессиями
    half_open_timeout = 5
    max_halfopen = 500
}

4. Оптимизация групп Диффи-Хеллмана (DH Groups)

Устаревшие группы (MODP-2048 / MODP-4096) требуют огромных вычислительных затрат CPU. Перейдите на эллиптические кривые (Curve25519 или ECP-256/384), которые в 10–50 раз быстрее рассчитывают общий секрет:

# Оптимальные предложения IKEv2 proposals (swanctl.conf)
proposals = aes256-sha256-x25519, aes256-sha256-ecp256

5. Настройка параметров повторных попыток на стороне клиента

# Настройка задержки повтора при получении временного сбоя
connections {
    to-server {
        # Экспоненциальная задержка повтора соединения
        rekey_time = 4h
        over_time = 10m
    }
}
💡 Практика специалистов: Если TEMPORARY_FAILURE возникает на Linux-шлюзах при сотнях туннелей, проверьте параметр sysctl 'net.ipv4.xfrm4_gc_thresh'. По умолчанию при достижении порога в 1024/2048 записей ядро начинает агрессивный сброс таблиц SA. Увеличьте его до 'net.ipv4.xfrm4_gc_thresh = 32768'.

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

Что должен делать инициатор при получении ошибки TEMPORARY_FAILURE?

Инициатор не должен разрывать сессию навсегда. Он обязан запустить таймер задержки (Backoff timer) и повторить попытку согласования через 5–30 секунд.

Как лицензии оборудования влияют на эту ошибку?

На маршрутизаторах Cisco, Fortinet и CheckPoint ошибка TEMPORARY_FAILURE часто возвращается, если достигнут аппаратный или лицензионный лимит максимально разрешенных одновременных VPN-туннелей.

Помогает ли включение SYN Cookies / IKE Cookies?

Да, активация IKEv2 Cookie Threshold заставляет шлюз проверять подлинность IP инициатора до выделения памяти под тяжелые вычисления Diffie-Hellman.

Почему использование x25519 снижает риск ошибки TEMPORARY_FAILURE?

Кривая Curve25519 (DH Group 31) требует на порядок меньше тактов CPU на одну операцию скалярного умножения по сравнению с классическими группами RSA MODP, снижая утилизацию процессора до минимума.

Полезные материалы
Рекомендуем