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

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

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

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

Ошибки фазы 2 IPsec: несоответствие Proxy IDs / Traffic Selectors

Обновлено: 25.08.2026 · Официальная документация ↗
  • IKE Phase 1 успешно завершается (IKE_SA ESTABLISHED), но Phase 2 переходит в статус DOWN или QM_IDLE.
  • В логах strongSwan ошибка: received TS_UNACCEPTABLE notify, no matching Traffic Selector found.
  • В логах Cisco ошибка: IPsec SA negotiation failed: Proxy ID mismatch (local: 10.10.0.0/24, remote: 10.20.0.0/16).
  • Оборудование разных вендоров (FortiGate vs MikroTik vs Cisco) не может поднять туннель из-за различий в агрегации политик.

1. Архитектура Traffic Selectors и Proxy ID

Во время согласования IKE Phase 2 (Quick Mode / CREATE_CHILD_SA) обе стороны обмениваются структурами Proxy ID (Traffic Selectors) — точными диапазонами локальных и удаленных IP-подсетей, которые разрешено передавать через данный SA. Если хотя бы на один бит отличается маска подсети (например, /24 против /23) или протокол, согласование мгновенно отклоняется.

2. Диагностика ошибок через журналы

# Диагностика в strongSwan
swanctl --log | grep -Ei "TS_UNACCEPTABLE|no matching CHILD_SA"

# Диагностика в Cisco IOS
Router# show crypto ipsec sa
Router# debug crypto ipsec 127

3. Сценарий 1: Исправление Policy-Based туннеля (Cisco vs strongSwan)

Убедитесь, что Access-List на Cisco зеркально совпадает с local_ts / remote_ts на strongSwan.

Конфигурация Cisco ASA:

access-list VPN_ACL extended permit ip 10.10.10.0 255.255.255.0 192.168.50.0 255.255.255.0

Конфигурация strongSwan (swanctl.conf):

connections {
    cisco-peer {
        children {
            net-hq {
                # Подсети должны быть строго зеркальны Cisco ACL
                local_ts  = 192.168.50.0/24
                remote_ts = 10.10.10.0/24
                esp = aes256-sha256-modp2048!
            }
        }
    }
}

4. Сценарий 2: Множественные подсети и различие в реализации Policy

Некоторые маршрутизаторы (MikroTik / FortiGate) создают отдельный SA на каждую пару подсетей, а другие (Route-Based шлюзы / Linux) требуют единого обобщенного селектора 0.0.0.0/0.

Решение на MikroTik RouterOS v7:

# Если удаленная сторона требует строгой разбивки политик:
/ip ipsec policy
add peer=Peer1 src-address=192.168.1.0/24 dst-address=10.0.1.0/24 tunnel=yes
add peer=Peer1 src-address=192.168.1.0/24 dst-address=10.0.2.0/24 tunnel=yes

5. Проверка соответствия Perfect Forward Secrecy (PFS)

Несовпадение Diffie-Hellman группы в Phase 2 вызывает тихий сброс соединения:

# Обе стороны должны использовать одинаковую группу (например, modp2048 / DH14)
# В swanctl.conf:
esp = aes256gcm128-modp2048!
💡 Практика специалистов: При интеграции с облаками (AWS Virtual Private Gateway, Azure VPN Gateway) всегда переходите на Route-Based режим с VTI/BGP. Облачные провайдеры крайне плохо работают со сложными составными Policy-Based селекторами.

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

Почему Phase 1 работает, а Phase 2 падает при смене маски подсети?

Фаза 1 отвечает только за аутентификацию самих шлюзов (внешние IP и ключи). Фаза 2 согласует права на передачу внутренних подсетей. При малейшем несовпадении диапазонов Proxy ID фаза 2 отвергается.

Что такое Route-Based VPN (VTI) и как он решает проблемы с Proxy ID?

В Route-Based VPN (Virtual Tunnel Interface) Traffic Selectors всегда фиксируются как 0.0.0.0/0 === 0.0.0.0/0, а весь выбор трафика перекладывается на стандартную таблицу маршрутизации ОС, что исключает ошибки Proxy ID.

Что означает ошибка TS_UNACCEPTABLE в strongSwan?

Это означает, что удаленный шлюз прислал набор подсетей (Traffic Selector), который не входит в разрешенный диапазон local_ts/remote_ts, сконфигурированный на вашем сервере.

Влияет ли параметр Lifetime в Phase 2 на обрыв туннеля?

Да, если время жизни SA (Lifetime) сильно различается на сторонах, при попытке Rekeying туннель может кратковременно падать из-за несинхронного удаления старых криптографических ключей.

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