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

· 9 мин

Содержание

Сервер 1С:Предприятия 8.3 по умолчанию слушает три вещи: порт 1540 (агент сервера, ragent), порт 1541 (главный менеджер кластера, rmngr) и диапазон 1560–1591 (рабочие процессы rphost и дополнительные менеджеры). Для MS SQL Server стандартный порт — 1433/TCP, для PostgreSQL — 5432/TCP. Веб-клиент через опубликованную базу ходит по 80 (HTTP) или 443 (HTTPS).

Частая ошибка — открыть в брандмауэре только 1541 и удивляться, что клиент «видит» сервер, но не подключается к базе. Менеджер кластера лишь направляет клиента к рабочему процессу, а тот работает на порту из диапазона 1560–1591. Если диапазон закрыт, соединение рвётся сразу после первого обмена.

Порты сервера 1С:Предприятие 8.3 по умолчанию

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

ПроцессПорт по умолчаниюЧто делает
ragent — агент сервера1540/TCPУправляет кластерами на сервере, к нему подключается консоль администрирования
rmngr — менеджер кластера1541/TCPПринимает подключения клиентов к базам кластера, распределяет их по рабочим процессам
rphost — рабочие процессы1560–1591/TCPВыполняют серверный код и обращаются к СУБД
ras — сервер администрирования1545/TCPНужен утилите rac и сторонним консолям
dbgs — сервер отладки (HTTP)1550/TCPОтладка по протоколу HTTP из Конфигуратора или EDT

Как идёт подключение клиента к серверной базе:

  1. 🔌 Клиент обращается к менеджеру кластера на порт 1541 (или к порту, указанному в строке подключения).
  2. 📋 Менеджер находит базу и выбирает рабочий процесс.
  3. 🔁 Клиент переподключается к rphost на порт из диапазона 1560–1591 и дальше работает с ним.

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

Диапазон 1560–1591 — это 32 порта. Его задают в свойствах рабочего сервера в консоли кластера (поле с диапазоном IP-портов). Сузите его — откроете в брандмауэре меньше, но при большом числе рабочих процессов портов может не хватить.

Порт сервера лицензирования и ключей защиты

Аппаратные сетевые ключи HASP раздаются менеджером лицензий по порту 475 (UDP и TCP). Если ключ стоит на другой машине, этот порт должен быть открыт между клиентами и компьютером с ключом.

Программные лицензии своего порта не требуют. Активация через интернет идёт обычным HTTPS-соединением, порт 443 исходящий.

Файловая база: портов 1С нет

В файловом варианте сервера 1С нет вообще. Клиент открывает файл 1Cv8.1CD по сетевой папке, а значит, нужен только общий доступ к файлам Windows — SMB, порт 445/TCP. Если файловая база «не открывается по сети», ищите проблему в правах на папку и в SMB, а не в портах 1540/1541.

Порты СУБД: MS SQL Server, PostgreSQL и другие

К СУБД подключаются только рабочие процессы rphost. Клиентам 1С доступ к SQL-серверу не нужен — им хватает портов кластера.

СУБДПорт по умолчаниюНюансы
MS SQL Server (экземпляр по умолчанию)1433/TCPПротокол TCP/IP должен быть включён
MS SQL Server (именованный экземпляр)динамический + 1434/UDPСлужба SQL Server Browser сообщает порт экземпляра
PostgreSQL (в том числе сборки для 1С)5432/TCPНужно разрешить удалённые подключения в настройках
Oracle Database1521/TCPПорт слушателя (listener)
IBM Db250000/TCPЧасто меняют при установке

Что проверить у MS SQL

  • 🔧 В SQL Server Configuration Manager включён протокол TCP/IP для нужного экземпляра.
  • 📌 Для именованного экземпляра задайте статический порт в свойствах TCP/IP (вкладка с IP-адресами, блок IPAll) и уберите динамический. Иначе после перезапуска порт может смениться.
  • 🔎 Если порт статический, а Browser не нужен, в поле «Сервер баз данных» кластера можно указать имя с портом через запятую: sqlsrv,14330.

Что проверить у PostgreSQL

  • 📝 В postgresql.conf параметр listen_addresses не ограничен значением localhost, если СУБД стоит на отдельной машине.
  • 🔐 В pg_hba.conf есть строка, разрешающая подключение с адреса сервера 1С.
  • 🔁 После правки — перезапуск службы PostgreSQL.

Порт СУБД никогда не открывайте наружу, в интернет. Его должен видеть только сервер 1С.

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

На сервере 1С откройте входящие подключения на порты кластера. Быстрее всего — командой из командной строки, запущенной от имени администратора:

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

Вторую строку добавляйте, только если ras реально запущен и к нему нужно ходить с других машин.

На сервере СУБД — отдельное правило:

netsh advfirewall firewall add rule name="MS SQL 1433" dir=in action=allow protocol=TCP localport=1433 remoteip=192.168.1.10

Здесь 192.168.1.10 — адрес сервера 1С. Ограничение remoteip сужает доступ к SQL до одной машины.

То же самое через PowerShell:

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

Если сервер 1С на Linux

Для firewalld:

sudo firewall-cmd --permanent --add-port=1540-1541/tcp
sudo firewall-cmd --permanent --add-port=1560-1591/tcp
sudo firewall-cmd --reload

Для ufw:

sudo ufw allow 1540:1541/tcp
sudo ufw allow 1560:1591/tcp

Правила открывают порт на всех сетевых профилях, если не указан профиль. На сервере в домене обычно хватает профиля «Домен». Не держите 1540/1541 открытыми в профиле «Общедоступный», если сервер смотрит в интернет.

Между какими машинами нужны порты

  • 💻 Клиенты 1С → сервер 1С: 1540 (только для консоли), 1541, 1560–1591.
  • 🗄️ Сервер 1С → сервер СУБД: 1433 / 5432 / другой порт СУБД.
  • 🌐 Веб-сервер → сервер 1С: 1541 и 1560–1591 (веб-сервер для кластера — такой же клиент).
  • 🔁 Сервер 1С ↔ другой рабочий сервер того же кластера: все порты кластера в обе стороны.
  • 🔑 Клиенты → компьютер с сетевым ключом HASP: 475.

Как проверить, что порт открыт и кем он занят

Начните с сервера: слушает ли вообще процесс нужный порт.

netstat -ano | findstr ":1540 :1541"
tasklist /fi "imagename eq ragent.exe"

В выводе netstat последняя колонка — PID. Сверьте его с tasklist: если порт 1541 держит не rmngr.exe, а другая программа, служба 1С стартовать не сможет.

Теперь проверка с клиентской машины:

Test-NetConnection srv1c -Port 1541
Test-NetConnection srv1c -Port 1560

Значение TcpTestSucceeded : True — порт доступен. False при работающей службе почти всегда означает брандмауэр на сервере или на маршруте между сетями.

Порт из диапазона 1560–1591 может не отвечать, если на нём сейчас нет рабочего процесса. Проверяйте тот порт, который реально занят rphost по данным netstat на сервере.

На Linux занятые порты смотрят так:

sudo ss -tlnp | grep -E 'ragent|rmngr|rphost'
Диагностика: выберите симптом

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

Веб-клиент, тонкий клиент по HTTP, мобильный клиент, HTTP-сервисы и OData работают через веб-сервер. Снаружи видно только два порта:

  • 🌐 80/TCP — HTTP;
  • 🔒 443/TCP — HTTPS.

Модуль расширения веб-сервера 1С (на IIS или Apache) сам подключается к кластеру как обычный клиент. Отсюда главный практический вывод: если веб-сервер стоит в DMZ или на отдельной машине, ему нужен доступ к серверу 1С по портам 1541 и 1560–1591. Без диапазона публикация откроется, но при входе выдаст ошибку соединения.

Для файловой базы, опубликованной на веб-сервере, портов кластера нет: модуль открывает файл базы напрямую. Пользователю службы веб-сервера нужны права на каталог базы.

Наружу публикуйте только HTTPS. Сертификат Let’s Encrypt или коммерческий ставится на уровне IIS или Apache, 1С об этом знать не нужно.

Тонкий клиент через интернет без VPN

Тонкий клиент умеет подключаться к базе по адресу публикации (https://…/base), а не по Srvr=…. Так удалённым сотрудникам открывают только 443, а порты кластера остаются внутри сети. Это безопаснее, чем пробрасывать 1541 и 1560–1591 на роутере.

Нестандартные порты: второй кластер и защита сервера

Порты меняют в двух случаях: на одной машине нужен второй кластер (например, для другой версии платформы) или хочется увести сервер с «известных» номеров.

Параметры задаются при регистрации службы агента:

"C:\Program Files\1cv8\8.3.24.1548\bin\ragent.exe" -instsrvc -usr .\USR1CV8 -pwd Пароль -port 2540 -regport 2541 -range 2560:2591 -d "C:\srvinfo2"

Что означают ключи:

КлючЗначение
-portПорт агента (вместо 1540)
-regportПорт главного менеджера кластера (вместо 1541)
-rangeДиапазон портов рабочих процессов (вместо 1560:1591)
-dКаталог служебных данных кластера (srvinfo)

Путь к платформе и номер версии в примере замените на свои. У второго кластера обязательно должен быть свой каталог -d, иначе два агента будут писать в одни файлы реестра кластера.

У уже установленной службы те же ключи видны в строке запуска. Её можно посмотреть в свойствах службы (поле «Исполняемый файл») или в реестре — в параметре ImagePath раздела службы HKLM\SYSTEM\CurrentControlSet\Services.

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

Как подключаться к кластеру на нестандартном порту

В списке баз в поле «Кластер серверов 1С:Предприятия» пишите имя сервера с портом менеджера: srv1c:2541. В консоли кластера при добавлении центрального сервера указывайте порт агента — 2540.

Минимум для безопасности кластера

  • 🔐 Задайте администраторов кластера и центрального сервера в консоли. Без них любой, кто достучался до 1540, может управлять базами.
  • 🧱 Ограничьте правила брандмауэра адресами внутренних подсетей (remoteip).
  • 🚫 Не пробрасывайте 1540/1541 и диапазон рабочих процессов на внешний IP. Для удалённой работы — VPN или веб-публикация по HTTPS.
  • 👤 Служба агента работает от отдельной учётной записи без прав администратора.
  • 🗄️ Порт СУБД доступен только с сервера 1С.

Смена номеров портов сама по себе от атаки не защищает — сканер найдёт открытый порт за минуты. Она полезна для второго кластера, а защиту дают ограничение по адресам и пароли администраторов.

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

Нужно ли открывать порт 1540 для пользователей?
Нет, для работы в базе пользователям достаточно 1541 и диапазона рабочих процессов. Порт 1540 нужен консоли кластера и администраторам.
Какой порт нужен для отладки на сервере 1С?
Для отладки по HTTP сервер отладки dbgs по умолчанию слушает 1550. Сервер 1С должен быть запущен с включённой отладкой; на рабочем кластере её обычно не включают.
Можно ли сузить диапазон 1560–1591?
Можно, в свойствах рабочего сервера в консоли кластера. Оставляйте запас: каждому рабочему процессу и дополнительному менеджеру нужен свой порт.
Нужно ли открывать порты для файловой базы?
Портов 1С у файловой базы нет. Нужен только общий доступ к папке по SMB, порт 445, в локальной сети.
Какой порт у MS SQL, если экземпляр именованный?
Обычно динамический, а клиент узнаёт его через SQL Server Browser по 1434/UDP. Для сервера 1С проще задать статический порт и открыть только его.