Почему зависает Конфигуратор 1С при работе через VPN или из другой подсети?

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

Работа с платформой 1С:Предприятие 8.3 в распределенных сетях часто преподносит сюрпризы. Типичная ситуация: Тонкий клиент работает идеально, авторизация в Конфигураторе проходит мгновенно, но при попытке открыть конфигурацию программа «замирает», сетевая активность падает до минимума, а драгоценное время уходит впустую. Рассмотрим детально, почему это происходит и как настроить стабильную работу системы в условиях VPN-соединений или изоляции серверов в отдельных подсетях.

Различие в работе Тонкого клиента и Конфигуратора

Для начала проанализируем ситуацию: почему одна и та же база данных ведет себя по-разному? Тонкий клиент обменивается с сервером небольшими порциями данных (результаты запросов, структуры форм). Даже на слабом канале это выглядит отзывчиво. Конфигуратор же при открытии основной конфигурации пытается выкачать на сторону клиента массив метаданных, который для современных типовых решений (например, 1С:Розница или 1С:ERP) может составлять сотни мегабайт в распакованном виде.

Выясним причину «зависания»: если канал связи имеет скрытые ограничения по размеру пакетов или блокирует вспомогательные порты, передача тяжелого «дампа» метаданных прерывается, и клиент 1С бесконечно ждет подтверждения получения пакетов.

Проверка доступности динамических портов

Многие системные администраторы совершают ошибку, открывая на файрволе только порты 1540 и 1541. Разберем по шагам, как взаимодействуют компоненты системы:

  1. Порт 1540 — Агент сервера.
  2. Порт 1541 — Менеджер кластера.
  3. Порты 1560–1591 — Рабочие процессы.

При работе в локальной сети Конфигуратор может динамически переключаться на рабочие процессы для получения данных. Если вы работаете через VPN, убедитесь, что весь диапазон портов 1540-1591 разрешен в правилах OPNsense, MikroTik или другого вашего межсетевого экрана. Для диагностики на стороне клиента под управлением Windows 10 воспользуемся PowerShell:


Test-NetConnection srv1c-dev.domain.lan -Port 1541
Test-NetConnection srv1c-dev.domain.lan -Port 1560

Если TcpTestSucceeded возвращает False для портов выше 1541, это и есть причина остановки загрузки конфигурации.

Проблема MTU и фрагментации пакетов в VPN

Проанализируем сетевой уровень. При использовании OpenVPN (особенно через UDP) пакеты инкапсулируются, что добавляет к каждому пакету служебные заголовки. Если размер стандартного пакета MTU составляет 1500 байт, то после добавления заголовков VPN он может превысить лимит физического канала и будет отброшен либо фрагментирован.

Посмотрим на пример проверки с помощью ping с запретом фрагментации:

ping -l 1450 -f srv1c-dev.domain.lan

Если такой пинг не проходит, а обычный работает — у вас проблема с MTU. Платформа 1С крайне чувствительна к потерям пакетов при передаче бинарных данных конфигурации.

Рекомендация: В настройках OpenVPN сервера и клиента установите параметр mssfix 1300. Это заставит протокол TCP ограничивать размер сегмента данных так, чтобы пакет гарантированно пролезал в «туннель» без фрагментации. Это часто решает проблему «бесконечного» открытия конфигурации.

Использование протокола TCP вместо UDP для VPN

Хотя UDP считается более быстрым, в условиях нестабильного подключения или сложной маршрутизации между подсетями, TCP обеспечивает гарантированную доставку и правильную последовательность пакетов. Рассмотрим подробнее: протокол 1С сам по себе реализует механизмы контроля, но «наслоение» контроля 1С на потери в UDP-туннеле вызывает длительные таймауты. Попробуйте переключить OpenVPN на TCP и проверьте скорость открытия конфигурации.

Обратное разрешение имен (Reverse DNS)

Если сервер 1С развернут на Ubuntu 20.04, он может пытаться выполнить поиск имени клиента по его IP-адресу (Reverse DNS) при каждом обращении. В случае с VPN-сетью (например, подсеть 10.0.11.x), DNS-сервер может не знать этих адресов и долго отвечать отказом.

Чтобы исключить задержки, выполним следующие действия на сервере 1С:

  1. Откроем файл /etc/hosts.
  2. Добавим туда IP-адрес клиента и его имя: 10.0.11.18 client-win10.domain.lan
  3. Проверим настройки nsswitch.conf, чтобы приоритет отдавался файлу hosts, а не DNS.

Аналогично на стороне клиента Windows стоит прописать адрес сервера 1С в файл C:\Windows\System32\drivers\etc\hosts, чтобы исключить любые задержки со стороны службы dnscache.

Очистка кэша и проверка на пустой конфигурации

Рассмотрим ситуацию, когда сеть настроена верно, но зависание сохраняется. Проанализируем состояние кэша метаданных. Кэш Конфигуратора находится в профиле пользователя и может быть поврежден при разрывах связи.

Порядок действий для очистки:

  1. Закройте все окна 1С.
  2. Удалите содержимое папок:
    • %LOCALAPPDATA%\1C\1cv8
    • %APPDATA%\1C\1cv8
  3. Попробуйте создать пустую базу на том же сервере. Если пустая конфигурация открывается мгновенно, значит, проблема не в портах, а именно в пропускной способности или обработке больших пакетов (см. пункт про MTU).

Особенности работы с Хранилищем конфигурации

Если конфигурация подключена к Хранилищу, при открытии 1С пытается проверить статусы всех объектов. Через VPN это может занимать десятки минут. Попробуйте временно отключить конфигурацию от хранилища и проверить скорость открытия. Если дело в этом, рассмотрите вариант использования HTTP-сервиса для работы с хранилищем, что значительно ускоряет взаимодействие на медленных каналах.

Заключение

Подведем итог: работа Конфигуратора 1С через VPN требует не только открытых портов 1541 и 1560-1591, но и тонкой настройки сетевых параметров. В большинстве случаев проблема решается ограничением MSS/MTU в настройках VPN-шлюза и обеспечением мгновенного разрешения имен через hosts. Помните, что при первом открытии тяжелой конфигурации через канал 20 Мбит/с нормальное время ожидания может составлять 5–10 минут, пока система кэширует структуру метаданных.

← На главную