Администрирование · 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: каждый процесс получает свой порт из этого диапазона.
| Порт | Процесс | Назначение |
|---|---|---|
| 1540 | ragent | Служебные соединения агента сервера, связь между серверами кластера |
| 1541 | ragent | Подключение консоли администрирования кластера |
| 1545 | rmngr | Обращения клиентов к менеджеру кластера |
| 1560–1591 | rphost | Рабочие процессы, исполняющие сеансы пользователей |
Порты СУБД: 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 должны быть открыты между всеми машинами кластера в обе стороны — иначе при отказе центрального сервера резервный не подхватит нагрузку.
Как выбрать действие
Настройка брандмауэра Windows
На Windows Server правила добавляются через «Брандмауэр Защитника Windows» → «Правила для входящих подключений» → «Создать правило» → тип «Для порта» → TCP → указать порты. Удобнее создать два правила: одно для портов 1540, 1541, 1545, второе — для диапазона 1560–1591. В поле «Удаленные IP-адреса» ограничьте доступ подсетью офиса, если клиенты не должны подключаться отовсюду.
Быстрее сделать это одной командой 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 правило исчезнет после перезагрузки службы — это одна из самых частых причин «вчера работало, сегодня нет».
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: он покажет, открыт ли конкретный порт на удалённом хосте.
Test-NetConnection -ComputerName srv1c -Port 1545Признак успеха — строка TcpTestSucceeded : True. Если значение False, проверяйте по цепочке: слушает ли процесс порт на сервере (команда netstat -ano | find "1545" на Windows или ss -tlnp | grep 1545 на Linux), применилось ли правило брандмауэра, нет ли промежуточного маршрутизатора с фильтрацией. Ошибка «сервер администрирования не обнаружен» в консоли кластера почти всегда означает закрытый порт 1540 или 1541, а «ошибка соединения с рабочим процессом» — незакрытый диапазон 1560–1591.
Как проверить результат
TcpTestSucceeded: True
False — порт закрыт или служба не запущена
ragent слушает 1540/1541, rmngr — 1545, rphost — порты из 1560–1591
Процесса нет в списке — служба сервера 1С не запущена
Сеанс открывается без ошибок соединения
Ошибка соединения — проверять диапазон 1560–1591 и DNS-имя сервера
Типичные ошибки при открытии портов
Отдельная группа проблем — 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С не стартует.