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

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

На каких портах работает сервер 1С и как их настроить

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

Клиент-серверная архитектура 1С:Предприятия строится на взаимодействии нескольких процессов, каждый из которых слушает свой сетевой порт. Агент сервера (ragent) принимает подключения на порту 1540, менеджер кластера (rmngr) — на 1541, а рабочие процессы (rphost) занимают диапазон 1560–1591. Если хотя бы один из этих портов закрыт брандмауэром или занят другим приложением, пользователи получают ошибку соединения с сервером 1С.

Знание портов необходимо в трёх типовых ситуациях: при первичной настройке сервера, при переносе кластера на другую машину и при диагностике ошибок вида «Сервер 1С:Предприятия не обнаружен». Кроме портов самой платформы, участвуют порты сервера администрирования (RAS), СУБД и службы лицензирования — их тоже нужно учитывать при настройке сетевой инфраструктуры.

Ниже разобраны все используемые порты, способы проверить их доступность, настройка брандмауэра Windows и Linux, а также типовые ошибки и способы их устранения.

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

Кластер серверов 1С:Предприятия состоит из трёх типов процессов, у каждого — своя роль и свой порт. Понимание этой схемы помогает точно определить, какой компонент недоступен при сбое подключения.

ПроцессПорт по умолчаниюНазначение
ragent (агент сервера)1540Точка входа клиентов, регистрация кластера, поиск рабочих процессов
rmngr (менеджер кластера)1541Управление кластером, распределение нагрузки, блокировки
rphost (рабочие процессы)1560–1591Исполнение прикладного кода, обработка сеансов пользователей
ras (сервер администрирования)1545Удалённое администрирование кластера, утилита rac

Диапазон 1560–1591 рассчитан на 32 рабочих процесса на один кластер. На практике число процессов rphost обычно меньше, но брандмауэр следует настраивать на весь диапазон — иначе при росте нагрузки новые процессы окажутся недоступны для клиентов.

Важно понимать схему подключения: клиент сначала обращается к агенту на порт 1540, получает адрес и порт конкретного рабочего процесса, а затем устанавливает соединение уже напрямую с rphost. Поэтому открытия одного порта 1540 недостаточно — клиенту нужен доступ ко всему диапазону рабочих портов.

Порты сервера администрирования и вспомогательных служб

Сервер администрирования (ras) запускается отдельно и по умолчанию слушает порт 1545. Через него работают консоль администрирования кластера, утилита командной строки rac и внешние средства мониторинга. Если ras не запущен, кластер продолжает обслуживать пользователей, но управлять им удалённо невозможно.

При использовании веб-клиента или публикации информационных баз на веб-сервере дополнительно задействуются порты веб-сервера: 80 для HTTP и 443 для HTTPS. Эти порты относятся не к платформе 1С, а к Apache или IIS, но в схеме доступа пользователей они играют ключевую роль.

Отдельного внимания заслуживает сервер лицензий. Программные лицензии 1С проверяются сервером 1С:Предприятия локально, поэтому выделенный сетевой порт для них не нужен. Однако при использовании аппаратных ключей HASP с сетевой лицензией менеджер лицензий использует порты 1947 (веб-интерфейс Admin Control Center) и UDP-порты для широковещательного поиска ключей в локальной сети.

Порты СУБД в связке с сервером 1С

Сервер 1С не хранит данные сам — он обращается к системе управления базами данных, и для этого соединения нужны порты СУБД. Типичные значения:

  • MS SQL Server — TCP-порт 1433 (экземпляр по умолчанию); именованные экземпляры используют динамические порты, а служба SQL Server Browser — UDP 1434;
  • PostgreSQL (включая сборки, адаптированные для 1С) — порт 5432;
  • IBM Db2 — обычно порт 50000;
  • Oracle Database — порт 1521.

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

Как проверить, какие порты слушает сервер 1С

Перед настройкой брандмауэра полезно убедиться, что процессы сервера действительно запущены и слушают ожидаемые порты. В Windows это делается командой в командной строке, запущенной от имени администратора:

netstat -ano | findstr "1540 1541 1545 156"

Вывод покажет строки со состоянием LISTENING и идентификаторы процессов (PID). Сопоставить PID с конкретным процессом можно через «Диспетчер задач» на вкладке «Подробности» — там видно, что порт 1540 занимает ragent.exe, а порты из диапазона 1560–1591 — процессы rphost.exe.

В Linux используется аналогичная команда:

ss -tlnp | grep -E "ragent|rmngr|rphost|ras"

Проверить доступность порта с клиентской машины помогает командлет PowerShell Test-NetConnection имя_сервера -Port 1540. Если результат TcpTestSucceeded: True, порт открыт и доступен по сети; если False — соединение блокируется брандмауэром, сетевым оборудованием или служба не запущена.

Порядок диагностики недоступного сервера
  1. 1
    Убедитесь, что служба «Агент сервера 1С:Предприятия» запущена на сервере
  2. 2
    Выполните netstat -ano и проверьте, что порты 1540, 1541 и 1560–1591 в состоянии LISTENING
  3. 3
    С клиентской машины выполните Test-NetConnection сервер -Port 1540
  4. 4
    Проверьте доступность одного из портов rphost, например 1560
  5. 5
    Если порты закрыты — настройте правила брандмауэра и повторите проверку

Настройка брандмауэра Windows для сервера 1С

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

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

New-NetFirewallRule -DisplayName "1C Server Agent" -Direction Inbound -Protocol TCP -LocalPort 1540-1541 -Action Allow

New-NetFirewallRule -DisplayName "1C Server RPHOST" -Direction Inbound -Protocol TCP -LocalPort 1560-1591 -Action Allow

Альтернативный подход — разрешить входящие подключения не по портам, а по исполняемым файлам: ragent.exe, rmngr.exe, rphost.exe. Такой вариант устойчив к смене портов, но требует обновления правил при смене пути установки платформы (например, при переходе на новую версию с другим каталогом).

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

Типичные ошибки
01
Открыт только порт 1540 — клиент видит сервер, но не может подключиться к рабочему процессу; нужно открывать весь диапазон 1560–1591
02
Правила брандмауэра привязаны к старому каталогу платформы — после обновления версии путь изменился, и правила перестали действовать
03
Порт СУБД открыт для всей сети — создаётся угроза безопасности без какой-либо необходимости
04
Используется именованный экземпляр MS SQL с динамическим портом, а в брандмауэре открыт только 1433 — сервер 1С не может подключиться к базе

Как изменить порты по умолчанию и когда это нужно

Смена портов требуется редко: в основном при размещении нескольких кластеров на одном сервере. Каждый кластер должен иметь уникальные порты агента и менеджера. При создании дополнительного кластера в консоли администрирования ему назначают, например, порты 1640 и 1641, а диапазон рабочих портов сдвигают соответственно.

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

Менять порты «для безопасности» (security through obscurity) смысла не имеет: сервер 1С в принципе не должен быть доступен из интернета напрямую. Для внешнего доступа используют веб-клиент через HTTPS, VPN или терминальные решения.

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

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

Клиенты в той же локальной сети, сервер не виденПроверьте службу агента и откройте порты 1540–1541, 1560–1591 в брандмауэре сервера
Сервер виден, но подключение обрывается при запуске базыПроверьте доступность портов rphost (1560–1591) и связь сервера 1С с СУБД
Нужен доступ пользователей из интернетаНе открывайте порты кластера наружу — опубликуйте базу на веб-сервере с HTTPS или используйте VPN
На одном сервере требуется второй кластерСоздайте кластер с другими портами агента и менеджера, например 1640 и 1641

Типовые ошибки подключения и их связь с портами

Ошибка «Сервер 1С:Предприятия не обнаружен» почти всегда означает, что клиент не смог достучаться до порта 1540 агента: служба остановлена, порт закрыт брандмауэром или неверно указано имя сервера. Проверка начинается с состояния службы и команды Test-NetConnection.

Ошибка «Ошибка соединения с сервером 1С:Предприятия: требуется аутентификация» или обрыв на этапе запуска сеанса чаще указывает на недоступность рабочих портов 1560–1591 либо на проблемы связи сервера 1С с СУБД. В этом случае смотрят журнал регистрации кластера и технологический журнал.

Если клиенты подключаются по имени сервера, а не по IP-адресу, добавьте проверку разрешения имён командой ping имя_сервера: иногда «виноват» не порт, а DNS, и клиент обращается к несуществующему адресу.

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

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

Служба агента сервера 1С
Норма

Служба запущена, порт 1540 в состоянии LISTENING

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

Служба остановлена или порт занят другим приложением

Доступность с клиента
Норма

Test-NetConnection по портам 1540 и 1560 возвращает True

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

TcpTestSucceeded: False — трафик блокируется

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

База открывается, сеанс виден в консоли кластера

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

Ошибка соединения, в консоли сеанс не появляется

Связь сервера 1С с СУБД
Норма

С сервера 1С доступен порт СУБД (1433 или 5432)

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

Порт СУБД недоступен с сервера 1С

Часто задаваемые вопросы

Какой порт указывать в строке подключения к базе 1С?

В списке информационных баз указывается только имя или адрес сервера и имя базы — порт подставляется автоматически (1540). Указывать порт вручную нужно лишь при нестандартной настройке кластера, в формате «ИмяСервера:1640».

Можно ли работать через интернет, открыв порт 1540?

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

Почему порт 1540 слушается, а клиент всё равно не подключается?

Наиболее вероятные причины: закрыт диапазон рабочих портов 1560–1591, к которым клиент обращается после агента; брандмауэр блокирует трафик на промежуточном оборудовании; либо имя сервера разрешается в неверный IP-адрес.

Нужно ли открывать UDP-порты для сервера 1С?

Для работы кластера 1С достаточно TCP-портов. UDP используется разве что менеджером лицензий HASP для поиска сетевых ключей и службой SQL Server Browser (UDP 1434) при именованных экземплярах MS SQL.

Как узнать, не занят ли порт 1540 другой программой?

Выполните netstat -ano | findstr ":1540" и посмотрите PID процесса. Если это не ragent.exe, найдите программу по PID в диспетчере задач и либо остановите её, либо перенастройте один из сервисов на другой порт.

Меняются ли порты при обновлении платформы 1С?

Нет, номера портов от версии платформы не зависят. Но при обновлении может измениться путь к исполняемым файлам — если правила брандмауэра привязаны к программам, а не к портам, их нужно пересоздать.

Итог

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

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