Сетевые порты 1С 8.3: что открыть на сервере, СУБД и в брандмауэре
Содержание
Клиент 1С:Предприятие 8.3 в клиент-серверном режиме использует порты TCP 1540 (агент сервера), 1541 (менеджер кластера) и диапазон 1560–1591 (рабочие процессы). В файловом режиме своих портов у 1С нет: клиент читает базу через общую папку Windows, то есть по SMB на порт TCP 445. Порты СУБД (1433 у MS SQL Server, 5432 у PostgreSQL) нужны только между сервером 1С и сервером базы данных, а не на рабочих местах.
Все эти номера — значения по умолчанию. Администратор может их сменить при установке службы, поэтому перед настройкой брандмауэра сверьте фактические порты на своём сервере. Как это сделать, показано ниже.
Как клиент 1С связывается с сервером и базой данных
Чтобы понять, какие порты открывать, удобно представить цепочку соединений. В ней три участника, и у каждого своя роль.
- 🖥️ Клиент — толстый, тонкий клиент или конфигуратор на рабочем месте пользователя.
- ⚙️ Сервер 1С:Предприятия — служба
ragent.exe(агент), процессыrmngr.exe(менеджер кластера) иrphost.exe(рабочие процессы). - 🗄️ СУБД — MS SQL Server, PostgreSQL или другая поддерживаемая система, где физически лежат таблицы базы.
Порядок работы такой. Клиент обращается к серверу 1С по имени или адресу из строки подключения. Агент и менеджер кластера находят нужную информационную базу и назначают ей рабочий процесс. Дальше клиент обменивается данными уже с этим рабочим процессом, на порту из диапазона. Рабочий процесс сам выполняет запросы к СУБД.
Клиент никогда не подключается к СУБД напрямую. Поэтому порт 1433 или 5432 на компьютерах пользователей открывать не нужно: это частая ошибка, которая лишь расширяет поверхность атаки.
Отдельный случай — веб-клиент и тонкий клиент через веб-сервер. Тогда пользователю нужен только HTTP или HTTPS (порты 80 и 443) до веб-сервера с публикацией, а веб-сервер уже сам ходит к кластеру 1С по обычным портам.
Порты сервера 1С в клиент-серверном режиме
Ниже — сводная таблица портов, которые слушает сервер 1С:Предприятия 8.3 со стандартными настройками.
| Порт (TCP) | Процесс | Назначение | Кому нужен доступ |
|---|---|---|---|
| 1540 | ragent.exe | Агент сервера, точка входа и администрирование через консоль кластера | Клиенты, консоль администрирования |
| 1541 | rmngr.exe | Главный менеджер кластера, порт кластера в строке подключения | Клиенты, другие серверы кластера |
| 1560–1591 | rphost.exe, rmngr.exe | Динамический диапазон для рабочих процессов и служебных менеджеров | Клиенты, другие серверы кластера |
| 1545 | ras.exe | Сервер администрирования для утилиты rac и сторонних консолей | Только администраторы |
| 1542 | crserver.exe | Сервер хранилища конфигурации по протоколу TCP | Разработчики |
| 1550 | dbgs.exe | Сервер отладки при отладке по протоколу HTTP | Разработчики |
Обязательный минимум для работы пользователей — 1540, 1541 и весь диапазон 1560–1591. Если открыть только 1541, клиент найдёт кластер, но не сможет продолжить сеанс на рабочем процессе: соединение оборвётся через несколько секунд ожидания.
Где посмотреть фактические порты
Номера задаются в командной строке службы сервера. Откройте оснастку services.msc, найдите службу «Агент сервера 1С:Предприятия 8.3» и посмотрите поле «Исполняемый файл». Строка выглядит примерно так:
"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"
Здесь -port — порт агента, -regport — порт главного менеджера кластера, -range — диапазон для рабочих процессов. Диапазон можно дополнительно изменить в консоли кластера: в свойствах рабочего сервера есть таблица диапазонов IP-портов. Там же хранится порт главного менеджера кластера.
Если на одном компьютере работают две службы 1С разных версий, второй обычно ставят порты со сдвигом на тысячу: 2540, 2541 и 2560–2591. Тогда в строке подключения клиента указывают порт кластера явно: Srvr="srv1c:2541";Ref="buh";.
Сколько портов нужно в диапазоне
Каждый рабочий процесс и каждый служебный менеджер занимает порт из диапазона. Стандартные 32 порта хватает небольшому кластеру с несколькими рабочими процессами. Если в кластере много процессов или включены отдельные менеджеры под каждый сервис, диапазон расширяют, например до 1560:1691. Тогда правило брандмауэра тоже нужно расширить на тот же интервал.
Порты для файловой базы
Файловая база — это папка с файлом 1Cv8.1CD. Платформа на рабочем месте открывает его как обычный файл в сетевой папке. Значит, сетевой трафик идёт по протоколу общих папок Windows.
- 📁 TCP 445 — SMB, основной порт для доступа к общей папке. Его достаточно на современных Windows.
- 📜 TCP 139, UDP 137–138 — NetBIOS. Нужен только в старых сетях без DNS, где компьютер с базой находят по NetBIOS-имени.
На компьютере с базой правило входящего трафика обычно уже есть: оно включается группой «Общий доступ к файлам и принтерам» в брандмауэре Windows. Если папка открыта, но с другого ПК недоступна, проверьте именно эту группу и профиль сети. В профиле «Общедоступная» общий доступ по умолчанию закрыт.
Не публикуйте порт 445 в интернет ради удалённой работы с файловой базой. Для удалёнки используйте VPN, удалённый рабочий стол или публикацию базы на веб-сервере.
Если файловую базу опубликовали через Apache или IIS, клиентам нужен только порт 80 или 443 до веб-сервера. Доступ к папке с базой тогда требуется лишь самому веб-серверу.
Порт ключа защиты HASP
Если лицензии 1С выданы аппаратными сетевыми ключами, к списку добавляется менеджер лицензий HASP License Manager. Он работает на порту 475 (TCP и UDP). Клиент находит ключ широковещательным запросом или по адресу из файла nethasp.ini:
[NH_COMMON]
NH_TCPIP = Enabled
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.10
NH_USE_BROADCAST = Disabled
Явный адрес надёжнее широковещательного поиска: в сети с несколькими подсетями broadcast до сервера ключа часто не доходит. Файл кладут в каталог conf установленной платформы. У программных лицензий отдельного сетевого порта нет: в клиент-серверном варианте их выдаёт сам сервер 1С.
Порты СУБД: MS SQL Server и PostgreSQL
Это связь «сервер 1С → сервер базы данных». Если СУБД и служба 1С стоят на одном компьютере, порт СУБД наружу открывать не нужно вообще.
| СУБД | Порт по умолчанию | Что ещё проверить |
|---|---|---|
| MS SQL Server, экземпляр по умолчанию | TCP 1433 | Включён протокол TCP/IP в SQL Server Configuration Manager |
| MS SQL Server, именованный экземпляр | Динамический порт + UDP 1434 | Служба SQL Server Browser или закреплённый статический порт |
| PostgreSQL | TCP 5432 | listen_addresses в postgresql.conf и правило в pg_hba.conf |
MS SQL Server
У именованного экземпляра (SQLSRV\INST1C) порт по умолчанию выбирается динамически при каждом запуске. Клиент узнаёт его через службу SQL Server Browser по UDP 1434. Для брандмауэра это неудобно: порт может смениться после перезагрузки.
Надёжнее закрепить порт. В SQL Server Configuration Manager откройте сетевую конфигурацию экземпляра, свойства протокола TCP/IP, вкладку с IP-адресами. В блоке IPAll очистите поле динамических портов и впишите статический, например 1435. После перезапуска службы SQL откройте этот порт на сервере СУБД.
PostgreSQL
По умолчанию PostgreSQL принимает соединения только с локального адреса. Чтобы сервер 1С мог подключиться по сети, нужны две правки:
# postgresql.conf
listen_addresses = '*'
port = 5432
# pg_hba.conf — разрешить только серверу 1С
host all all 192.168.1.20/32 scram-sha-256
Метод аутентификации ставьте тот, что настроен для вашего пользователя postgres (scram-sha-256 или md5). После правки перезапустите службу PostgreSQL. Разрешайте доступ точечным адресом сервера 1С, а не всей подсетью.
Правила брандмауэра Windows для 1С
Входящие правила создают на сервере 1С. На клиентских компьютерах исходящий трафик в Windows по умолчанию разрешён, отдельные правила там обычно не нужны.
Проще всего добавить правила из командной строки, запущенной от имени администратора:
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 remoteip=192.168.1.5
Тот же результат через PowerShell:
New-NetFirewallRule -DisplayName "1C Server 8.3" -Direction Inbound -Protocol TCP -LocalPort 1540,1541,1560-1591 -Action Allow
Второе правило в примере открывает сервер администрирования только для одного компьютера администратора. Так же стоит поступить с портами хранилища и отладки: пользователям они не нужны.
Настройка через графический интерфейс
- Откройте «Монитор брандмауэра Защитника Windows в режиме повышенной безопасности» (команда
wf.msc). - Выберите «Правила для входящих подключений» → «Создать правило».
- Тип правила — «Для порта», протокол TCP, конкретные локальные порты:
1540-1541,1560-1591. - Действие — «Разрешить подключение».
- Отметьте профили, в которых работает сервер. Для доменного сервера достаточно «Доменного».
- Задайте понятное имя, например «1С сервер 8.3», и сохраните.
Альтернатива — правило «Для программы» на ragent.exe, rmngr.exe и rphost.exe. Но путь к исполняемым файлам содержит номер версии платформы, и после каждого обновления правило придётся пересоздавать. Правило по портам переживает обновления.
На сервере СУБД создайте отдельное правило на 1433 или 5432 и в поле «Область» ограничьте удалённые адреса IP-адресом сервера 1С.
Если между офисами стоит аппаратный межсетевой экран
Тот же набор портов нужно разрешить на маршрутизаторе или межсетевом экране. Учтите NAT: сервер 1С сообщает клиенту адрес рабочего процесса так, как он сам себя знает. Если клиент снаружи не может разрешить имя сервера в правильный адрес, соединение с кластером пройдёт, а с рабочим процессом нет. Для удалённых офисов обычно надёжнее VPN или публикация через веб-сервер.
Диагностика: соединение с сервером 1С не устанавливается
Типичный текст ошибки на клиенте: Сервер 1С:Предприятия не обнаружен или Не удалось установить соединение с сервером 1С:Предприятия. В подробностях часто встречается код сокета: 10060 (истекло время ожидания) или 10061 (подключение отвергнуто).
- ⏱️ 10060 — пакеты не доходят. Почти всегда блокирует брандмауэр или маршрутизатор.
- 🚫 10061 — сервер доступен, но на порту никто не слушает: служба остановлена или работает на другом порту.
Порядок проверки
- Служба запущена? Посмотрите статус службы агента в
services.mscили выполните в PowerShellGet-Process ragent, rmngr, rphost. Если процессов нет, сервер 1С не работает . - Порты слушаются? На сервере выполните
netstat -ano | findstr ":154". В выводе должны быть строки сLISTENINGна 1540 и 1541. Порты 1560 и выше появляются, когда запущены рабочие процессы. - Порт доступен с клиента? На рабочем месте в PowerShell:
Test-NetConnection srv1c -Port 1541
Test-NetConnection srv1c -Port 1560
Строка TcpTestSucceeded : True значит, что порт открыт. Проверьте и порт из диапазона: частая картина — 1541 отвечает, а 1560 нет.
- Имя разрешается правильно? Выполните
ping srv1cи сравните адрес с реальным. Кластер возвращает клиенту имя сервера, под которым тот зарегистрирован в консоли кластера. Если клиент это имя не знает, добавьте запись в DNS или в файлC:\Windows\System32\drivers\etc\hosts. - Порт в строке подключения совпадает? Если кластер работает на нестандартном порту, а в списке баз указан просто
srv1c, клиент постучится на 1541 и не найдёт сервер.
Если порты открыты, а ошибка остаётся, загляните в технологический журнал или журнал регистрации Windows на сервере. Сообщения службы агента подскажут, на каком этапе обрывается подключение.
Частые вопросы
Нужно ли открывать порты на компьютерах пользователей?
Можно ли пользоваться только портом 1541?
Какой порт нужен консоли администрирования серверов 1С?
rac и сторонние консоли работают через сервер администрирования ras на порту 1545.