Сетевые порты 1С 8.3: что открыть на сервере, СУБД и в брандмауэре

· 10 мин

Содержание

Клиент 1С:Предприятие 8.3 в клиент-серверном режиме использует порты TCP 1540 (агент сервера), 1541 (менеджер кластера) и диапазон 1560–1591 (рабочие процессы). В файловом режиме своих портов у 1С нет: клиент читает базу через общую папку Windows, то есть по SMB на порт TCP 445. Порты СУБД (1433 у MS SQL Server, 5432 у PostgreSQL) нужны только между сервером 1С и сервером базы данных, а не на рабочих местах.

Все эти номера — значения по умолчанию. Администратор может их сменить при установке службы, поэтому перед настройкой брандмауэра сверьте фактические порты на своём сервере. Как это сделать, показано ниже.

Как клиент 1С связывается с сервером и базой данных

Чтобы понять, какие порты открывать, удобно представить цепочку соединений. В ней три участника, и у каждого своя роль.

  • 🖥️ Клиент — толстый, тонкий клиент или конфигуратор на рабочем месте пользователя.
  • ⚙️ Сервер 1С:Предприятия — служба ragent.exe (агент), процессы rmngr.exe (менеджер кластера) и rphost.exe (рабочие процессы).
  • 🗄️ СУБД — MS SQL Server, PostgreSQL или другая поддерживаемая система, где физически лежат таблицы базы.

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

Клиент никогда не подключается к СУБД напрямую. Поэтому порт 1433 или 5432 на компьютерах пользователей открывать не нужно: это частая ошибка, которая лишь расширяет поверхность атаки.

Отдельный случай — веб-клиент и тонкий клиент через веб-сервер. Тогда пользователю нужен только HTTP или HTTPS (порты 80 и 443) до веб-сервера с публикацией, а веб-сервер уже сам ходит к кластеру 1С по обычным портам.

Порты сервера 1С в клиент-серверном режиме

Ниже — сводная таблица портов, которые слушает сервер 1С:Предприятия 8.3 со стандартными настройками.

Порт (TCP)ПроцессНазначениеКому нужен доступ
1540ragent.exeАгент сервера, точка входа и администрирование через консоль кластераКлиенты, консоль администрирования
1541rmngr.exeГлавный менеджер кластера, порт кластера в строке подключенияКлиенты, другие серверы кластера
1560–1591rphost.exe, rmngr.exeДинамический диапазон для рабочих процессов и служебных менеджеровКлиенты, другие серверы кластера
1545ras.exeСервер администрирования для утилиты rac и сторонних консолейТолько администраторы
1542crserver.exeСервер хранилища конфигурации по протоколу TCPРазработчики
1550dbgs.exeСервер отладки при отладке по протоколу HTTPРазработчики

Обязательный минимум для работы пользователей — 1540, 1541 и весь диапазон 1560–1591. Если открыть только 1541, клиент найдёт кластер, но не сможет продолжить сеанс на рабочем процессе: соединение оборвётся через несколько секунд ожидания.

Где посмотреть фактические порты

Номера задаются в командной строке службы сервера. Откройте оснастку services.msc, найдите службу «Агент сервера 1С:Предприятия 8.3» и посмотрите поле «Исполняемый файл». Строка выглядит примерно так:

"C:\Program Files\1cv8\8.3.24.1586\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"

Здесь -port — порт агента, -regport — порт главного менеджера кластера, -range — диапазон для рабочих процессов. Диапазон можно дополнительно изменить в консоли кластера: в свойствах рабочего сервера есть таблица диапазонов IP-портов. Там же хранится порт главного менеджера кластера.

Если на одном компьютере работают две службы 1С разных версий, второй обычно ставят порты со сдвигом на тысячу: 2540, 2541 и 2560–2591. Тогда в строке подключения клиента указывают порт кластера явно: Srvr="srv1c:2541";Ref="buh";.

Сколько портов нужно в диапазоне

Каждый рабочий процесс и каждый служебный менеджер занимает порт из диапазона. Стандартные 32 порта хватает небольшому кластеру с несколькими рабочими процессами. Если в кластере много процессов или включены отдельные менеджеры под каждый сервис, диапазон расширяют, например до 1560:1691. Тогда правило брандмауэра тоже нужно расширить на тот же интервал.

Порты для файловой базы

Файловая база — это папка с файлом 1Cv8.1CD. Платформа на рабочем месте открывает его как обычный файл в сетевой папке. Значит, сетевой трафик идёт по протоколу общих папок Windows.

  • 📁 TCP 445 — SMB, основной порт для доступа к общей папке. Его достаточно на современных Windows.
  • 📜 TCP 139, UDP 137–138 — NetBIOS. Нужен только в старых сетях без DNS, где компьютер с базой находят по NetBIOS-имени.

На компьютере с базой правило входящего трафика обычно уже есть: оно включается группой «Общий доступ к файлам и принтерам» в брандмауэре Windows. Если папка открыта, но с другого ПК недоступна, проверьте именно эту группу и профиль сети. В профиле «Общедоступная» общий доступ по умолчанию закрыт.

Не публикуйте порт 445 в интернет ради удалённой работы с файловой базой. Для удалёнки используйте VPN, удалённый рабочий стол или публикацию базы на веб-сервере.

Если файловую базу опубликовали через Apache или IIS, клиентам нужен только порт 80 или 443 до веб-сервера. Доступ к папке с базой тогда требуется лишь самому веб-серверу.

Порт ключа защиты HASP

Если лицензии 1С выданы аппаратными сетевыми ключами, к списку добавляется менеджер лицензий HASP License Manager. Он работает на порту 475 (TCP и UDP). Клиент находит ключ широковещательным запросом или по адресу из файла nethasp.ini:

[NH_COMMON]
NH_TCPIP = Enabled

[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.10
NH_USE_BROADCAST = Disabled

Явный адрес надёжнее широковещательного поиска: в сети с несколькими подсетями broadcast до сервера ключа часто не доходит. Файл кладут в каталог conf установленной платформы. У программных лицензий отдельного сетевого порта нет: в клиент-серверном варианте их выдаёт сам сервер 1С.

Порты СУБД: MS SQL Server и PostgreSQL

Это связь «сервер 1С → сервер базы данных». Если СУБД и служба 1С стоят на одном компьютере, порт СУБД наружу открывать не нужно вообще.

СУБДПорт по умолчаниюЧто ещё проверить
MS SQL Server, экземпляр по умолчаниюTCP 1433Включён протокол TCP/IP в SQL Server Configuration Manager
MS SQL Server, именованный экземплярДинамический порт + UDP 1434Служба SQL Server Browser или закреплённый статический порт
PostgreSQLTCP 5432listen_addresses в postgresql.conf и правило в pg_hba.conf

MS SQL Server

У именованного экземпляра (SQLSRV\INST1C) порт по умолчанию выбирается динамически при каждом запуске. Клиент узнаёт его через службу SQL Server Browser по UDP 1434. Для брандмауэра это неудобно: порт может смениться после перезагрузки.

Надёжнее закрепить порт. В SQL Server Configuration Manager откройте сетевую конфигурацию экземпляра, свойства протокола TCP/IP, вкладку с IP-адресами. В блоке IPAll очистите поле динамических портов и впишите статический, например 1435. После перезапуска службы SQL откройте этот порт на сервере СУБД.

PostgreSQL

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

# postgresql.conf
listen_addresses = '*'
port = 5432
# pg_hba.conf — разрешить только серверу 1С
host    all    all    192.168.1.20/32    scram-sha-256

Метод аутентификации ставьте тот, что настроен для вашего пользователя postgres (scram-sha-256 или md5). После правки перезапустите службу PostgreSQL. Разрешайте доступ точечным адресом сервера 1С, а не всей подсетью.

Правила брандмауэра Windows для 1С

Входящие правила создают на сервере 1С. На клиентских компьютерах исходящий трафик в Windows по умолчанию разрешён, отдельные правила там обычно не нужны.

Проще всего добавить правила из командной строки, запущенной от имени администратора:

netsh advfirewall firewall add rule name="1C Server 8.3" dir=in action=allow protocol=TCP localport=1540-1541,1560-1591
netsh advfirewall firewall add rule name="1C RAS" dir=in action=allow protocol=TCP localport=1545 remoteip=192.168.1.5

Тот же результат через PowerShell:

New-NetFirewallRule -DisplayName "1C Server 8.3" -Direction Inbound -Protocol TCP -LocalPort 1540,1541,1560-1591 -Action Allow

Второе правило в примере открывает сервер администрирования только для одного компьютера администратора. Так же стоит поступить с портами хранилища и отладки: пользователям они не нужны.

Настройка через графический интерфейс

  1. Откройте «Монитор брандмауэра Защитника Windows в режиме повышенной безопасности» (команда wf.msc).
  2. Выберите «Правила для входящих подключений» → «Создать правило».
  3. Тип правила — «Для порта», протокол TCP, конкретные локальные порты: 1540-1541,1560-1591.
  4. Действие — «Разрешить подключение».
  5. Отметьте профили, в которых работает сервер. Для доменного сервера достаточно «Доменного».
  6. Задайте понятное имя, например «1С сервер 8.3», и сохраните.

Альтернатива — правило «Для программы» на ragent.exe, rmngr.exe и rphost.exe. Но путь к исполняемым файлам содержит номер версии платформы, и после каждого обновления правило придётся пересоздавать. Правило по портам переживает обновления.

На сервере СУБД создайте отдельное правило на 1433 или 5432 и в поле «Область» ограничьте удалённые адреса IP-адресом сервера 1С.

Если между офисами стоит аппаратный межсетевой экран

Тот же набор портов нужно разрешить на маршрутизаторе или межсетевом экране. Учтите NAT: сервер 1С сообщает клиенту адрес рабочего процесса так, как он сам себя знает. Если клиент снаружи не может разрешить имя сервера в правильный адрес, соединение с кластером пройдёт, а с рабочим процессом нет. Для удалённых офисов обычно надёжнее VPN или публикация через веб-сервер.

Диагностика: соединение с сервером 1С не устанавливается

Типичный текст ошибки на клиенте: Сервер 1С:Предприятия не обнаружен или Не удалось установить соединение с сервером 1С:Предприятия. В подробностях часто встречается код сокета: 10060 (истекло время ожидания) или 10061 (подключение отвергнуто).

  • ⏱️ 10060 — пакеты не доходят. Почти всегда блокирует брандмауэр или маршрутизатор.
  • 🚫 10061 — сервер доступен, но на порту никто не слушает: служба остановлена или работает на другом порту.

Порядок проверки

  1. Служба запущена? Посмотрите статус службы агента в services.msc или выполните в PowerShell Get-Process ragent, rmngr, rphost. Если процессов нет, сервер 1С не работает .
  2. Порты слушаются? На сервере выполните netstat -ano | findstr ":154". В выводе должны быть строки с LISTENING на 1540 и 1541. Порты 1560 и выше появляются, когда запущены рабочие процессы.
  3. Порт доступен с клиента? На рабочем месте в PowerShell:
Test-NetConnection srv1c -Port 1541
Test-NetConnection srv1c -Port 1560

Строка TcpTestSucceeded : True значит, что порт открыт. Проверьте и порт из диапазона: частая картина — 1541 отвечает, а 1560 нет.

  1. Имя разрешается правильно? Выполните ping srv1c и сравните адрес с реальным. Кластер возвращает клиенту имя сервера, под которым тот зарегистрирован в консоли кластера. Если клиент это имя не знает, добавьте запись в DNS или в файл C:\Windows\System32\drivers\etc\hosts.
  2. Порт в строке подключения совпадает? Если кластер работает на нестандартном порту, а в списке баз указан просто srv1c, клиент постучится на 1541 и не найдёт сервер.
Диагностика: выберите симптом

Если порты открыты, а ошибка остаётся, загляните в технологический журнал или журнал регистрации Windows на сервере. Сообщения службы агента подскажут, на каком этапе обрывается подключение.

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

Нужно ли открывать порты на компьютерах пользователей?
Обычно нет. Клиент сам устанавливает исходящее соединение, а входящие правила создают только на сервере 1С и, при необходимости, на сервере СУБД.
Можно ли пользоваться только портом 1541?
Нет. Через 1541 клиент находит кластер, но работает дальше с рабочим процессом на порту из диапазона 1560–1591. Без диапазона сеанс не откроется.
Какой порт нужен консоли администрирования серверов 1С?
Классическая консоль кластера подключается к агенту на порт 1540. Утилита rac и сторонние консоли работают через сервер администрирования ras на порту 1545.
Какие порты нужны тонкому клиенту через интернет?
Если база опубликована на веб-сервере, нужен только HTTPS, порт 443. Открывать порты кластера 1С в интернет не рекомендуется: используйте публикацию или VPN.
Нужен ли интернет-доступ серверу 1С для программных лицензий?
Только в момент активации или обновления лицензии через интернет, по HTTPS. Её можно получить и без сети, по телефону или через файл запроса. В обычной работе лицензии выдаёт сам сервер 1С.