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

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

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

IPsec Error MODE_CFG_FAILED: пул виртуальных IP адресов исчерпан

Обновлено: 24.08.2026  ·  Официальная база знаний

Удаленные пользователи не могут подключиться к корпоративному VPN:

  • Ошибки: IPsec Error: MODE_CFG_FAILED: Virtual IP address pool exhausted on server, cannot allocate address from pool или received INTERNAL_ADDRESS_FAILURE notify error.
  • Фаза 1 и аутентификация проходят успешно, но клиент не получает виртуальный IP-адрес и отключается.
  • Количество активных подключений достигло предельной емкости настроенной подсети (например, /24).

1. Назначение Mode Config / CP (Configuration Payload, RFC 7296)

В сценариях Remote Access клиент после успешной авторизации запрашивает параметры конфигурации сети у шлюза: внутренний виртуальный IP-адрес, маску подсети, адреса DNS и WINS серверов, доменные суффиксы. Шлюз выделяет IP из локального виртуального пула. Если в пуле не осталось свободных адресов, сервер возвращает статус INTERNAL_ADDRESS_FAILURE (Notify 36).

2. Просмотр текущего распределения пула адресов в strongSwan

# Просмотр занятых и свободных адресов в пулах
swanctl --list-pools

# Пример вывода:
# pool 'virtual_pool': 254/254 allocated, 0 free

3. Расширение диапазона виртуальных IP адресов

В файле конфигурации swanctl.conf расширьте маску виртуального пула (например, с /24 до /22):

pools {
    rw_pool {
        # Расширение диапазона до 1022 доступных хостов
        addrs = 10.100.0.0/22
        dns = 1.1.1.1, 8.8.8.8
        split_include = 10.0.0.0/8
    }
}

connections {
    roadwarrior {
        pools = rw_pool
        # ... остальные параметры ...
    }
}

4. Применение новой конфигурации пула

# Перезагрузка пулов без перезапуска активных туннелей
swanctl --load-pools
swanctl --list-pools

5. Настройка маршрутизации и NAT для расширенной подсети

Не забудьте обновить правила маскарадинга и форвардинга для новой подсети в файрволе ОС:

# iptables
iptables -t nat -A POSTROUTING -s 10.100.0.0/22 -o eth0 -j MASQUERADE
iptables -A FORWARD -s 10.100.0.0/22 -j ACCEPT
Практический опыт инженера: При проектировании пулов для Remote Access VPN всегда закладывайте запас адресов минимум в 2–3 раза больше, чем планируемое число сотрудников, чтобы избежать исчерпания диапазона во время переподключений с динамических сетей.

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

Почему адреса в пуле не освобождаются сразу после отключения клиента?

Если клиент отключился некорректно (пропал интернет, сел аккумулятор), шлюз держит аренду адреса до тех пор, пока не сработает механизм DPD или не истечет тайм-аут аренды пула.

Можно ли выдавать статические IP конкретным пользователям?

Да. В strongSwan это настраивается через атрибуты пула в связке с RADIUS (атрибут Framed-IP-Address) или явным объявлением static lease в файле конфигурации.

Что такое Split-Include (Split-Tunneling) в Configuration Payload?

Параметр split_include передает клиенту список корпоративных маршрутов. Только трафик к этим сетям пойдет через VPN, а обычный интернет-трафик пойдет через локального провайдера клиента.

Как принудительно очистить все зависшие аренды пула?

Выполните команду 'swanctl --flush-pools' (приведет к кратковременному сбросу назначений) или перезапустите сервис strongswan.