Какие порты открыть для сервера 1С 8.3 и зачем каждый нужен

· 10 мин

Содержание

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

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

Как клиент подключается к серверу 1С и какие порты при этом участвуют

Чтобы понять, какие порты 1С открывать, полезно знать маршрут соединения. Он проходит в три шага:

  1. Клиент обращается к агенту сервера на порт 1540 и спрашивает, где кластер.
  2. Агент отдаёт адрес менеджера кластера, клиент идёт на 1541.
  3. Менеджер выделяет рабочий процесс, и дальше клиент работает с rphost на порту из диапазона 1560-1591.

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

Консоль администрирования серверов (оснастка MMC в Windows) тоже идёт через агента на 1540. Утилита rac и сторонние консоли работают через сервер администрирования RAS — о нём ниже.

Постоянные порты агента и менеджера кластера: 1540 и 1541

Эти два порта фиксированы и задаются при установке службы.

ПроцессПорт по умолчаниюНазначение
ragentTCP 1540Агент сервера: точка входа для клиентов и консоли
rmngrTCP 1541Главный менеджер кластера: реестр баз, сеансы, распределение нагрузки

Порт агента задают ключом -port, порт главного менеджера — ключом -regport. В Windows они записаны прямо в строке запуска службы «Агент сервера 1С:Предприятия 8.3». Её видно в свойствах службы (services.msc) или в реестре, в параметре ImagePath.

Пример строки запуска службы со стандартными портами:

"C:\Program Files\1cv8\8.3.24.1586\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug

Номер версии в пути у вас свой — это просто пример.

💡 Второй кластер на той же машине. Если на одном сервере стоят две версии платформы, второй экземпляр ставят на другие порты. Общепринятая схема — сдвиг на тысячу: 2540, 2541 и 2560:2591. Тогда в строке подключения базы указывают порт явно: server1c:2541.

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

Диапазон 1560-1591: динамические порты рабочих процессов rphost

Каждый рабочий процесс rphost при старте занимает свободный порт из диапазона. Дополнительные менеджеры кластера, если включено разнесение сервисов, тоже берут порты оттуда.

Диапазон по умолчанию — 1560:1591, то есть 32 порта. Задаётся он в свойствах рабочего сервера, а не кластера:

  1. Откройте консоль администрирования серверов 1С.
  2. Разверните кластер и узел Рабочие серверы.
  3. Откройте свойства нужного сервера.
  4. Найдите поле с диапазонами IP-портов и при необходимости добавьте или поправьте диапазон.

Порт главного менеджера кластера (1541) тоже виден в свойствах рабочего сервера. Ключ -range в строке запуска службы задаёт стартовый диапазон при первом создании кластера.

Что важно для фаервола:

  • 🔓 Открывать нужно весь диапазон, а не первые пару портов. Какой порт займёт процесс после перезапуска, заранее неизвестно.
  • 📈 Если процессов много (несколько рабочих серверов, разнесённые сервисы), 32 портов может не хватить. Расширьте диапазон и правило брандмауэра одновременно.
  • 🔁 Между серверами одного кластера диапазоны тоже должны быть открыты: узлы общаются друг с другом по тем же портам.

Порты для веб-клиента, HTTP-сервисов и служебных компонентов 1С

Веб-клиент, HTTP-сервисы, OData и отладка

Веб-клиент, мобильный клиент через публикацию, HTTP-сервисы, веб-сервисы и стандартный интерфейс OData работают через веб-сервер — IIS или Apache. Сервер 1С тут не открывает собственный HTTP-порт.

Цепочка такая: браузер → веб-сервер (80/443) → модуль расширения веб-сервера 1С → сервер 1С по 1540/1541/диапазону. Значит:

  • 🌐 Снаружи открываются только 80 и 443 на веб-сервере.
  • 🔒 Между веб-сервером и сервером 1С нужны те же 1540, 1541 и 1560-1591. Если веб-сервер стоит в DMZ, это правило пишут на внутреннем фаерволе.
  • 🔑 Для внешних пользователей держите только 443 с действующим сертификатом. Порт 80 — для перенаправления на HTTPS.

Отдельно стоит отладка по протоколу HTTP. Её обслуживает сервер отладки dbgs, по умолчанию на TCP 1550. Он нужен разработчикам на время отладки, наружу его не выставляют.

RAS, хранилище конфигураций, ключи защиты

Кроме самого кластера, в инфраструктуре 1С бывают и другие сетевые службы. Их порты часто забывают.

КомпонентПорт по умолчаниюКто подключается
Сервер администрирования rasTCP 1545Утилита rac, сторонние консоли, скрипты мониторинга
Сервер хранилища конфигураций crserverTCP 1542Конфигураторы разработчиков по адресу tcp://сервер:1542/путь
Сервер отладки dbgsTCP 1550Конфигуратор и EDT при отладке по HTTP
HASP License ManagerTCP/UDP 475Клиенты и сервер 1С с сетевым аппаратным ключом
Sentinel LDK (новые драйверы ключей)TCP/UDP 1947То же, плюс веб-интерфейс драйвера

Пример: сервер RAS запускается и подключается к агенту, после чего с него можно опросить кластер:

ras.exe cluster --port=1545 localhost:1540
rac.exe localhost:1545 cluster list

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

💡 UDP сам кластер 1С не использует. Если в описании правил вы встречаете UDP, речь почти всегда о ключах HASP (475) или об обнаружении именованного экземпляра SQL Server (1434).

Связь сервера 1С с СУБД: SQL Server и PostgreSQL

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

СУБДПортЧто настроить
Microsoft SQL Server, экземпляр по умолчаниюTCP 1433Включить протокол TCP/IP в SQL Server Configuration Manager
SQL Server, именованный экземплярдинамический TCP + UDP 1434 (служба SQL Browser)Либо оставить SQL Browser, либо закрепить статический порт за экземпляром
PostgreSQLTCP 5432listen_addresses в postgresql.conf, правило доступа в pg_hba.conf

Если СУБД и сервер 1С на одной машине, фаервол между ними не мешает. Правило нужно, когда СУБД вынесена на отдельный хост: открывайте порт СУБД только для IP-адресов серверов 1С.

Для PostgreSQL минимальная запись в pg_hba.conf для сервера 1С с адресом 10.0.0.10:

host    all    all    10.0.0.10/32    scram-sha-256

Метод аутентификации (scram-sha-256 или md5) должен совпадать с тем, как хранится пароль пользователя. После правки pg_hba.conf перечитайте конфигурацию — для этого не нужно останавливать СУБД.

Сводная таблица портов 1С:Предприятия 8.3

Все порты в одном месте — удобно отдать сетевому администратору.

ПортПротоколСлужбаОткуда открывать
1540TCPАгент сервера ragentКлиенты, веб-сервер, консоль, RAS
1541TCPМенеджер кластера rmngrКлиенты, веб-сервер, другие узлы кластера
1560-1591TCPРабочие процессы rphostКлиенты, веб-сервер, другие узлы кластера
1545TCPСервер администрирования rasМашины администраторов и мониторинга
1542TCPХранилище конфигураций crserverРазработчики
1550TCPСервер отладки dbgsРазработчики
80 / 443TCPIIS или Apache с публикациейПользователи веб-клиента, интеграции
1433TCPSQL ServerТолько серверы 1С
1434UDPSQL BrowserТолько серверы 1С (именованный экземпляр)
5432TCPPostgreSQLТолько серверы 1С
475 / 1947TCP/UDPКлючи HASP / SentinelКомпьютеры с клиентом 1С и сервер 1С
445TCPОбщая папка (SMB)Пользователи файловой базы

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

Правила брандмауэра для сервера 1С в Windows и Linux

Открывайте порты только на входящих соединениях сервера и по возможности ограничивайте подсеть источника.

Windows Server: PowerShell

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

То же через netsh, если PowerShell недоступен:

netsh advfirewall firewall add rule name="1C Server 8.3" dir=in action=allow protocol=TCP localport=1540-1541,1560-1591

Для RAS, хранилища и отладки добавьте отдельные правила с узким списком адресов — им не нужен доступ со всей сети.

Linux: ufw и firewalld

Ubuntu и Debian с ufw:

sudo ufw allow from 10.0.0.0/24 to any port 1540:1541 proto tcp
sudo ufw allow from 10.0.0.0/24 to any port 1560:1591 proto tcp

Дистрибутивы с firewalld:

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

В старых сборках сервера для Linux порты задавались в файле /etc/sysconfig/srv1cv83 переменными SRV1CV8_PORT, SRV1CV8_REGPORT и SRV1CV8_RANGE. В новых версиях служба запускается через systemd, и параметры портов передаются в строке запуска службы. Если меняете порт, правило фаервола меняйте тем же действием.

Проверьте перед запуском базы
Выполнено: 0 / 5

Нет связи с сервером 1С: диагностика по портам

Проверяйте снизу вверх: сначала слушает ли служба, потом доступен ли порт с клиента, потом имя сервера.

1. Слушает ли сервер порт. На самом сервере:

netstat -ano | findstr ":1540 :1541 :156"

В Linux:

sudo ss -tlnp | grep -E ':154[01]|:15[6-9][0-9]'

Если 1540 нет в списке, служба агента не запущена или стартовала на другом порту — смотрите строку запуска.

2. Доступен ли порт с клиента. С компьютера пользователя:

Test-NetConnection server1c -Port 1540
Test-NetConnection server1c -Port 1541
Test-NetConnection server1c -Port 1560

TcpTestSucceeded : True значит, что порт открыт. Проверка 1560 покажет результат, только если на этом порту уже работает процесс; надёжнее посмотреть в netstat на сервере, какие порты диапазона заняты, и проверить именно их.

3. Разрешается ли имя. Выполните ping server1c с клиента и сравните адрес с реальным. Если сервер в другой подсети или без записи в DNS, пропишите его в C:\Windows\System32\drivers\etc\hosts.

Диагностика: выберите симптом

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

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

Можно ли оставить сервер 1С без фаервола внутри офиса?
Технически да, но лучше ограничить 1540, 1541 и диапазон рабочих процессов подсетью пользователей. Порты СУБД и RAS закрывайте от всех, кроме нужных серверов и админов.
Нужно ли пробрасывать порты 1С наружу для удалённых сотрудников?
Нет. Открытый наружу 1540 — риск. Удалённых пользователей подключают через VPN, через терминальный сервер или через веб-публикацию на 443 с HTTPS.
Какие порты нужны для файловой базы?
Порты кластера не нужны: сервера 1С нет. Клиенты открывают базу через общую папку по SMB, это TCP 445. Плюс порты ключа HASP, если лицензия на сетевом ключе.
Можно ли сменить 1541 без переустановки платформы?
Да. Порт меняется ключом -regport в строке запуска службы. Но кластер с уже зарегистрированными базами при смене портов придётся проверять заново, поэтому делайте это в окно обслуживания и сохраните копию каталога srvinfo.
Сколько портов в диапазоне нужно на один рабочий процесс?
Каждый rphost занимает один порт из диапазона, дополнительные менеджеры кластера тоже. Держите запас: стандартных 32 портов обычно хватает одному-двум рабочим серверам.