Какие порты открыть на сервере, чтобы тонкий клиент 1С подключился

· 9 мин

Содержание

Тонкий клиент в клиент-серверном режиме ходит на сервер 1С по TCP: на порт 1541 (менеджер кластера) и дальше на один из портов рабочих процессов из диапазона 1560-1591. Порт агента сервера 1540 нужен администратору и консолям. Через веб-сервер клиент работает только по 80 или 443. Файловая база портов 1С не использует вообще: клиент открывает каталог по сети.

Что именно открывать, зависит от способа подключения. Ниже сначала сводная таблица, потом детали по каждому случаю и разбор проблем.

Порты тонкого клиента 1С: сводная таблица

Значения по умолчанию. Все они меняются настройками кластера, поэтому в вашей сети цифры могут быть другими.

НазначениеПорт по умолчаниюПротоколКто к кому
Агент сервера (ragent)1540TCPконсоль администрирования, другие серверы кластера
Менеджер кластера (rmngr)1541TCPтонкий клиент, Конфигуратор
Рабочие процессы (rphost)1560-1591TCPтонкий клиент, Конфигуратор
Сервер администрирования (ras)1545TCPутилита rac, консоль
Сервер отладки (dbgs)1550TCPКонфигуратор, отладка
Веб-сервер, HTTP80TCPтонкий клиент, браузер
Веб-сервер, HTTPS443TCPтонкий клиент, браузер
СУБД PostgreSQL5432TCPтолько сервер 1С → СУБД
СУБД MS SQL Server1433TCPтолько сервер 1С → СУБД

Последние две строки к клиенту отношения не имеют. Пользователь с СУБД не общается: туда ходит только сервер 1С. Открывать эти порты для рабочих мест не нужно.

Как тонкий клиент подключается к серверу 1С

Подключение идёт в два этапа, и это объясняет большинство «странных» проблем.

  1. Клиент обращается к менеджеру кластера по 1541. Менеджер смотрит, какая информационная база нужна, и сообщает клиенту адрес и порт рабочего процесса.
  2. Клиент открывает второе соединение — уже к рабочему процессу, на порт из диапазона 1560-1591.

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

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

Srvr="app-srv";Ref="buh";

Если менеджер кластера слушает нестандартный порт, его пишут через двоеточие:

Srvr="app-srv:2541";Ref="buh";

Порт в строке соединения — это порт менеджера кластера, а не агента. Частая путаница: человек пишет app-srv:1540 и удивляется, почему в одних настройках работает, а в других нет. Проверяйте, на каком порту реально слушает rmngr.

Диапазон портов рабочих процессов: сколько нужно и где задаётся

Каждый рабочий процесс rphost занимает свой порт из диапазона. Процессов на сервере столько, сколько вы настроили: по одному на ядро, на группу баз, на лимит памяти — в зависимости от схемы. Стандартные 32 порта (с 1560 по 1591) хватает почти всегда. На большом сервере с десятками баз и отдельными процессами на каждую диапазон иногда приходится расширять.

Где посмотреть и изменить:

  1. В консоли администрирования серверов 1С откройте Центральные серверы 1С:Предприятия → нужный сервер → Свойства.
  2. На странице свойств найдите основной порт менеджера кластера и Диапазоны IP-портов (названия могут чуть отличаться между релизами консоли).
  3. Для рабочих серверов в кластере диапазоны задают отдельно на каждом.

Если сервер 1С поднимает служба, параметры запуска агента лежат в её настройках. Основные ключи ragent:

КлючЧто задаёт
-port 1540порт агента сервера
-regport 1541порт менеджера кластера при создании кластера
-range 1560:1591диапазон портов рабочих процессов

Менять порты или диапазоны на действующем сервере — значит перезапускать службу. Оборвутся сеансы всех пользователей, несохранённые документы пропадут. Делайте это вне рабочего времени и заранее предупредите людей.

Главное правило при ручных настройках: диапазоны разных серверов и разных экземпляров кластера на одной машине не должны пересекаться. Иначе один из сервисов не сможет занять порт, и часть процессов не стартует.

Как понять, что диапазона не хватает

Признак один: часть рабочих процессов не стартует, в журнале регистрации и в логах технологического журнала появляются сообщения о невозможности занять порт, а пользователи получают отказ при входе, хотя ресурсов сервера достаточно. Проверьте, сколько процессов rphost запущено сейчас и сколько портов в диапазоне занято другими программами. Порты из диапазона иногда занимает чужое ПО: другие службы берут динамические порты в тех же номерах.

Если коллизия подтвердилась, выбирайте один из двух путей:

  • сдвинуть диапазон 1С на свободный участок, например 2560:2591, и обновить правила файрвола;
  • освободить порты, перенастроив конфликтующую программу.

Второй путь обычно проще, когда конфликтующая служба одна и её настройки доступны.

Публикация на веб-сервере: HTTP и HTTPS

Когда пользователи подключаются тонким клиентом через веб-сервер, клиент говорит с ним по обычному HTTP или HTTPS. Нужны только 80 и/или 443 до веб-сервера. Дальше уже веб-сервер (Apache или IIS) через модуль расширения ходит к серверу 1С на 1541 и порты рабочих процессов.

Из этого следуют три практических вывода:

  • На рабочих местах открывать 1540-1591 не нужно, если все работают через публикацию.
  • Между веб-сервером и сервером 1С порты придётся открыть в полном объёме.
  • Для выхода из интернета разумно оставить только 443. Открытый 80 нужен лишь для редиректа на HTTPS.

Адрес публикации для тонкого клиента вводят в окне запуска, добавляя базу как веб-соединение. Если сайт слушает нестандартный порт, он указывается в адресе: https://example.ru:8443/buh.

HTTP-публикация нужна и для веб-сервисов, и для обменов. Для обычного пользовательского входа она не обязательна: на локальной сети чаще подключаются напрямую к серверу.

Порты для отладки и консоли администрирования

Два порта, о которых вспоминают в последнюю очередь.

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

Серверное администрирование. Консоль администрирования серверов 1С подключается к агенту сервера на 1540. Утилита rac ходит через сервер администрирования ras, которому по умолчанию отведён 1545. Запуск ras в виде службы описан в документации платформы. Проверить доступность кластера из командной строки можно так:

rac cluster list app-srv:1545

Если вернулся список кластеров, связь с ras в порядке. По остальным подкомандам смотрите встроенную справку rac help.

Проброс портов через NAT и работа из другой сети

Когда сервер стоит за маршрутизатором, а клиент снаружи, схема ломается из-за второго шага подключения. Менеджер кластера сообщает клиенту адрес рабочего процесса. Если он пишет внутренний адрес вроде 192.168.1.10, снаружи он не откроется.

Что делают на практике:

  1. На маршрутизаторе пробрасывают 1541 и весь диапазон рабочих процессов (1560-1591) на тот же сервер. Если пробросить только 1541, клиент дойдёт до менеджера и застрянет.
  2. Сервер 1С регистрируется в кластере по имени, а не по IP. Это имя клиент должен уметь разрешить. Для внешних пользователей — публичная DNS-запись, для внутренних — внутренняя.
  3. Порты внутри и снаружи оставляют одинаковыми. Трансляция 1560 → 3560 ломает схему: сервер сообщает клиенту свои собственные порты, и они должны совпадать с теми, что доступны снаружи.

Для пользователей вне офиса такой проброс неудобен и небезопасен: любой, кто знает адрес, получает доступ к сетевым службам 1С. Открывать наружу сразу тридцать с лишним портов сервера 1С — плохая идея. Гораздо проще опубликовать базу на веб-сервере и пробросить один 443. Для сотрудников, которые работают из дома, часто вместо проброса поднимают VPN.

Как проверить доступность портов и найти причину сбоя

Диагностика идёт от простого к сложному.

Слушает ли сервер нужные порты

На сервере 1С под Windows в PowerShell:

Get-NetTCPConnection -State Listen | Where-Object { $_.LocalPort -ge 1540 -and $_.LocalPort -le 1591 }

В Linux:

ss -ltnp | grep -E '15[4-9][0-9]'

Должны быть видны 1540, 1541 и порты процессов из диапазона. Если 1541 нет, не запущена служба сервера 1С или менеджер кластера занял другой порт.

Доходит ли клиент до сервера

С машины пользователя:

Test-NetConnection app-srv -Port 1541
Test-NetConnection app-srv -Port 1560

Если первая команда успешна, а вторая — нет, вы нашли проблему: закрыт диапазон. Проверьте один-два порта диапазона, не только первый. Порт 1560 может не слушаться, если процесс на нём не запущен: смотрите в первую очередь на тот, что реально занят (по выводу ss или Get-NetTCPConnection).

Что блокирует трафик

Проверяют по порядку:

  • 🛡️ брандмауэр Windows на сервере, правила входящих подключений;
  • 🧱 аппаратный межсетевой экран или правила на маршрутизаторе;
  • 💻 антивирус с собственным файрволом на сервере или клиенте;
  • 🌐 прокси, если клиент настроен на подключение через него.

Правило брандмауэра Windows для диапазона создаётся одной командой:

netsh advfirewall firewall add rule name="1C server ports" dir=in action=allow protocol=TCP localport=1540-1541,1560-1591

Типичные симптомы и причины

Диагностика: выберите симптом

Безопасность: как ограничить доступ к портам 1С

Порты сервера 1С не рассчитаны на открытый интернет. Минимальные меры:

  • Разрешайте входящие 1540, 1541 и диапазон процессов только с адресов, откуда ходят пользователи: подсеть офиса, VPN-пул. Правило «любой адрес» должно быть исключением.
  • Порт сервера администрирования 1545 и порт отладки 1550 закрывайте от рабочих мест. Они нужны администраторам и разработчикам, а не бухгалтерам.
  • Порты СУБД (5432, 1433) разрешайте только серверу 1С. Прямого доступа к базе у пользователей быть не должно.
  • Для удалённых пользователей выбирайте публикацию на веб-сервере по HTTPS с аутентификацией либо VPN. Это одна точка входа вместо пачки открытых портов.
  • Держите платформу обновлённой: уязвимости в сетевых компонентах закрываются релизами.

Подробности по настройке правил зависят от вашего оборудования, но логика одна: откройте то, что нужно клиенту, и только тем, кому нужно.

Если порты 1С открыты наружу на публичном адресе, проверьте это снаружи сканером портов. Такие серверы находят и перебирают в первую очередь.

Частые вопросы

Нужно ли открывать порт 1540 для обычного пользователя?
Нет. Тонкий клиент работает через 1541 и порт рабочего процесса. 1540 нужен консоли администрирования и другим серверам кластера.
Можно ли поменять порты 1С?
Да. Порт менеджера кластера, порт агента и диапазон процессов задаются в параметрах запуска ragent и свойствах сервера. После изменения нужен перезапуск службы, сеансы пользователей оборвутся.
Использует ли файловая база какие-то порты 1С?
Нет. Клиент обращается к каталогу базы по сети, обычно по протоколу общего доступа к файлам. Открывать нужно доступ к сетевой папке, а не порты 15xx.
Сколько портов нужно для 20 пользователей?
Количество пользователей напрямую не влияет. Важно число рабочих процессов, которое вы настроили. Стандартного диапазона на 32 порта обычно с запасом хватает.
Чем отличается открытие портов для веб-клиента и тонкого клиента?
Веб-клиент и тонкий клиент через публикацию используют одни и те же 80 и 443. Прямое подключение тонкого клиента к серверу требует дополнительно 1541 и диапазона процессов.