Какие порты занимает сервер 1С и где их узнать на своём компьютере

· 9 мин

Содержание

Порт сервера 1С быстрее всего посмотреть в командной строке службы агента: у процесса ragent в параметрах указаны -port (агент, по умолчанию 1540), -regport (менеджер кластера, 1541) и -range (рабочие процессы, 1560:1591). Тот же набор видно в консоли кластера — в свойствах кластера и рабочего сервера. Порт базы данных задаётся не в 1С, а в настройках СУБД: у SQL Server по умолчанию 1433, у PostgreSQL — 5432.

Какой способ выбрать? Если есть доступ к серверу по RDP или SSH — смотрите параметры службы и netstat. Если сервер чужой, а консоль администрирования установлена у вас — открывайте свойства кластера. Если нужно лишь понять, «пробивается» ли порт с клиента, хватит одной команды Test-NetConnection.

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

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

КомпонентПроцессПорт по умолчаниюПротокол
Агент сервераragent1540TCP
Главный менеджер кластераrmngr1541TCP
Рабочие процессы и доп. менеджерыrphost, rmngr1560–1591TCP
Сервер администрирования (для rac)ras1545TCP
Сервер отладки по HTTPdbgs1550TCP
Веб-публикация через IIS или Apacheвеб-сервер80 / 443TCP

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

  • 🔹 1540 — «дверь» в сервер. Через неё идёт консоль кластера и первичное обращение клиента.
  • 🔹 1541 — порт кластера. Именно его подразумевают, когда пишут адрес сервера как srv1c:1541.
  • 🔹 1560–1591 — диапазон, из которого рабочие процессы берут себе порты. Закрыт диапазон — клиент подключится к агенту, но базу не откроет.

Если на одном компьютере работают два сервера 1С разных версий, второй обычно ставят со смещением: 2540, 2541 и диапазон 2560:2591. Тогда в адресе базы пишут srv1c:2541.

Файловой базе порты 1С не нужны вообще. Клиент открывает файл 1Cv8.1CD по сетевой папке, а трафик идёт по протоколу SMB (порт 445).

Как узнать порт 1С по службе и процессам

Самый надёжный источник — параметры запуска агента. Что прописано в службе, то сервер и слушает.

Windows: параметры службы

  1. Откройте services.msc.
  2. Найдите службу, имя которой начинается с 1C:Enterprise 8.3 Server Agent.
  3. Откройте её свойства и посмотрите поле «Исполняемый файл».

Там будет строка примерно такого вида:

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

Из неё читаем все три значения сразу. Если -port и -regport в строке нет, сервер работает на значениях по умолчанию: 1540 и 1541.

Та же информация одной командой PowerShell — удобно, когда служб несколько:

Get-CimInstance Win32_Service | Where-Object { $_.Name -like '1C*' } | Select-Object Name, State, PathName | Format-List

Linux: процессы и systemd

На Linux параметры видно прямо в списке процессов:

ps -ef | grep -E 'ragent|rmngr|ras' | grep -v grep

В выводе у ragent будут те же ключи -port, -regport, -range. Если сервер запущен как служба systemd, имя юнита можно найти так:

systemctl list-units --type=service | grep -i 1c

Проверка портов 1С через командную строку

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

На самом сервере

Windows:

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

В последней колонке — PID процесса. Чтобы понять, чей это порт, сопоставьте PID с именем:

tasklist /fi "pid eq 4312"

Если вместо ragent.exe или rmngr.exe там чужая программа — порт перехвачен, и сервер 1С на нём не поднимется.

Посмотреть, какие порты уже взяли рабочие процессы, удобнее в PowerShell:

Get-NetTCPConnection -State Listen | Where-Object { (Get-Process -Id $_.OwningProcess).ProcessName -match 'ragent|rmngr|rphost|ras' } | Select-Object LocalPort, OwningProcess | Sort-Object LocalPort

Linux:

sudo ss -tlnp | grep -E 'ragent|rmngr|rphost|ras'

С компьютера пользователя

Здесь задача другая: проверить, доходит ли клиент до сервера. В Windows это делает PowerShell:

Test-NetConnection srv1c -Port 1541

В ответе смотрите строку TcpTestSucceeded. True — порт открыт и доступен, False — мешает брандмауэр, маршрут или служба не запущена.

Проверьте по очереди 1540, 1541 и один-два порта из рабочего диапазона, например 1560. Частая картина: 1540 и 1541 открыты, а диапазон закрыт. Тогда список баз в окне запуска виден, а сама база не открывается.

На Linux-клиенте вместо Test-NetConnection подойдёт nc -zv srv1c 1541.

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

Где посмотреть порт в консоли администрирования кластера

Консоль кластера показывает порты в трёх местах. Подключение к центральному серверу в ней настраивают по порту агента — 1540.

Свойства кластера

  1. В дереве консоли раскройте центральный сервер и ветку «Кластеры».
  2. Щёлкните правой кнопкой по кластеру и выберите «Свойства».
  3. Поле «IP-порт» — это порт главного менеджера кластера, по умолчанию 1541.

Именно этот номер пишут через двоеточие в адресе сервера при добавлении базы в список: srv1c:1541. Порт 1541 можно не указывать — клиент подставит его сам.

Свойства рабочего сервера

  1. Внутри кластера раскройте ветку «Рабочие серверы».
  2. Откройте свойства нужного сервера.
  3. Здесь видны «IP-порт» агента, «Диапазон IP-портов» для рабочих процессов и порт главного менеджера кластера.

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

Через rac

Если графической консоли нет, тот же результат даёт утилита rac через сервер администрирования ras (порт 1545):

rac localhost:1545 cluster list

В выводе у кластера есть поле port. Для рабочих серверов используйте rac server list --cluster=<id кластера> — там видны порт агента и диапазон портов. Полный список параметров покажет rac help.

Если консоль не открывается с ошибкой о незарегистрированном компоненте, порты ни при чём. Обычно помогает перерегистрация radmin.dll той же версии, что и сервер: regsvr32 "C:\Program Files\1cv8\8.3.24.1548\bin\radmin.dll" из командной строки администратора.

Порт базы данных: SQL Server и PostgreSQL

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

СУБДПорт по умолчаниюГде посмотреть
Microsoft SQL Server (экземпляр по умолчанию)1433 TCPSQL Server Configuration Manager → «Протоколы» → TCP/IP → вкладка «IP-адреса»
SQL Server, именованный экземплярдинамический порттам же, поле «Динамические TCP-порты»
Служба SQL Server Browser1434 UDPнужна, если подключаетесь по имени экземпляра
PostgreSQL / Postgres Pro5432 TCPпараметр port в postgresql.conf

Как узнать порт PostgreSQL

Из консоли psql под администратором:

SHOW port;

Или прямо в файле настроек:

grep -E '^\s*port' /var/lib/pgsql/data/postgresql.conf

Путь к postgresql.conf у разных сборок свой. Узнать его можно запросом SHOW config_file;.

Как указать нестандартный порт в 1С

Порт СУБД задают в свойствах информационной базы в консоли кластера, в поле «Сервер баз данных»:

  • 🗄️ SQL Server — имя и порт через запятую: sqlsrv,1435. Для именованного экземпляра — sqlsrv\INSTANCE.
  • 🐘 PostgreSQL — имя и параметр через пробел: pgsrv port=5433.

Порт СУБД открывают только между сервером 1С и сервером СУБД. Пользователям он не нужен, и выставлять 1433 или 5432 наружу незачем.

Порты менеджера лицензий 1С

Тут всё зависит от типа лицензии.

  • 🔑 Программные лицензии не требуют отдельного порта. Их выдаёт сам кластер 1С, лицензия привязана к оборудованию сервера. Достаточно портов сервера из первой таблицы.
  • 🔌 Сетевые USB-ключи HASP обслуживает HASP License Manager. Он работает по UDP-порту 475 — именно его открывают в брандмауэре на компьютере с ключом.
  • 🖥️ Драйвер Sentinel слушает порт 1947. На нём же работает его веб-страница http://localhost:1947 — там видно, какие ключи драйвер обнаружил.

Если клиенты не находят сетевой ключ, укажите адрес менеджера лицензий явно в файле nethasp.ini в каталоге conf платформы на клиенте:

[NH_COMMON]
NH_TCPIP = Enabled

[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.20
NH_USE_BROADCAST = Disabled

Явный адрес вместо широковещательного поиска убирает зависимость от того, пропускает ли сеть broadcast-пакеты.

Какие программные лицензии сейчас заняты сеансами, покажет rac session list --cluster=<id кластера> --licenses.

Как открыть порты 1С в брандмауэре

Набор правил для типового сервера: входящие TCP 1540, 1541 и диапазон 1560–1591. Если администрируете через rac с другого компьютера — ещё 1545. Если используется HASP-ключ — UDP 475 на машине с ключом.

Windows Server

Одной командой PowerShell от администратора:

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

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

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

Для HASP:

New-NetFirewallRule -DisplayName "HASP LM" -Direction Inbound -Protocol UDP -LocalPort 475 -Action Allow

Linux

ufw (Ubuntu, Debian):

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

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

Не открывайте порты 1С в интернет напрямую. Для удалённых сотрудников надёжнее VPN, RDP-шлюз или веб-публикация по HTTPS.

Порты сервера 1С открыты правильно
Выполнено: 0 / 7

Как сменить порты сервера 1С

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

Остановка службы агента обрывает все сеансы пользователей на этом сервере. Делайте это вне рабочего времени и предупредите людей заранее.

Порядок на Windows:

  1. Остановите службу 1C:Enterprise 8.3 Server Agent.
  2. Перерегистрируйте её с новыми портами — например, через ragent.exe -rmsrvc, затем ragent.exe -instsrvc с нужными ключами. Точный набор ключей для вашей версии покажет справка ragent.exe -help.
  3. Запустите службу и проверьте netstat, что новые порты слушаются.
  4. Поменяйте правила брандмауэра.
  5. В списке баз у пользователей допишите порт к имени сервера: srv1c:2541.

Каталог srvinfo у нового экземпляра должен быть свой. Если два сервера будут писать в один каталог, реестр кластера испортится.

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

Можно ли подключиться к серверу 1С, открыв только порт 1541?
Нет. Клиенту нужны и агент (1540), и рабочие процессы из диапазона 1560–1591. Без диапазона соединение обрывается на этапе открытия базы.
Почему в адресе базы пишут 1541, а не 1540?
В строке подключения после имени сервера указывают порт кластера. Порт агента клиент узнаёт сам. Для кластера на 1541 порт можно не писать.
Сколько портов нужно в диапазоне рабочих процессов?
Стандартные 32 порта (1560–1591) хватают с запасом для типового сервера. Каждый рабочий процесс и дополнительный менеджер занимают свой порт из диапазона.
Нужно ли открывать порт СУБД пользователям?
Нет. С СУБД общается только сервер 1С. Порт 1433 или 5432 открывают между сервером 1С и сервером баз данных.
Как узнать порт, если доступа к серверу нет?
Спросите у администратора адрес из списка баз или посмотрите его у коллеги: в свойствах базы в окне запуска указан сервер и, если он нестандартный, порт через двоеточие.