Порты сервера 1С:Предприятие 8.3: что открыть в брандмауэре и как проверить
Содержание
Для работы клиентов с сервером 1С 8.3 открывают входящие TCP-порты 1540 (агент сервера), 1541 (менеджер кластера) и диапазон 1560–1591 (рабочие процессы). Это значения по умолчанию, их можно поменять в параметрах службы агента.
Частая ошибка — открыть только 1540 и удивляться, что клиент видит кластер, но база не открывается. Агент лишь отвечает, куда идти дальше, а сам сеанс работает через рабочий процесс из диапазона. Если диапазон закрыт, подключение обрывается по таймауту. Ниже полный список портов сервера 1С, СУБД, лицензирования и служебных компонентов, а также команды для настройки и проверки.
Как клиент подключается к серверу 1С
Чтобы понимать, какие порты нужны, полезно знать порядок соединений. Клиент в строке подключения указывает имя сервера и базы, например Srvr="srv1c";Ref="buh";.
Дальше происходит следующее:
- Клиент обращается к агенту сервера (
ragent) на порт 1540. - Агент направляет его к менеджеру кластера (
rmngr) на порт 1541. - Менеджер кластера выделяет рабочий процесс (
rphost), и клиент соединяется с ним напрямую по одному из портов диапазона. - Рабочий процесс сам ходит в СУБД — клиенту доступ к SQL не нужен.
Отсюда практический вывод: брандмауэр на сервере 1С должен пропускать все три группы портов от клиентских машин. А порт СУБД нужен только между сервером 1С и сервером базы данных.
Рабочий процесс сообщает клиенту адрес по имени компьютера сервера. Если клиент не может разрешить это имя (нет записи в DNS), подключение не состоится даже при открытых портах. Решение — запись в DNS или строка в C:\Windows\System32\drivers\etc\hosts на клиенте.
Консоль администрирования серверов 1С тоже подключается через агент, по порту 1540.
Список портов сервера 1С:Предприятие 8.3
Сводная таблица значений по умолчанию:
| Компонент | Процесс | Порт по умолчанию | Протокол | Кому открывать |
|---|---|---|---|---|
| Агент сервера | ragent | 1540 | TCP | клиентам, консоли |
| Менеджер кластера | rmngr | 1541 | TCP | клиентам |
| Рабочие процессы и доп. менеджеры | rphost, rmngr | 1560–1591 | TCP | клиентам |
| Сервер администрирования | ras | 1545 | TCP | только администраторам |
| Сервер хранилища конфигурации | crserver | 1542 | TCP | разработчикам |
| Сервер отладки | dbgs | 1550 | TCP | разработчикам |
| Веб-сервер (веб-клиент, HTTP-сервисы) | IIS / Apache | 80, 443 | TCP | пользователям веб-клиента |
Диапазон 1560–1591 — это 32 порта. Каждый рабочий процесс занимает порт из диапазона, ещё порты занимают дополнительные менеджеры кластера, если включён режим нескольких менеджеров. На крупном сервере с большим числом процессов диапазон расширяют, например до 1560:1691.
Где задаются порты кластера
Порты передаются агенту параметрами командной строки службы:
ragent.exe -srvc -agent -port 1540 -regport 1541 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"
Посмотреть текущие значения в Windows: services.msc → служба «Агент сервера 1С:Предприятия 8.3» → свойства → поле «Исполняемый файл». В Linux — в unit-файле службы или в скрипте запуска srv1cv8.
Диапазон рабочих процессов можно также изменить в консоли администрирования: кластер → «Рабочие серверы» → свойства рабочего сервера → поле диапазона IP-портов. Изменение применяется после перезапуска процессов.
Перезапуск службы агента обрывает все сеансы пользователей. Меняйте порты вне рабочего времени и предупредите людей заранее.
Два кластера на одном сервере
Когда на одной машине ставят второй экземпляр сервера (например, другую версию платформы для тестов), ему нужны свои порты. Принято сдвигать всю схему на тысячу:
| Экземпляр | Агент | Менеджер | Диапазон |
|---|---|---|---|
| Основной | 1540 | 1541 | 1560–1591 |
| Второй | 2540 | 2541 | 2560–2591 |
В строке подключения к базе второго кластера порт указывают через двоеточие: Srvr="srv1c:2541". Номер берут именно менеджера кластера, а не агента.
Порты СУБД: MS SQL Server и PostgreSQL
Сервер 1С подключается к СУБД от имени рабочих процессов. Если СУБД стоит на той же машине, внешний порт открывать не нужно. Если на отдельной — открывайте порт только для IP-адреса сервера 1С.
| СУБД | Порт по умолчанию | Протокол | Примечание |
|---|---|---|---|
| MS SQL Server, экземпляр по умолчанию | 1433 | TCP | основной порт |
| MS SQL Server Browser | 1434 | UDP | нужен для именованных экземпляров |
| PostgreSQL | 5432 | TCP | задаётся в postgresql.conf |
MS SQL: именованный экземпляр
Именованный экземпляр (например, SQLSRV\SQL2019) по умолчанию получает динамический порт, который меняется после перезапуска. Для брандмауэра это неудобно. Порядок действий:
- Откройте SQL Server Configuration Manager.
- Перейдите в «Сетевая конфигурация SQL Server» → протоколы вашего экземпляра → TCP/IP.
- На вкладке IP-адресов, в блоке
IPAll, очистите поле динамических портов и укажите фиксированный порт, например 1435. - Перезапустите службу SQL Server.
- Откройте этот порт в брандмауэре для сервера 1С.
После фиксации порта можно указать его в карточке базы в 1С явно: SQLSRV,1435. Тогда SQL Browser и UDP 1434 не нужны.
PostgreSQL: два файла настройки
Открыть порт 5432 мало. PostgreSQL по умолчанию слушает только localhost, поэтому:
- 🔧 в
postgresql.confзадайтеlisten_addresses— адрес сетевого интерфейса или'*'; - 🔒 в
pg_hba.confдобавьте строку, разрешающую подключение только с IP сервера 1С; - 🔄 перезапустите службу PostgreSQL.
Пример строки в pg_hba.conf:
host all all 192.168.10.15/32 scram-sha-256
Метод аутентификации (md5 или scram-sha-256) должен совпадать с тем, как задан пароль пользователя. Иначе получите ошибку аутентификации при открытых портах.
Порты лицензирования: HASP-ключи и программные лицензии
Программные лицензии
Программные (электронные) лицензии активируются на сервере 1С и выдаются клиентам через кластер. Отдельного порта для них нет — хватает портов кластера из таблицы выше.
Сетевой HASP-ключ
Если клиентские лицензии на USB-ключе HASP, на машине с ключом работает менеджер лицензий. Клиенты ищут его по сети.
| Компонент | Порт | Протокол |
|---|---|---|
HASP License Manager (hasplm) | 475 | UDP и TCP |
Sentinel License Manager (hasplms), веб-панель | 1947 | TCP и UDP |
Поиск ключа по умолчанию идёт широковещательным запросом. В сетях с маршрутизаторами и VPN он не проходит. Тогда на каждом клиенте в файле nethasp.ini (лежит в каталоге conf платформы) указывают адрес явно:
[NH_COMMON]
NH_TCPIP = Enabled
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.10.20
NH_USE_BROADCAST = Disabled
Состояние ключей и подключённых клиентов видно в веб-панели Sentinel: http://localhost:1947 на машине с ключом.
Если ключ воткнут прямо в сервер 1С и лицензии берёт сам кластер (серверный ключ), клиентам порт 475 открывать не нужно — лицензию запрашивает рабочий процесс локально.
Как открыть порты в брандмауэре Windows и Linux
Windows Server
Через PowerShell от имени администратора:
New-NetFirewallRule -DisplayName "1C Server Cluster" -Direction Inbound -Protocol TCP -LocalPort 1540,1541,1560-1591 -Action Allow
Чтобы ограничить доступ только локальной сетью, добавьте параметр -RemoteAddress 192.168.10.0/24. Для RAS создайте отдельное правило с адресами только администраторов.
То же через графику: wf.msc → «Правила для входящих подключений» → «Создать правило» → тип «Для порта» → TCP → перечислите порты через запятую, диапазон через дефис.
Linux (Ubuntu, Debian)
С ufw:
sudo ufw allow proto tcp from 192.168.10.0/24 to any port 1540,1541
sudo ufw allow proto tcp from 192.168.10.0/24 to any port 1560:1591
С firewalld (Astra, РЕД ОС, CentOS):
sudo firewall-cmd --permanent --add-port=1540-1541/tcp
sudo firewall-cmd --permanent --add-port=1560-1591/tcp
sudo firewall-cmd --reload
Сервер администрирования RAS
RAS нужен для удалённого управления кластером через rac и сторонние консоли. Запуск вручную:
ras cluster --port=1545 localhost:1540
Для постоянной работы RAS регистрируют службой. После этого с машины администратора можно проверить доступ: rac cluster list srv1c:1545. Набор остальных команд смотрите в rac help.
Как проверить, что порты открыты
Проверку делайте с двух сторон: на сервере — слушает ли процесс порт, с клиента — доходит ли соединение.
На сервере
Windows:
netstat -ano | findstr ":1540 :1541 :1545"
В последней колонке будет PID процесса. Сверьте его с диспетчером задач: на 1540 должен висеть ragent.exe, на 1541 — rmngr.exe.
Linux:
sudo ss -tlnp | grep -E ':15[4-9][0-9]'
С клиента
PowerShell:
Test-NetConnection srv1c -Port 1541
Строка TcpTestSucceeded : True значит, что порт доступен. Проверьте 1540, 1541 и хотя бы один порт рабочего процесса — его номер видно в netstat на сервере.
В Linux то же делает nc -zv srv1c 1541.
Безопасность: какие порты не стоит открывать наружу
Сервер 1С не рассчитан на прямую публикацию в интернет. Не пробрасывайте порты 1540, 1541 и диапазон рабочих процессов на внешний адрес роутера. Протокол кластера не шифруется по умолчанию, а администратор кластера часто остаётся без пароля.
Как организовать удалённый доступ безопаснее:
- 🛡️ VPN до офисной сети — клиент работает как в локальной сети, порты наружу закрыты;
- 🖥️ терминальный сервер (RDP через шлюз) — пользователь работает на сервере рядом с кластером;
- 🌐 веб-публикация через веб-сервер с HTTPS на порту 443 — наружу открыт только он, а сам веб-сервер обращается к кластеру внутри сети.
Внутри сети тоже действует принцип минимума:
- 🔒 порт СУБД — только для IP сервера 1С;
- 🔒 RAS (1545) — только для машин администраторов;
- 🔒 сервер хранилища (1542) и отладки (1550) — только для разработчиков;
- 🔑 задайте администратора кластера с паролем в консоли администрирования, иначе любой, кто дотянулся до 1540, сможет управлять кластером.
Частые ошибки при настройке портов
- ❌ Открыли порты только на клиенте. Входящие правила нужны на сервере 1С. Исходящие на клиентах обычно разрешены по умолчанию.
- ❌ Расширили диапазон в консоли, но не в брандмауэре. Новые рабочие процессы получают порты, которые брандмауэр режет. Ошибки появляются «через раз» — когда клиент попадает на новый процесс.
- ❌ Сменили порт агента, а в строке подключения оставили старый. В
Srvrуказывается порт менеджера кластера; если он не 1541, его надо прописать явно. - ❌ Антивирус со своим сетевым экраном. Правила в брандмауэре Windows есть, но корпоративный антивирус блокирует трафик своими правилами. Проверяйте оба.
- ❌ Открыли SQL на весь мир. Порт 1433 или 5432 доступен из интернета — это прямой путь к перебору паролей к базе.
Нужно ли открывать порты на компьютерах пользователей?
Какой порт указывать в строке подключения к базе?
Srvr="srv1c:2541".