Как настроить удаленное подключение к серверу 1С через интернет без правки файла hosts?

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

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

Механизм подключения клиента 1С к кластеру серверов

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

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

Рассмотрим основные способы корректного решения данной проблемы.

Способ 1. Публикация базы на веб-сервере (рекомендуемый стандарт)

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

Разберем последовательность действий:

  1. Установите на сервере веб-сервер (Microsoft IIS или Apache).
  2. Запустите «1С:Предприятие» в режиме «Конфигуратор» с правами администратора.
  3. Перейдите в меню «Администрирование» → «Публикация на веб-сервере…».
  4. Укажите имя публикации, выберите установленный веб-сервер и каталог публикации, после чего нажмите кнопку «Опубликовать».
  5. Настройте на сетевом шлюзе проброс стандартных портов HTTP/HTTPS (80 и 443) на внутренний IP-адрес веб-сервера.

В этом сценарии веб-сервер выступает шлюзом: удаленные клиенты подключаются к нему по протоколу HTTP/HTTPS, а веб-сервер взаимодействует с кластером 1С внутри локальной сети по локальным именам. Проблема неразрешимого имени хоста полностью снимается, а открывать наружу диапазон служебных портов 1С не требуется.

Способ 2. Организация защищенного VPN-канала

Если для работы требуется классическое прямое подключение без веб-сервера, оптимальным решением является объединение клиентов и сервера в единую частную виртуальную сеть (VPN).

Рассмотрим схему настройки:

  1. Разверните VPN-сервер на шлюзе сети или выделенном сервере (например, WireGuard, OpenVPN, SSTP или L2TP/IPsec).
  2. Настройте выдачу клиентам внутренних DNS-серверов локальной сети при установке VPN-соединения.
  3. Удаленный клиент подключается к VPN, получает локальный IP-адрес и возможность штатно разрешать внутреннее имя srv1c через корпоративный DNS.

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

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

Консоль администрирования кластера не позволяет напрямую изменить имя единственного центрального сервера. Разберем, как выполнить изменение корректно:

  1. Зарегистрируйте публичный домен и настройте для него DNS-запись типа A (например, srv1c.yourdomain.com), указывающую на ваш внешний статический IP-адрес.
  2. Остановите службу «Агент сервера 1С:Предприятия 8.3» (ragent) через консоль служб Windows (services.msc).
  3. Перейдите в каталог данных кластера (по умолчанию C:\Program Files\1cv8\srvinfo).
  4. Откройте конфигурационный файл 1CV8Clst.lst в текстовом редакторе.
  5. Найдите локальное имя сервера (например, "srv1c") и замените его на полное зарегистрированное доменное имя (например, "srv1c.yourdomain.com").
  6. Сохраните изменения в файле и запустите службу «Агент сервера 1С:Предприятия 8.3».

После перезапуска кластер начнет возвращать клиентам полное доменное имя, которое успешно резолвится как внутри сети, так и через публичные DNS в интернете.

Способ 4. Настройка основного DNS-суффикса в операционной системе

Альтернативный вариант формирования полного доменного имени — задание суффикса на уровне сетевых настроек Windows:

  1. Откройте свойства системы на сервере 1С («Параметры» → «О системе» → «Дополнительные параметры системы» → вкладка «Имя компьютера» → кнопка «Изменить» → кнопка «Дополнительно»).
  2. В поле «Основной DNS-суффикс этого компьютера» укажите ваш домен (например, yourdomain.com). Полное имя компьютера станет srv1c.yourdomain.com.
  3. Перезагрузите сервер операционной системы.
  4. Убедитесь, что в публичной DNS-зоне домена создана запись типа A для поддомена srv1c, указывающая на внешний IP-адрес маршрутизатора.

Требования к безопасности и пробросу портов

Проанализируем важные нюансы сетевой конфигурации при прямом доступе к кластеру через интернет:

  1. Диапазон портов: При прямом подключении недостаточно пробросить только порт 1541. Маршрутизатор должен транслировать весь служебный диапазон: порт главного менеджера (1540), порт кластера (1541) и диапазон портов рабочих процессов (обычно 1560–1591).
  2. Безопасность: Публикация портов кластера 1С напрямую в открытый интернет без использования шифрованного VPN-соединения или HTTPS-шлюза на веб-сервере создает серьезные риски несанкционированного доступа к данным, поэтому в рабочей среде рекомендуется использовать Способ 1 или Способ 2.
← На главную