Как настроить подключение клиента 1С к серверу приложений через Kerio VPN?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При организации удаленной работы сотрудников системные администраторы часто сталкиваются с ситуацией, когда подключение через удаленный рабочий стол (RDP) по VPN работает без сбоев, однако запуск локального клиента 1С (тонкого или толстого) завершается ошибкой подключения к кластеру серверов. Разберем по шагам, почему возникает эта проблема, как устроено сетевое взаимодействие в платформе 1С:Предприятие и какими способами можно восстановить стабильную работу.

Выясним причину: особенности сетевой архитектуры кластера 1С

Проанализируем ситуацию, которая происходит при попытке прямого подключения платформы 1С к удаленному серверу. В отличие от стандартных протоколов (например, RDP или HTTP), клиент 1С работает по собственной двухуровневой схеме:

  1. Первичное обращение к менеджеру кластера: клиент отправляет запрос на порт менеджера кластера (по умолчанию 1541 или 1540), адрес которого указан в списке баз.
  2. Перенаправление на рабочий процесс: менеджер кластера регистрирует запрос и возвращает клиенту сетевое имя рабочего сервера и конкретный порт выделенного рабочего процесса rphost (из диапазона 1560–1591).
  3. Повторное подключение по имени: клиент разрывает первичное соединение и пытается подключиться напрямую к выданному рабочему процессу, используя переданное имя сервера (NetBIOS или FQDN).

Если в окне добавления информационной базы в поле Кластер серверов 1С:Предприятия указать только IP-адрес VPN-сервера, первичное подключение пройдет успешно. Однако на втором этапе сервер вернет клиенту свое локальное имя (например, SRV-1C). Так как удаленный компьютер за пределами офиса не знает, какому IP-адресу соответствует это имя, клиент выдает ошибку поиска узла сети или недоступности сервера.

Способ 1. Сопоставление имени сервера в файле hosts

Рассмотрим самое быстрое и надежное решение для единичных удаленных рабочих станций. Нам необходимо принудительно связать имя сервера, которое возвращает кластер 1С, с IP-адресом, выделенным серверу в сети Kerio VPN.

  1. Выясним точное имя сервера 1С, открыв консоль администрирования кластера или посмотрев имя компьютера в свойствах системы на стороне сервера.
  2. Узнаем IP-адрес сервера во внутреннем VPN-туннеле (например, 10.0.0.1 или 192.168.100.1).
  3. На клиентском компьютере откроем текстовый редактор с правами администратора.
  4. Перейдем к системному файлу по следующему пути: C:\Windows\System32\drivers\etc\hosts.
  5. В конец файла добавим строку сопоставления по следующему шаблону:

# IP-адрес сервера в VPN-сети    Сетевое имя сервера 1С
10.0.0.1                         SRV-1C

После сохранения изменений клиентская часть 1С сможет успешно разрешать полученное от менеджера кластера имя компьютера и перенаправлять сессию на рабочий процесс rphost через созданный VPN-канал.

Способ 2. Централизованная настройка DNS в Kerio Control

Разберем вариант, когда удаленных клиентов много и редактировать файл hosts вручную на каждом компьютере нерационально. Программа Kerio VPN Client способна автоматически переопределять DNS-сервер для туннельного сетевого адаптера.

  1. Откроем консоль администрирования Kerio Control и перейдем в раздел DNS.
  2. Создадим статическую запись типа A (Хост), сопоставляющую имя компьютера сервера 1С с его локальным или VPN IP-адресом.
  3. Перейдем в раздел Интерфейсы, выберем VPN-сервер и откроем его свойства.
  4. Во вкладке DNS укажем, что Kerio Control передает клиентам свой внутренний IP-адрес в качестве первичного DNS-сервера, либо пропишем адрес корпоративного контроллера домена Active Directory.
  5. Во вкладке Маршруты убедимся, что клиентам транслируется подсеть, в которой находится сервер 1С (например, 192.168.1.0/24).

В этом случае при поднятии VPN-соединения служба DNS-клиента Windows будет автоматически отправлять запросы в туннель Kerio, корректно разрешая имя сервера без модификации локальных системных файлов.

Способ 3. Перенастройка имени рабочего сервера в кластере 1С

Посмотрим на альтернативное решение внутри самой платформы 1С:Предприятие. Кластер серверов можно изначально сконфигурировать так, чтобы он возвращал клиентам не NetBIOS-имя компьютера, а его IP-адрес или полное FQDN-имя, доступное всем участникам сети.

  1. Запустим консоль Администрирование серверов 1С Предприятия на сервере.
  2. Перейдем в ветку Кластеры -> Рабочие серверы.
  3. Откроем свойства центрального сервера.
  4. В поле Сетевое имя вместо локального имени машины пропишем VPN IP-адрес сервера (например, 10.0.0.1) или его полностью определенное доменное имя (FQDN).
  5. Перезапустим службу ragent (Агент сервера 1С:Предприятия).

После этой процедуры менеджер кластера будет передавать клиентам готовый IP-адрес для соединения с rphost, и необходимость в локальном сопоставлении имен полностью отпадет.

Настройка межсетевого экрана и портов кластера

Проанализируем правила фильтрации трафика в Kerio Control. Распространенной ошибкой является открытие только одного порта 1541. Для полноценного функционирования платформы через VPN требуются следующие сетевые разрешения:

  1. В политике трафика Kerio создадим правило, где источником выступает интерфейс VPN-клиенты, а назначением — Хост сервера 1С (или интерфейс Брандмауэр, если Kerio и 1С развернуты на одном ПК).
  2. В перечне служб разрешим порт 1540 (Агент кластера), 1541 (Менеджер кластера) и диапазон портов 1560–1591 (Рабочие процессы rphost).
  3. Если используется публикация через веб-сервер, достаточно открыть только порты 80 и 443.

Устранение разрывов связи и ошибок SDBL

Рассмотрим сопутствующую проблему, когда сеансы пользователей периодически завершаются ошибками «SDBL: Соединение с базой данных не удерживается» или «Ваш сеанс завершен администратором». Причиной такого поведения является микрообрыв канала связи между сервером 1С, сервером СУБД и контроллером домена.

  1. Зависимость от Active Directory: если удаленный сервер 1С обращается к базе данных MS SQL под доменной учетной записью Windows, кратковременный сбой VPN приводит к таймауту NTLM/Kerberos-авторизации. В результате рабочий процесс сбрасывает сеансы. Для решения проблемы переведем подключение базы в консоли 1С на встроенную аутентификацию СУБД (SQL Server Authentication, логин sa).
  2. Коррекция размера MTU: из-за служебных заголовков туннеля стандартный размер пакета 1500 байт может фрагментироваться и блокироваться промежуточными провайдерами. Снизим MTU на VPN-интерфейсе Kerio до значений 1350–1400, чтобы исключить потерю пакетов.
  3. Таймауты TCP Keep-Alive: на стороне сервера в реестре Windows по пути HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters зададим параметр KeepAliveTime равным 300000 (5 минут в миллисекундах), чтобы межсетевой экран не сбрасывал неактивные клиентские сессии.

Таким образом, для стабильной работы 1С через Kerio VPN необходимо обеспечить прозрачную маршрутизацию подсети, открыть полный диапазон портов рабочих процессов (1540, 1541, 1560–1591) и настроить корректное сопоставление сетевого имени сервера с его адресом в VPN-туннеле.

← На главную