При организации удаленной работы пользователей часто возникает необходимость подключить тонкий клиент 1С к информационной базе, расположенной в локальной сети компании, используя внешний статический IP-адрес. Разберем, почему произвольный проброс одного порта (например, 777 или 1541) не приносит результата, проанализируем внутренние механизмы работы кластера 1С и изучим пошаговый порядок настройки сетевого оборудования и клиентов.
Рассмотрим, что происходит при попытке установить прямое соединение тонкого клиента с кластером серверов 1С через интернет. При первичном обращении тонкий клиент связывается с менеджером кластера rmngr по стандартному порту (TCP 1541). Однако менеджер кластера не выполняет трансляцию всего пользовательского трафика через себя — он перенаправляет клиентское подключение на конкретный рабочий процесс rphost.
В момент перенаправления менеджер кластера передает клиенту служебные данные: сетевое имя (Host Name) сервера в локальной сети и номер порта из диапазона рабочих процессов. В результате возникает две проблемы:
server-1c), которое не резолвится через публичные DNS-серверы в интернете.Для обеспечения корректной работы бинарного протокола 1С необходимо открыть и пробросить на внутренний IP-адрес сервера 1С следующие порты:
rphost. Все эти порты должны быть проброшены один к одному без изменения номеров.Разберем настройку сетевого экрана на самом сервере приложений 1С. В Брандмауэре Windows необходимо создать входящие правила для протокола TCP, разрешающие подключения к указанным портам (1540, 1541, 1560-1591) для всех используемых сетевых профилей.
Поскольку кластер 1С возвращает клиенту внутреннее имя сервера, проанализируем способ, позволяющий удаленному компьютеру сопоставить это имя с внешним статическим IP-адресом организации.
Если используется одиночное постоянное подключение, выполним сопоставление через локальный файл hosts на удаленном рабочем месте:
C:\Windows\System32\drivers\etc\hosts.
198.51.100.25 server-1c
где 198.51.100.25 — внешний статический IP-адрес вашего роутера, а server-1c — точное локальное имя сервера приложений 1С.
Рассмотрим порядок заполнения параметров подключения в тонком клиенте 1С. В окне добавления информационной базы выберем тип подключения "Вариант работы: Сервер предприятия 1С:Предприятия".
В поле "Кластер серверов" необходимо указать имя сервера (которое мы прописали в файле hosts) или внешне доступный IP-адрес без указания порта:
server-1c или 198.51.100.25
В поле "Имя информационной базы" укажем точное имя базы данных на сервере 1С.
Проанализируем технические риски и недостатки прямого проброса портов 1С в публичную сеть:
Выясним, какие архитектурные решения позволяют избежать прямого открытия портов кластера 1С наружу: