К статье
Практический материал

Администрирование · 10 мин

Какие порты открывать для сервера 1С

Какие порты нужны серверу 1С: 1540–1541, 1545, 1560–1591, порты СУБД и лицензирования. Настройка брандмауэра, проверка доступности и типичные ошибки.

Сервер 1С:Предприятия не подключается к клиентам «сам по себе»: каждая его служба слушает определённые TCP-порты, и если они закрыты брандмауэром, пользователи получают ошибки «сервер администрирования не обнаружен» или «ошибка соединения с сервером 1С». Минимальный рабочий набор — порты агента сервера 1540 и 1541, порт менеджера кластера 1545 и диапазон рабочих процессов 1560–1591. Дополнительно нужны порты СУБД и, в некоторых конфигурациях, службы лицензирования.

Точный список зависит от архитектуры: где развёрнута СУБД, используется ли кластер из нескольких серверов, работают ли клиенты через веб-сервер, есть ли службы лицензирования на отдельной машине. Ниже разобраны все порты по ролям, даны команды для настройки брандмауэра Windows и Linux, а также способы проверить, что всё открыто корректно.

Основные порты сервера 1С: что за что отвечает

Кластер серверов 1С состоит из нескольких процессов, и у каждого свой порт. Агент сервера (ragent) слушает порт 1540 — через него идёт служебное взаимодействие между серверами кластера и подключение консоли администрирования. Порт 1541 используется агентом для приёма соединений по защищённому и служебному каналу, а также его указывают при подключении консоли кластеров.

Менеджер кластера (rmngr) занимает порт 1545 — именно к нему в первую очередь обращаются клиентские приложения, чтобы получить список рабочих процессов и информационных баз. Рабочие процессы (rphost), которые непосредственно исполняют код прикладного решения, по умолчанию занимают диапазон 1560–1591: каждый процесс получает свой порт из этого диапазона.

ПортПроцессНазначение
1540ragentСлужебные соединения агента сервера, связь между серверами кластера
1541ragentПодключение консоли администрирования кластера
1545rmngrОбращения клиентов к менеджеру кластера
1560–1591rphostРабочие процессы, исполняющие сеансы пользователей

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

Сервер 1С не хранит данные сам — он обращается к СУБД, и это соединение тоже требует открытого порта. Если база данных развёрнута на той же машине, дополнительных правил в сетевом брандмауэре не нужно, но при разнесении сервера 1С и СУБД на разные машины (рекомендуемая схема для нагруженных систем) порт СУБД должен быть доступен с сервера 1С.

Для Microsoft SQL Server стандартный порт — TCP 1433. Если используется именованный экземпляр с динамическим портом, лучше зафиксировать статический порт в SQL Server Configuration Manager, иначе после каждого перезапуска службы правило брандмауэра может перестать работать. Для PostgreSQL стандартный порт — 5432, дополнительно проверьте файл pg_hba.conf: там должна быть строка, разрешающая подключение с адреса сервера 1С, иначе открытый порт не поможет.

Порты для веб-доступа, лицензирования и кластера

Если пользователи работают через браузер или тонкий клиент по протоколу HTTP, публикацию выполняет веб-сервер (IIS или Apache), и открывать нужно его порты — 80 для HTTP и 443 для HTTPS. Сами порты 1540–1591 в этом случае наружу открывать не требуется: веб-сервер обращается к кластеру внутри локальной сети. Для HTTPS заранее подготовьте действующий сертификат, иначе браузеры будут показывать предупреждения.

Программные лицензии 1С обычно выдаёт сам сервер 1С, и отдельные порты для этого не нужны. Но если используется сервер лицензирования 1С на отдельной машине, потребуется обеспечить связность с ним по портам агента. При построении кластера из нескольких серверов порты 1540, 1541, 1545 и 1560–1591 должны быть открыты между всеми машинами кластера в обе стороны — иначе при отказе центрального сервера резервный не подхватит нагрузку.

Маршрут решения

Как выбрать действие

Клиенты в одной локальной сети с серверомОткройте 1540–1541, 1545, 1560–1591 на сервере 1С и порт СУБД между серверами
Пользователи работают через браузерОткройте наружу только 443 (или 80) на веб-сервере, порты кластера оставьте во внутренней сети
Кластер из нескольких серверовОткройте все порты кластера между каждой парой машин кластера
Удалённые офисы без веб-доступаНастройте VPN до сети с сервером, а не открывайте порты кластера в интернет

Настройка брандмауэра Windows

На Windows Server правила добавляются через «Брандмауэр Защитника Windows» → «Правила для входящих подключений» → «Создать правило» → тип «Для порта» → TCP → указать порты. Удобнее создать два правила: одно для портов 1540, 1541, 1545, второе — для диапазона 1560–1591. В поле «Удаленные IP-адреса» ограничьте доступ подсетью офиса, если клиенты не должны подключаться отовсюду.

Быстрее сделать это одной командой PowerShell от имени администратора. Команда ниже создаёт входящее правило для всего необходимого набора портов:

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

Проверьте, что сетевой профиль сервера определён как «Частная» или «Доменная»: в профиле «Общественная» многие правила с ограничениями по подсети работают иначе. После добавления правил перезапускать службу агента сервера 1С не требуется — брандмауэр применяет правила на лету.

Настройка firewall в Linux

На Linux-дистрибутивах с firewalld (CentOS, RHEL, Rocky) порты открываются командами firewall-cmd с последующим сохранением правила в постоянную конфигурацию. Без ключа --permanent правило исчезнет после перезагрузки службы — это одна из самых частых причин «вчера работало, сегодня нет».

bash
firewall-cmd --permanent --add-port=1540-1541/tcp --add-port=1545/tcp --add-port=1560-1591/tcp && firewall-cmd --reload

На системах с ufw (Debian, Ubuntu) используется команда вида ufw allow 1540:1541/tcp и отдельно для диапазона рабочих процессов. Если перед сервером стоит внешний сетевой экран или облачная группа безопасности (security group), правила нужно продублировать и там — локальный firewall не отменяет фильтрацию на уровне сети.

Проверка доступности портов и диагностика

После настройки проверьте результат с клиентской машины, а не с самого сервера — локальная проверка не покажет проблемы сетевого фильтра. Классический способ — командлет Test-NetConnection в PowerShell: он покажет, открыт ли конкретный порт на удалённом хосте.

powershell
Test-NetConnection -ComputerName srv1c -Port 1545

Признак успеха — строка TcpTestSucceeded : True. Если значение False, проверяйте по цепочке: слушает ли процесс порт на сервере (команда netstat -ano | find "1545" на Windows или ss -tlnp | grep 1545 на Linux), применилось ли правило брандмауэра, нет ли промежуточного маршрутизатора с фильтрацией. Ошибка «сервер администрирования не обнаружен» в консоли кластера почти всегда означает закрытый порт 1540 или 1541, а «ошибка соединения с рабочим процессом» — незакрытый диапазон 1560–1591.

Контрольные точки

Как проверить результат

Test-NetConnection к порту 1545 с клиента
Норма

TcpTestSucceeded: True

Тревожный признак

False — порт закрыт или служба не запущена

Список слушающих портов на сервере
Норма

ragent слушает 1540/1541, rmngr — 1545, rphost — порты из 1560–1591

Тревожный признак

Процесса нет в списке — служба сервера 1С не запущена

Подключение клиента к базе
Норма

Сеанс открывается без ошибок соединения

Тревожный признак

Ошибка соединения — проверять диапазон 1560–1591 и DNS-имя сервера

Типичные ошибки при открытии портов

Типичные ошибки
01
Открыт только порт 1545 — клиент находит кластер, но падает с ошибкой при подключении к рабочему процессу, потому что закрыт диапазон 1560–1591
02
Правило создано без --permanent в firewalld — после перезагрузки сервера подключение перестаёт работать
03
Именованный экземпляр MS SQL с динамическим портом — после перезапуска SQL Server порт меняется, и правило брандмауэра устаревает
04
Порты кластера открыты в интернет «для удалённых пользователей» — это создаёт серьёзный риск взлома и шифрования баз
05
Забыт внешний сетевой экран или облачная security group — локальные правила настроены, но трафик режется на уровне сети

Отдельная группа проблем — DNS. Даже при полностью открытых портах клиент не подключится, если имя сервера разрешается в неверный IP-адрес или не разрешается вовсе. Проверяйте ping по имени и при необходимости добавьте запись в DNS или файл hosts на клиентах.

Итог

Что важно запомнить

Базовый набор сервера 1С — порты 1540, 1541, 1545 и диапазон 1560–1591; плюс порт СУБД между сервером 1С и сервером баз данных. Открывайте только то, что реально используется, ограничивайте доступ подсетями и никогда не публикуйте порты кластера и СУБД в интернет. После настройки проверяйте доступность с клиентской машины через Test-NetConnection.

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

Можно ли изменить стандартные порты сервера 1С?

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

Нужно ли открывать порты, если сервер 1С и SQL Server на одной машине?

Для связи 1С с локальной СУБД правила сетевого брандмауэра не нужны — соединение идёт через loopback. Но порты 1540–1545 и 1560–1591 всё равно придётся открыть, чтобы к серверу подключались клиентские машины.

Какие порты нужны для веб-клиента 1С?

Для пользователей — только порт веб-сервера: 80 для HTTP или 443 для HTTPS. Порты кластера (1540–1591) должны быть доступны только самому веб-серверу во внутренней сети, открывать их наружу не требуется.

Почему консоль кластера не видит сервер, хотя порт 1545 открыт?

Консоль администрирования подключается к агенту сервера через порты 1540 и 1541, а не к менеджеру кластера. Проверьте, что открыты именно они, и что служба «Агент сервера 1С:Предприятия» запущена.

Нужны ли отдельные порты для сервера лицензий 1С?

Если лицензии раздаёт сам сервер 1С — нет, всё работает через стандартные порты кластера. Если служба лицензирования вынесена на отдельную машину, обеспечьте связность с ней по портам агента (1540–1541) со всех серверов кластера.

Как быстро проверить, какой процесс занял порт 1545?

На Windows выполните netstat -ano | find "1545", найдите PID и сопоставьте его с процессом в диспетчере задач. На Linux — ss -tlnp | grep 1545, команда сразу покажет имя процесса. Это помогает, когда порт случайно занят другой программой и агент 1С не стартует.