пятница, 14 августа 2015 г.

Ошибка соединения 809 при использовании L2TP IpSec для подключения по VPN с профилем SSTP на MikroTik

В интересах производственных процессов возникает вопрос обеспечения доступа пользователей к локальной сети предприятия через VPN.

Частным случаем реализации данной задачи является организация доступа через шлюз MikroTik по протоколу L2TP с использованием IpSec и ключа проверки подлинности (IPSec Secret). При этом при создании пользователей для доступа по VPN через сервер L2TP используется профиль SSTP.

Однако, как показала практика, возникают сложности с соединением, выражающиеся в отображении пользователю ошибки 809 при его попытке соединиться с локальной сетью, например:


Устранение данной ошибки является комплексным решением проблемы и включает в себя условно 3 этапа.

1. Модем. При работе из дома пользователи, как правило, используют домашний роутер, предоставленный провайдером услуг Интернет. Необходимо убедиться, что Ваш домашний роутер будет корректно обрабатывать протоколы L2TP и IpSec. Пример решения для одного из модемов приведён в этой заметке.

По личному опыту, этого было достаточно при работе в Linux.

2. Брандмауэр Windows, по умолчанию, блокирует необходимые для описываемого типа VPN-соединения соединения к определённым портам. Для обеспечения соединения нужно открыть доступ к портам UDP 500, 1701, 4500. Назначение этих портов:

500 – ISAKMP – Internet Security Association and Key Management Protocol;

1701 – Layer 2 Forwarding Protocol (L2F) & Layer 2 Tunneling Protocol (L2TP);

4500 – NAT-T – IPSec Network Address Translator Traversal.

Запустите оснастку управления брандмауэром Windows и нажмите на ссылку "Дополнительные параметры":


Нужно создать 2 правила: для входящих подключений и исходящих подключений. Активизируйте соответствующий пункт в верхнем меню слева:


Далее в верхнем меню справа нажмите на "Создать правило":


При запросе типа правила укажите, что данное правило создаётся для порта:


Укажите локальные порты UDP: 500, 4500, 1701


Аналогично сделайте и для другого вида подключения (в этом примере далее – для исходящего).

Попробуйте установить соединение. Если не помогло – работаем дальше.

3. Внесение измнения в реестр Windows.

Запустите редактор реестра (regedit) и пройдите в ветку

HKEY_LOCAL_MACHINE\ System\ CurrentControlSet\ Services\ Rasman\ Parameters


Создайте двоичный параметр DWORD с именем ProhibitIpSec и значением 1:


Перезагрузитесь. Попробуйте соединиться со своей сетью по VPN. Получилось?


6 комментариев:

  1. Этот комментарий был удален автором.

    ОтветитьУдалить
  2. Windows Server 2012, брандмауэр отключен, данная статья не помогла, ошибка 809

    ОтветитьУдалить
    Ответы
    1. Попробуйте в реестр добавить ключ

      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent\AssumeUDPEncapsulationContextOnSend

      Значение 0 — значение по умолчанию, которое обозначает, что нет подключения к серверам с помощью NAT-устройства.
      Значение 1 настраивает Windows для подключение к серверам с помощью NAT-устройства.
      Значение 2 настраивает Windows в режиме безопасности, когда сервер и клиентский компьютер под управлением Windows Vista или Windows Server 2008 на базе виртуальной частной сети подключены с помощью NAT-устройства.

      Удалить
  3. Использую VPN немного для другой цели - для доступа к домашней и дачной сети извне.
    У меня нет "белого IP" и приобрести его невозможно у текущего оператора.
    DDNS работает, но и это бесполезно, потому что соединения извне тупо закрыты провайдером.
    Поэтому использую вот такой VPN сервис - https://vpnki.ru Они не предоставляют выход в интернет, но объединяют мои туннели - один с дачи, другой с смартфона.
    Вдруг кому-то это поможет.

    ОтветитьУдалить
  4. Здесь ошибка - AssumeUDPEncapsulationContextOnSend
    Должно быть - AssumeUDPEncapsulationContextOnSendRule

    ОтветитьУдалить