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

· 10 мин

Содержание

Чаще всего 1С не видит сервер по одной из четырёх причин: не запущена служба Агент сервера 1С:Предприятия 8.3, фаервол закрыл порты 1540, 1541 или диапазон 1560–1591, клиент не может разрешить имя сервера, или версия платформы на компьютере пользователя не совпадает с версией сервера. Проверять стоит именно в этом порядке: от сервера к сети, от сети к клиенту.

По коду в тексте ошибки обычно видно, на каком шаге рвётся связь. Всё описанное относится к платформе 8.3 в клиент-серверном варианте и не зависит от конфигурации: БП, ЗУП и УТ подключаются к кластеру одинаково.

Как клиент 1С находит сервер: три соединения вместо одного

Пользователь видит одну строку в списке баз, но за ней стоит цепочка из нескольких подключений. Если оборвано любое звено, результат для него одинаковый: «сервер не найден».

  1. Клиент → агент сервера (ragent), порт 1540. Агент сообщает, какие кластеры есть на машине.
  2. Клиент → менеджер кластера (rmngr), порт 1541. Менеджер знает список информационных баз и решает, какой рабочий процесс обслужит сеанс.
  3. Клиент → рабочий процесс (rphost), порт из диапазона. Диапазон задаётся в свойствах рабочего сервера, по умолчанию это 1560:1591. Именно здесь идёт вся работа пользователя.

Отсюда практический вывод. Открыть в фаерволе только 1540 мало: клиент постучится к агенту, получит адрес рабочего процесса и упрётся в закрытый порт. Ошибка при этом выглядит так же, как будто сервера нет вовсе.

Вторая важная деталь: менеджер кластера возвращает клиенту имя компьютера, на котором работает процесс, а не IP-адрес. Если клиент это имя разрешить не может, подключение падает даже при открытых портах.

КомпонентПроцессПорт по умолчаниюГде задаётся
Агент сервераragent1540параметр -port службы
Менеджер кластераrmngr1541параметр -regport службы
Рабочие процессыrphost1560–1591свойства рабочего сервера, параметр -range
Сервер администрированияras1545нужен только для rac и веб-консоли

Если на одном сервере стоят две версии платформы, вторую обычно запускают на портах 2540, 2541 и 2560:2591. Тогда в свойствах базы у пользователя указывают сервер с портом кластера: srv1c:2541. Без порта клиент пойдёт на 1541 и попадёт в чужой кластер или никуда.

Служба кластера серверов: работает ли она вообще

Начинайте с самого сервера. Если служба остановлена, дальнейшие проверки сети бессмысленны.

Windows

  1. Откройте services.msc.
  2. Найдите службу Агент сервера 1С:Предприятия 8.3 (x86-64) (у 32-разрядного сервера без приписки x86-64).
  3. Состояние должно быть «Выполняется», тип запуска — «Автоматически».
  4. Откройте свойства службы и посмотрите поле «Исполняемый файл». В строке видны версия платформы, порты и каталог кластера.

Пример строки запуска:

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

Из неё сразу ясно, какую версию клиента ставить пользователям и какие порты открывать.

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

netstat -ano | findstr ":1540 :1541"
tasklist | findstr /i "ragent rmngr rphost"

Если ragent в списке процессов есть, а порт 1540 не слушается, проверьте, не занял ли его другой процесс: последнее число в строке netstat — PID, его можно найти в tasklist.

Служба запускается и сразу останавливается

Типичные причины:

  • 🔑 у учётной записи службы (часто USR1CV8) нет права «Вход в качестве службы» или у неё истёк пароль;
  • 📁 у этой учётной записи нет прав на каталог srvinfo;
  • 🔌 порт 1540 или 1541 занят другой программой, например второй версией агента;
  • 📦 путь в строке запуска ведёт на удалённую версию платформы после обновления.

Linux

Начиная с 8.3.21 сервер запускается через systemd, имя юнита содержит номер версии. Найти и проверить его:

systemctl list-units --all | grep -i 1c
systemctl status srv1cv8-8.3.25.1374@default
ss -tlnp | grep -E ':(1540|1541)'

На старых установках службы назывались через init-скрипт srv1cv83. Если не знаете, как устроено у вас, первая команда покажет всё, что связано с 1С.

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

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

Если на самом сервере всё работает, а с рабочего места подключиться нельзя, проверьте сеть. Самый быстрый тест в Windows — PowerShell на компьютере пользователя:

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

Строка TcpTestSucceeded : True значит, что порт доступен. False при работающей службе почти всегда означает фаервол: на сервере, на клиенте или на сетевом оборудовании между ними.

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

Правило для брандмауэра Windows

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

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

Если у вас изменён диапазон рабочих процессов или поднята вторая версия на портах 25xx, добавьте и их.

Linux

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

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

Помимо встроенного фаервола, проверьте антивирус с сетевым экраном, правила маршрутизатора и VPN. Через VPN часто проходит 1540, а диапазон рабочих процессов режется политикой.

Имя сервера и DNS: когда пинг есть, а подключения нет

Это самая коварная причина. По IP-адресу сервер доступен, порты открыты, а 1С всё равно пишет, что сервер не найден.

Механизм такой: при регистрации кластер запоминает имя компьютера. Клиент подключается по IP, но в ответ получает адрес рабочего процесса в виде имени, например SRV1C. Если на рабочем месте это имя не разрешается, связь рвётся на третьем шаге.

Проверка с компьютера пользователя:

ping srv1c
nslookup srv1c

Если имя не разрешается или разрешается в чужой адрес, есть два пути:

  1. Правильно — добавить запись в DNS-сервер организации, чтобы имя сервера 1С разрешалось у всех.
  2. Быстро — прописать имя в файл C:\Windows\System32\drivers\etc\hosts на рабочем месте:
192.168.1.10    srv1c

Файл редактируют блокнотом, запущенным от имени администратора. Для удалённых сотрудников через VPN это часто единственный рабочий вариант, если их DNS не видит внутреннюю зону.

Сервер переименовали

После смены имени компьютера кластер продолжает помнить старое имя: оно хранится в его настройках в каталоге srvinfo. Клиенты получают несуществующий адрес.

Безопасная временная мера — запись в hosts или в DNS, где старое имя указывает на новый IP. Постоянное решение — исправить имя центрального и рабочего сервера в настройках кластера. Не редактируйте файлы в каталоге srvinfo вручную без резервной копии этого каталога — испорченный реестр кластера означает, что базы придётся регистрировать заново.

Ещё одна частая ситуация: в свойствах базы у пользователя указан localhost или имя, которое работает только на самом сервере. На сервере база открывается, у всех остальных нет.

Разные версии клиента и сервера

Клиент и сервер 1С должны совпадать по версии платформы до последней цифры. Сервер 8.3.25.1374 не примет клиента 8.3.25.1286. Разрядность значения не имеет: 32-разрядный клиент нормально работает с 64-разрядным сервером.

Ошибка в этом случае выглядит примерно так:

Различаются версии клиента и сервера (8.3.25.1286 - 8.3.25.1374)

Как исправить:

  1. Узнайте версию сервера — по строке запуска службы или в консоли кластера.
  2. Установите на рабочее место клиент ровно этой версии. Несколько версий платформы на одном компьютере уживаются без проблем.
  3. В списке баз откройте Изменить для нужной базы и дойдите до последней страницы мастера. В поле «Версия 1С:Предприятия» укажите конкретную версию, например 8.3.25.1374, или оставьте 8.3, чтобы стартер подобрал подходящую из установленных.

После обновления платформы на сервере все рабочие места без новой версии клиента перестают подключаться. Планируйте обновление так, чтобы дистрибутив клиента разошёлся по машинам заранее.

Если пользователи работают через терминальный сервер или RDP, ставить клиент нужно на терминальный сервер, а не на их компьютеры.

Логи и утилиты: где искать причину, если очевидное не сработало

Когда служба работает, порты открыты, имена разрешаются, а подключения нет, переходите к журналам.

Что смотреть в первую очередь

  • 📋 Журнал Windows «Приложение» (eventvwr.msc) — сюда агент сервера пишет ошибки запуска и падения процессов.
  • 🐧 journalctl на Linux: journalctl -u srv1cv8-8.3.25.1374@default --since today.
  • 🧾 Технологический журнал 1С. Включается файлом logcfg.xml в каталоге conf платформы. В нём видны исключения соединений (события EXCP, CONN). Включайте его точечно и выключайте после диагностики: на загруженном сервере он быстро разрастается.
  • 💥 Дампы процессов в каталоге, указанном в logcfg.xml. Если rphost падает при подключении, причина видна по ним.

Консоль и rac

Откройте «Администрирование серверов 1С Предприятия» на самом сервере. Если консоль на сервере видит кластер и список баз, а с клиента подключиться нельзя, проблема в сети или в именах, а не в службе.

Для проверки из командной строки нужен запущенный сервер администрирования ras. После этого:

rac cluster list
rac session list --cluster=<id кластера>

Первая команда показывает, жив ли кластер и на каком порту он слушает. Остальные параметры смотрите в справке rac help.

Сетевые утилиты

УтилитаЧто проверяетПример
pingдоступность и разрешение имениping srv1c
nslookupкакой IP отдаёт DNSnslookup srv1c
Test-NetConnectionоткрыт ли TCP-портTest-NetConnection srv1c -Port 1541
netstat / ssслушает ли сервер порт и кто его занялnetstat -ano | findstr :1540
tracertгде теряются пакеты по маршрутуtracert srv1c

Тексты ошибок и что за ними стоит

Сообщение 1С при неудачном подключении обычно содержит код сокета Windows. По нему можно понять, на каком этапе оборвалась связь.

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

Если подключение работает по IP, но не по имени, или работает на сервере, но не на клиентах, это почти наверняка история с DNS из раздела выше.

Проблема только у одного пользователя

Когда остальные работают, а один компьютер не видит сервер, по очереди проверьте:

  1. Версию установленной платформы на этом компьютере.
  2. Строку подключения: Изменить в списке баз, поле «Кластер серверов 1С:Предприятия» и «Имя информационной базы в кластере».
  3. Файл hosts и разрешение имени.
  4. Локальный антивирус и фаервол.

Если всё совпадает, а ошибка остаётся, очистите локальный кэш базы: удалите её из списка и добавьте заново, или запустите клиент с параметром /ClearCache. Это затрагивает только локальную копию метаданных у этого пользователя, данные базы не трогает.

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

Нужен ли порт 1545 для работы пользователей?
Нет. Порт 1545 использует сервер администрирования ras, он нужен для rac и веб-консоли. Пользователям хватает 1540, 1541 и диапазона рабочих процессов.
Можно ли сузить диапазон 1560–1591?
Можно, в свойствах рабочего сервера. Но в диапазоне должно хватать портов на все рабочие процессы и их служебные соединения, иначе новые сеансы перестанут подключаться при росте нагрузки.
Почему консоль администрирования видит сервер, а клиент 1С нет?
Консоль работает через агент на порту 1540, а клиенту ещё нужны менеджер кластера и рабочие процессы. Значит, закрыт 1541 или диапазон рабочих процессов, либо клиент не разрешает имя сервера.
Влияет ли нехватка лицензий на то, что 1С не видит сервер?
Нет, это другая ошибка. При нехватке лицензий сервер найден, а сообщение говорит именно об отсутствии лицензии. Сетевые коды 10060, 10061 и 11001 к лицензиям отношения не имеют.
Сервер в другой подсети или в облаке — что учесть?
Откройте порты на всём пути: облачная группа безопасности, маршрутизатор, фаервол сервера. И позаботьтесь, чтобы имя сервера разрешалось на клиенте во внутренний или публичный адрес, через DNS или hosts.