Какие порты открыть на сервере, чтобы тонкий клиент 1С подключился
Содержание
Тонкий клиент в клиент-серверном режиме ходит на сервер 1С по TCP: на порт 1541 (менеджер кластера) и дальше на один из портов рабочих процессов из диапазона 1560-1591. Порт агента сервера 1540 нужен администратору и консолям. Через веб-сервер клиент работает только по 80 или 443. Файловая база портов 1С не использует вообще: клиент открывает каталог по сети.
Что именно открывать, зависит от способа подключения. Ниже сначала сводная таблица, потом детали по каждому случаю и разбор проблем.
Порты тонкого клиента 1С: сводная таблица
Значения по умолчанию. Все они меняются настройками кластера, поэтому в вашей сети цифры могут быть другими.
| Назначение | Порт по умолчанию | Протокол | Кто к кому |
|---|---|---|---|
Агент сервера (ragent) | 1540 | TCP | консоль администрирования, другие серверы кластера |
Менеджер кластера (rmngr) | 1541 | TCP | тонкий клиент, Конфигуратор |
Рабочие процессы (rphost) | 1560-1591 | TCP | тонкий клиент, Конфигуратор |
Сервер администрирования (ras) | 1545 | TCP | утилита rac, консоль |
Сервер отладки (dbgs) | 1550 | TCP | Конфигуратор, отладка |
| Веб-сервер, HTTP | 80 | TCP | тонкий клиент, браузер |
| Веб-сервер, HTTPS | 443 | TCP | тонкий клиент, браузер |
| СУБД PostgreSQL | 5432 | TCP | только сервер 1С → СУБД |
| СУБД MS SQL Server | 1433 | TCP | только сервер 1С → СУБД |
Последние две строки к клиенту отношения не имеют. Пользователь с СУБД не общается: туда ходит только сервер 1С. Открывать эти порты для рабочих мест не нужно.
Как тонкий клиент подключается к серверу 1С
Подключение идёт в два этапа, и это объясняет большинство «странных» проблем.
- Клиент обращается к менеджеру кластера по
1541. Менеджер смотрит, какая информационная база нужна, и сообщает клиенту адрес и порт рабочего процесса. - Клиент открывает второе соединение — уже к рабочему процессу, на порт из диапазона
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С:Предприятия→ нужный сервер →Свойства. - На странице свойств найдите основной порт менеджера кластера и
Диапазоны IP-портов(названия могут чуть отличаться между релизами консоли). - Для рабочих серверов в кластере диапазоны задают отдельно на каждом.
Если сервер 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, снаружи он не откроется.
Что делают на практике:
- На маршрутизаторе пробрасывают
1541и весь диапазон рабочих процессов (1560-1591) на тот же сервер. Если пробросить только1541, клиент дойдёт до менеджера и застрянет. - Сервер 1С регистрируется в кластере по имени, а не по IP. Это имя клиент должен уметь разрешить. Для внешних пользователей — публичная DNS-запись, для внутренних — внутренняя.
- Порты внутри и снаружи оставляют одинаковыми. Трансляция
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
Типичные симптомы и причины
Test-NetConnection на порт из диапазона, который реально слушает сервер.1541, не запущена служба сервера 1С или неверное имя сервера в строке соединения. Проверьте имя через ping и порт через Test-NetConnection.hosts.1541, а диапазон процессов закрыт. Либо внутреннее имя сервера не разрешается снаружи.1550 по умолчанию).Безопасность: как ограничить доступ к портам 1С
Порты сервера 1С не рассчитаны на открытый интернет. Минимальные меры:
- Разрешайте входящие
1540,1541и диапазон процессов только с адресов, откуда ходят пользователи: подсеть офиса, VPN-пул. Правило «любой адрес» должно быть исключением. - Порт сервера администрирования
1545и порт отладки1550закрывайте от рабочих мест. Они нужны администраторам и разработчикам, а не бухгалтерам. - Порты СУБД (
5432,1433) разрешайте только серверу 1С. Прямого доступа к базе у пользователей быть не должно. - Для удалённых пользователей выбирайте публикацию на веб-сервере по HTTPS с аутентификацией либо VPN. Это одна точка входа вместо пачки открытых портов.
- Держите платформу обновлённой: уязвимости в сетевых компонентах закрываются релизами.
Подробности по настройке правил зависят от вашего оборудования, но логика одна: откройте то, что нужно клиенту, и только тем, кому нужно.
Если порты 1С открыты наружу на публичном адресе, проверьте это снаружи сканером портов. Такие серверы находят и перебирают в первую очередь.
Частые вопросы
Нужно ли открывать порт 1540 для обычного пользователя?
1541 и порт рабочего процесса. 1540 нужен консоли администрирования и другим серверам кластера.Можно ли поменять порты 1С?
ragent и свойствах сервера. После изменения нужен перезапуск службы, сеансы пользователей оборвутся.Использует ли файловая база какие-то порты 1С?
15xx.Сколько портов нужно для 20 пользователей?
Чем отличается открытие портов для веб-клиента и тонкого клиента?
80 и 443. Прямое подключение тонкого клиента к серверу требует дополнительно 1541 и диапазона процессов.