Администрирование · 12 мин
Сервер 1С: какие порты нужны для работы и как их настроить
Разбираем, какие порты использует сервер 1С: 1540, 1541, 1545, диапазон 1560–1591, порты СУБД и веб-сервера. Как открыть их в брандмауэре и проверить доступность.
Клиент-серверный вариант работы 1С опирается на обмен данными между тонким/толстым клиентом, сервером приложений и СУБД. Каждый компонент слушает свои порты, и если хотя бы один из них закрыт брандмауэром или занят другой программой, пользователи получают ошибки подключения: «сервер недоступен», «ошибка соединения с рабочим процессом» или зависания при запуске сеанса.
Базовый набор портов сервера 1С невелик: агент сервера работает на порту 1540, менеджер кластера — на 1541, служба администрирования (RAS) — на 1545, а рабочие процессы кластера занимают динамический диапазон 1560–1591. К ним добавляются порты СУБД (например, 5432 для PostgreSQL или 1433 для Microsoft SQL Server) и порты веб-сервера (80/443), если база публикуется через HTTP.
Проблема в том, что эти значения не всегда стандартны: при установке нескольких экземпляров сервера 1С на одну машину порты сдвигаются, администраторы меняют их вручную, а корпоративные межсетевые экраны режут всё, что не разрешено явно. Поэтому важно не просто знать номера портов, а уметь проверить, какие из них реально слушаются, и правильно настроить правила доступа.
Какие порты использует сервер 1С по умолчанию
Кластер серверов 1С состоит из нескольких процессов, и у каждого — своя роль и свой порт. Агент сервера (ragent) принимает подключения на порту 1540 и отвечает за управление кластером. Менеджер кластера (rmngr) работает на порту 1541 и распределяет клиентские соединения между рабочими процессами.
Рабочие процессы (rphost) — это те, кто фактически исполняет код прикладного решения. Каждый из них занимает один порт из диапазона 1560–1591. Если рабочих процессов больше, чем портов в диапазоне, лишние процессы не смогут принимать соединения, поэтому в очень крупных кластерах диапазон расширяют в настройках.
Служба администрирования кластера (RAS) по умолчанию использует порт 1545. Через неё подключаются консоль администрирования, утилита rac и внешние инструменты мониторинга. Если консоль и сервер находятся на разных машинах, порт 1545 должен быть открыт между ними.
| Порт | Компонент | Назначение |
|---|---|---|
| 1540 | Агент сервера (ragent) | Управление кластером, регистрация процессов |
| 1541 | Менеджер кластера (rmngr) | Распределение клиентских соединений |
| 1545 | Служба RAS | Удалённое администрирование кластера |
| 1560–1591 | Рабочие процессы (rphost) | Исполнение кода, обработка сеансов |
Какие порты нужны помимо самого сервера 1С
Сервер 1С не хранит данные сам — он обращается к СУБД, и этот канал тоже требует открытых портов. Для PostgreSQL стандартный порт — 5432, для Microsoft SQL Server — 1433, для Oracle Database — 1521, для IBM Db2 — 50000. Если СУБД и сервер 1С стоят на разных машинах, соответствующий порт должен быть открыт в обе стороны, точнее — входящие на сервере СУБД с адреса сервера 1С.
При публикации информационной базы через веб-сервер добавляются порты 80 (HTTP) и 443 (HTTPS). Веб-клиенты и тонкие клиенты, подключающиеся через публикацию, общаются не с портами кластера напрямую, а с веб-сервером, который уже внутри перенаправляет запросы. Это существенно упрощает настройку сети для удалённых пользователей: наружу достаточно открыть только 443-й порт.
Отдельно учитывайте вспомогательные службы: сервер лицензий 1С, выделенные серверы сеансовых данных, агенты резервного копирования и системы мониторинга. У каждого из них могут быть собственные порты, и их список стоит зафиксировать в документации по инфраструктуре, чтобы при миграции или смене оборудования ничего не потерять.
Как проверить, какие порты реально слушает сервер
Прежде чем настраивать брандмауэр, полезно убедиться, что процессы сервера 1С действительно запущены и слушают ожидаемые порты. На Windows это делается командой netstat с фильтрацией, на Linux — через ss или netstat. Сопоставьте PID процесса с именем службы, чтобы понять, какой именно экземпляр занял порт.
netstat -ano | findstr "1540 1541 1545 156"Для проверки доступности порта с клиентской машины используйте Test-NetConnection в PowerShell (Windows) или telnet/nc (Linux). Если соединение с портом 1540 устанавливается, а с 1560 — нет, проблема в правилах межсетевого экрана на диапазон рабочих процессов, а не в самом сервере.
Test-NetConnection -ComputerName srv1c -Port 1541Ещё один способ увидеть реальные порты — консоль администрирования кластера. В свойствах кластера и рабочих процессов отображаются назначенные порты. Это особенно полезно, когда на одной машине развёрнуто несколько экземпляров сервера 1С: второй экземпляр при установке получает смещённые порты (например, 2540, 2541, 2560–2591), и догадаться об этом без проверки сложно.
- 1Убедитесь, что служба агента сервера 1С запущена
- 2Выполните netstat или ss и найдите порты 1540, 1541, 1545, 1560–1591
- 3С клиентской машины проверьте доступность портов через Test-NetConnection
- 4Сверьте порты с настройками кластера в консоли администрирования
- 5При недоступности проверьте правила брандмауэра на сервере и промежуточном сетевом оборудовании
Как открыть порты в брандмауэре Windows
На сервере с Windows правила создаются через оснастку «Брандмауэр Защитника Windows в режиме повышенной безопасности» или командой netsh. Удобнее создать одно правило на диапазон 1540–1591, чем отдельные правила под каждый порт: так вы закроете и стандартные порты, и динамический диапазон рабочих процессов одним действием.
New-NetFirewallRule -DisplayName "1C Server" -Direction Inbound -Protocol TCP -LocalPort 1540-1591 -Action AllowПри создании правила ограничьте его область действия подсетью офиса или конкретными адресами клиентских машин. Правило «разрешить всем отовсюду» технически работает, но создаёт лишнюю поверхность атаки. Если сервер 1С и СУБД на одной машине, входящие правила для портов СУБД снаружи не нужны вовсе — обмен идёт локально.
После добавления правил обязательно проверьте результат с клиентской машины, а не только факт создания правила. Бывает, что правило создано, но не применяется из-за профиля сети (правило привязано к профилю «Доменный», а сервер определил сеть как «Частную») или из-за стороннего антивируса с собственным сетевым экраном, который перехватывает фильтрацию.
Типичные ошибки при настройке портов
Самая частая ошибка — открытие только порта 1541. Клиент подключается к менеджеру кластера, тот назначает ему рабочий процесс на порту, скажем, 1563, и соединение обрывается, потому что диапазон 1560–1591 закрыт. Внешне это выглядит как «сервер то доступен, то нет», что сбивает диагностику.
Вторая распространённая ситуация — конфликт портов. Если на сервере уже стоит другое приложение, занявшее 1540 или 1545, агент сервера 1С не запустится или запустится с ошибкой. Проверить занятость порта можно тем же netstat: если порт слушает чужой PID, нужно либо перенастроить чужое приложение, либо изменить порты экземпляра сервера 1С.
Третья ошибка — забыть про обратное направление и служебный трафик между серверами. В многоуровневой схеме (несколько рабочих серверов в одном кластере) порты должны быть открыты между всеми узлами кластера, а не только между клиентами и центральным сервером. Иначе при переносе сеанса на другой узел пользователи получат разрыв соединения.
Как изменить порты и когда это оправдано
Стандартные порты меняют в трёх случаях: при установке нескольких экземпляров сервера 1С на одну машину, при конфликте с другим ПО и по требованиям политики безопасности. Изменить порты можно при установке (параметры командной строки установщика) или через реестр и настройки службы агента сервера.
При смене портов учитывайте, что клиентские подключения в строке соединения указывают имя сервера и порт кластера. Если порт нестандартный, его нужно явно прописать в настройках подключения базы, иначе клиент будет пытаться достучаться на 1541. Это касается и консоли администрирования, и файлов списка баз.
Документируйте любые отклонения от стандартных портов. Через полгода никто не вспомнит, почему кластер слушает 2540, и диагностика простой проблемы займёт часы вместо минут. Простая таблица «сервер — экземпляр — порты — ответственный» избавляет от большинства таких ситуаций.
Проверка результата и контрольные точки
После настройки пройдите полный путь клиентского подключения: запуск клиента, подключение к кластеру, открытие сеанса, выполнение типовой операции. Успешный запуск конфигуратора и тонкого клиента с разных машин — главный признак того, что порты настроены правильно.
Как проверить результат
Запущена, порты 1540/1541 видны в netstat
Служба остановлена или порт занят другим процессом
Сеанс открывается без задержек и ошибок соединения
Ошибка «сервер недоступен» или зависание на этапе подключения
Test-NetConnection возвращает TcpTestSucceeded: True
TcpTestSucceeded: False — проверяйте брандмауэр и маршрутизацию
Кластер виден, список баз и сеансов загружается
Консоль не подключается — проверьте порт 1545 и службу RAS
Если всё работает в локальной сети, но не работает через VPN или из филиала, проблема почти всегда в промежуточном оборудовании: маршрутизаторы, корпоративные файрволы, NAT. В этом случае запросите у сетевых администраторов правила для конкретных портов и адресов, а не «откройте всё для 1С» — такой запрос быстрее согласуют и проще проверить.
Что важно запомнить
Сервер 1С использует порты 1540, 1541, 1545 и диапазон 1560–1591, плюс порты СУБД и веб-сервера. Открывайте их только внутри локальной сети, проверяйте фактическое прослушивание через netstat и доступность с клиентов через Test-NetConnection. Для удалённого доступа используйте HTTPS-публикацию или VPN, а не прямой вывод портов кластера наружу.
Частые вопросы
Обязательно ли открывать весь диапазон 1560–1591 или можно ограничиться одним портом?
Зависит от количества рабочих процессов. Если в кластере настроен только один рабочий процесс, достаточно порта 1560. Но при росте нагрузки кластер создаёт дополнительные процессы на следующих портах, и если они закрыты, новые сеансы не смогут подключиться. Практичнее открыть весь диапазон сразу.
Почему клиент видит сервер, но при запуске базы выдаёт ошибку соединения?
Классический признак закрытого диапазона рабочих процессов. Клиент успешно подключается к менеджеру кластера на порт 1541, получает адрес рабочего процесса (например, порт 1562) и не может до него достучаться. Проверьте правила брандмауэра на порты 1560–1591.
Нужно ли открывать порты сервера 1С для работы через веб-клиент?
Нет, для внешних пользователей достаточно порта 443 (или 80) на веб-сервере. Веб-сервер сам обращается к кластеру 1С по внутренней сети. Порты 1540–1591 при такой схеме должны быть доступны только между веб-сервером и сервером 1С.
Как узнать, какой процесс занял порт 1540, если агент 1С не стартует?
Выполните netstat -ano с фильтром по порту и посмотрите PID в последнем столбце. Затем через диспетчер задач или команду tasklist найдите процесс с этим PID. После этого решите, что перенастроить: стороннее приложение или экземпляр сервера 1С.
Можно ли использовать нестандартные порты, например 4540 вместо 1540?
Да, порты кластера можно изменить при установке экземпляра сервера или в настройках службы агента. Главное — согласованно обновить строки подключения у всех клиентов и правила брандмауэра. Само по себе использование нестандартных портов заметного прироста безопасности не даёт, но иногда требуется политиками организации.
Какие порты нужны между сервером 1С и сервером СУБД?
Для PostgreSQL — 5432, для Microsoft SQL Server — 1433 (плюс 1434 UDP, если используются именованные экземпляры), для Oracle — 1521. Правило нужно только одно: входящее на сервере СУБД с адреса сервера 1С. Открывать порт СУБД для клиентских машин не требуется — они с базой напрямую не работают.