Почему бесконечно перезапускается заставка 1С при удаленном подключении к серверной базе и как это правильно исправить?

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

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

В этой статье мы подробно разберем, почему возникает этот бесконечный цикл, проанализируем сетевую архитектуру взаимодействия клиента и сервера 1С, выясним, почему прямая публикация портов в интернет — это критическая ошибка, и рассмотрим пошаговые сценарии правильной и безопасной организации удаленной работы для конфигураций на обычных формах (таких как «Управление торговлей 10.3»).

Выясняем причину: почему мигает заставка и происходит бесконечный цикл?

Для того чтобы понять физику процесса, нам необходимо детально разобрать механизм, по которому клиентское приложение 1С подключается к серверному кластеру. Этот процесс состоит из нескольких последовательных этапов:

  1. Первичное обращение к диспетчеру кластера: В окне запуска 1С пользователь указывает IP-адрес или сетевое имя сервера и имя информационной базы. Клиентское приложение отправляет запрос на порт диспетчера кластера (по умолчанию это порт 1540, где запущен процесс ragent).
  2. Перенаправление к менеджеру кластера: Диспетчер ragent перенаправляет запрос клиента на главный менеджер кластера (порт 1541, процесс rmngr), который занимается авторизацией и распределением нагрузки.
  3. Выделение рабочего процесса: Менеджер кластера определяет, какой именно рабочий процесс (процесс rphost, работающий в диапазоне портов 1560–1591) будет обслуживать данное клиентское соединение. На этом этапе происходит ключевой сбой.

Проблема трансляции имен (DNS): Сервер 1С внутри локальной сети всегда оперирует своими локальными параметрами. Когда менеджер кластера возвращает клиенту адрес рабочего процесса rphost, он передает не внешний IP-адрес, по которому вы стучались на сервер, а локальное сетевое имя сервера (например, srv-1c-main). Получив этот ответ, клиентский компьютер пытается соединиться с рабочим процессом по имени srv-1c-main. Поскольку «левый» компьютер находится вне локальной сети предприятия, его DNS-сервер понятия не имеет, что такое srv-1c-main, и не может разрешить это имя в IP-адрес.

Программа 1С получает отказ соединения, пытается переподключиться заново, инициализирует повторный запуск сессии, закрывает окно заставки и тут же открывает его снова. Мы наблюдаем тот самый бесконечный цикл мерцания логотипа 1С.

Помимо проблемы с DNS, бесконечный цикл на этапе заставки может свидетельствовать еще о двух проблемах:

Технические ограничения и угрозы прямой публикации портов в Интернет

Рассмотрим ситуацию, когда администратор пытается решить проблему «в лоб» — путем настройки проброса портов (Port Forwarding) на офисном роутере, чтобы пустить внешнего клиента напрямую к серверу. На этом пути вас ждут серьезные технические препятствия и угрозы безопасности:

Во-первых, вам придется открыть наружу не один порт, а целый диапазон:

Во-вторых, это критическая угроза информационной безопасности. Публикация портов СУБД (MS SQL, PostgreSQL) или портов сервера 1С напрямую в глобальную сеть — грубейшее нарушение стандартов безопасности. Злоумышленники мгновенно обнаружат открытые порты с помощью автоматизированных сканеров (например, Shodan) и начнут проводить атаки методом перебора (brute-force), искать уязвимости в самой платформе 1С для проникновения в операционную систему сервера или пытаться перехватить незашифрованный трафик, который передается между клиентом и сервером.

Кроме того, если внешний клиент пытается подключиться, используя серый IP-адрес из диапазона 192.168.х.х (как в нашем примере на форуме), роутинг без специализированного туннелирования физически невозможен. Сети диапазона 192.168.0.0/16, 10.0.0.0/8 и 172.16.0.0/12 являются частными (немаршрутизируемыми в Интернет) согласно стандарту RFC 1918. Провайдеры просто отбросят такие пакеты.

Почему «Обычные формы» (УТ 10.3) нежизнеспособны напрямую через Интернет?

Даже если вы решите проблему с сетевой доступностью портов и разрешением имен, работа старых конфигураций (таких как «Управление торговлей 10.3») напрямую через интернет превратится в кошмар для пользователей. Разберем, почему это происходит.

Конфигурация УТ 10.3 построена на архитектуре обычных форм. Это означает, что она работает в режиме Толстого клиента. В режиме толстого клиента практически вся бизнес-логика выполняется на компьютере пользователя. Для выполнения любого действия (открытие справочника, проведение документа, формирование отчета) локальный компьютер совершает сотни и тысячи последовательных запросов к серверу 1С и СУБД, пересылая огромные массивы сырых данных.

Толстый клиент критически чувствителен к задержкам сети (Latency / Ping). В локальной сети офиса пинг составляет менее 1 мс, и тысячи мелких запросов пролетают незаметно. Но если запустить толстый клиент через интернет (где пинг даже на хорошем канале составляет 20–50 мс), задержка на каждом мелком запросе суммируется. В результате операция проведения документа, которая в офисе занимает полсекунды, через интернет будет выполняться 5–10 минут, а интерфейс программы будет постоянно находиться в состоянии «Не отвечает».

Также важно помнить, что конфигурации на обычных формах принципиально невозможно опубликовать на веб-сервере (IIS или Apache) для работы через веб-браузер или тонкий клиент. Веб-публикация поддерживает только управляемый интерфейс (управляемые формы), появившийся в более современных конфигурациях (например, УТ 11, БП 3.0, ЗУП 3.1).

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

Для эффективной, безопасной и быстрой работы с конфигурацией УТ 10.3 (и любыми другими базами на обычных формах) существуют только два рабочих сценария.

Вариант А. Настройка VPN + RDP (Удаленный рабочий стол) — рекомендуемый метод

Это самый надежный, быстрый и безопасный способ. При такой схеме сама программа 1С физически запускается и работает на сервере внутри вашей локальной сети, а по интернету передается только «картинка» экрана и команды ввода (мышь и клавиатура).

Рассмотрим процесс настройки по шагам:

  1. Организация VPN-канала: Системный администратор настраивает VPN-сервер на офисном роутере или выделенном сервере (рекомендуется использовать современные и быстрые протоколы WireGuard, OpenVPN или L2TP/IPsec).
  2. Подключение клиента: На удаленном («левом») компьютере устанавливается VPN-клиент, настраивается подключение к офису. После успешного подключения удаленный компьютер получает внутренний IP-адрес офисной сети (например, из диапазона 192.168.100.х) и безопасный шифрованный канал.
  3. Запуск RDP: Пользователь запускает стандартное средство Windows «Подключение к удаленному рабочему столу» (mstsc) и подключается к терминальному серверу внутри офиса.
  4. Оптимизация (RemoteApp): Чтобы пользователю не приходилось работать внутри полного интерфейса чужого рабочего стола, администратор может настроить технологию RemoteApp. В этом случае 1С будет запускаться в отдельном красивом окне прямо на рабочем столе домашнего компьютера, маскируясь под локально установленную программу, но фактически исполняясь на мощностях сервера.

Вариант Б. Настройка VPN + Толстый клиент (если терминальный доступ невозможен)

Если у вас нет лицензий на терминальный сервер (RDS) или по каким-то организационным причинам требуется запустить базу 1С именно в локально установленной платформе на внешнем компьютере, выполним техническую настройку обхода проблемы бесконечной заставки.

Проанализируем шаги настройки данного сценария:

  1. Подключение к VPN: Как и в первом случае, настройка VPN-туннеля обязательна! Прямое подключение без VPN категорически запрещено из соображений безопасности. После подключения к VPN ваш домашний ПК окажется в одной подсети с сервером 1С.
  2. Решение проблемы сопоставления имен (DNS): Поскольку менеджер кластера возвращает локальное имя сервера, нам нужно вручную научить домашний компьютер сопоставлять это имя с IP-адресом.

    Для этого откроем текстовый редактор «Блокнот» обязательно от имени Администратора. В блокноте откроем файл системных маршрутов по пути: C:\Windows\System32\drivers\etc\hosts (обратите внимание, у файла hosts нет расширения).

    Добавим в самый конец файла новую строку, где укажем локальный IP-адрес сервера 1С и его сетевое имя внутри офиса. Например:

    
    # Соответствие IP-адреса и локального имени сервера 1С в офисе
    192.168.1.100       srv-1c-main
    

    Сохраним изменения в файле hosts.

  3. Добавление базы в список 1С: Запускаем стартер 1С на домашнем компьютере, нажимаем кнопку «Добавить», выбираем «Добавление существующей информационной базы».

    В поле «Кластер серверов 1С:Предприятия» указываем именно сетевое имя сервера (в нашем примере — srv-1c-main), а не его IP-адрес. В поле «Имя информационной базы» пишем точное имя базы на сервере.

  4. Запуск базы: Запускаем базу. Теперь платформа успешно найдет диспетчер кластера по имени (благодаря записи в файле hosts), получит список процессов и сможет успешно подключиться к рабочему процессу rphost. Бесконечный цикл перезапуска логотипа прекратится.

Внимание! При использовании Варианта Б будьте готовы к крайне низкой скорости работы интерфейса. Любое формирование отчета по продажам или проведение тяжелой расходной накладной может вешать программу на несколько минут. Если объем документов велик, единственным разумным выбором останется переход на Вариант А (VPN + RDP).

← На главную