Сервер 1С в локальной сети: порты, кластер, база и клиенты

· 10 мин

Содержание

Чтобы подключиться к серверу 1С по сети, на сервере должна работать служба агента 1С, в брандмауэре должны быть открыты порты 1540, 1541 и диапазон 1560-1591, а имя сервера должно определяться с каждого клиента. Дальше на клиенте добавляете базу с типом «На сервере 1С:Предприятия» и указываете два значения: имя сервера и имя базы в кластере.

Всё описанное относится к платформе 8.3 и общее для любых конфигураций: БП, ЗУП, УТ подключаются одинаково. Примеры даны для Windows Server 2016 и новее. На Linux-сервере отличается только установка службы, сетевая часть та же.

1. Подготовка сети перед подключением к серверу 1С

Большая часть проблем с подключением к серверу 1С — не в самой 1С, а в сети. Поэтому сеть проверяют до установки, а не после.

Как ходит клиент к серверу

Схема обмена такая:

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

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

Порты, которые нужно открыть

ПортКто слушаетЗачем
1540/TCPагент сервера ragentпервое обращение клиента и консоли администрирования
1541/TCPменеджер кластера rmngrвыбор рабочего процесса, регистрация баз
1560-1591/TCPрабочие процессы rphostвся работа с базой
1545/TCPсервер администрирования rasтолько если управляете кластером через rac
1433/TCP или 5432/TCPMS SQL или PostgreSQLтолько если СУБД на другом компьютере; клиентам этот порт не нужен

Правило для брандмауэра Windows создаётся одной командой PowerShell от имени администратора:

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

Клиентам 1С не нужен доступ к СУБД. С базой данных общается только сервер 1С. Порт SQL Server или PostgreSQL можно открыть лишь для адреса сервера 1С.

Имя сервера и проверка доступа

Проверьте с клиентского компьютера три вещи:

  • 🖧 ping srv1c — имя разрешается и указывает на нужный адрес;
  • 🔌 Test-NetConnection srv1c -Port 1540 — агент отвечает (в выводе TcpTestSucceeded : True);
  • 🔁 то же для 1541 и, например, 1560, когда служба уже запущена.

Если в сети нет нормального DNS, пропишите сервер в C:\Windows\System32\drivers\etc\hosts на каждом клиенте. Строка вида 192.168.1.10 srv1c. Имя должно совпадать с именем компьютера сервера, а не быть придуманным псевдонимом.

2. Установка службы агента и настройка кластера серверов 1С

Сервер 1С ставится тем же дистрибутивом платформы, что и клиент. В установщике отметьте компонент «Сервер 1С:Предприятия 8» и флажок установки как сервиса Windows. Установщик создаст службу и пользователя USR1CV8, от которого она работает.

Разрядность сервера и клиентов может различаться. А вот номер версии платформы у клиента и сервера должен совпадать до последней цифры: клиент 8.3.25.1374 к серверу 8.3.25.1286 не подключится.

Если служба не создалась

Службу регистрируют вручную. Откройте командную строку от имени администратора в папке bin нужной версии платформы:

cd "C:\Program Files\1cv8\8.3.25.1374\bin"
ragent.exe -instsrvc -usr .\USR1CV8 -pwd ВашПароль -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"
ragent.exe -start

Здесь -port — порт агента, -regport — порт менеджера кластера, -range — диапазон рабочих процессов, -d — каталог служебных файлов кластера srvinfo. Номер версии в пути замените на свой.

Консоль администрирования

Консоль «Администрирование серверов 1С:Предприятия» ставится вместе с сервером. Если она не открывается или пишет об ошибке оснастки, зарегистрируйте библиотеку из каталога bin той же версии:

regsvr32 "C:\Program Files\1cv8\8.3.25.1374\bin\radmin.dll"

В консоли добавьте центральный сервер по имени (srv1c, порт 1540). Раскройте его: внутри будет «Локальный кластер», а в нём ветки «Информационные базы», «Рабочие серверы», «Сеансы» и «Администраторы».

Добавьте администратора кластера (ветка «Администраторы»). Без него любой, кто дотянется до порта 1540, может открыть консоль и завершить чужие сеансы. Запишите пароль администратора кластера в надёжное место — без него консоль не пустит даже вас.

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

3. Как зарегистрировать информационную базу на сервере 1С

Базу в кластере можно создать двумя способами. Результат одинаковый.

СпособГдеКогда удобнее
Из окна запуска 1Сна любом клиентесоздаёте базу и сразу добавляете её себе в список
Из консоли кластераИнформационные базы → Создать → Информационная базаадминистратор заводит базы централизованно

Через окно запуска порядок такой:

  1. Нажмите «Добавить» → «Создание новой информационной базы».
  2. Выберите пустую базу или шаблон конфигурации.
  3. Тип расположения — «На сервере 1С:Предприятия».
  4. Заполните параметры (таблица ниже) и нажмите «Далее».
ПолеЧто указать
Кластер серверов 1С:Предприятияsrv1c (или srv1c:1541 при нестандартном порте)
Имя информационной базы в кластерекороткое латинское имя, например buh
Тип СУБДMS SQL Server, PostgreSQL и т. д.
Сервер баз данныхимя сервера СУБД, для именованного экземпляра MS SQL — srvsql\INST
Имя базы данныхимя базы в СУБД; удобно делать таким же, как в кластере
Пользователь и пароль сервера БДучётка СУБД с правом создавать базы
Создать базу данных в случае её отсутствиявключить для новой базы
Установить блокировку регламентных заданийвключить для копии рабочей базы, чтобы она не слала обмены и письма

Файловую базу на сервер переносят выгрузкой: в файловой базе в конфигураторе Администрирование → Выгрузить информационную базу в файл .dt, затем в серверной базе — Администрирование → Загрузить информационную базу. Загрузка .dt требует монопольного доступа к серверной базе и полностью заменяет её содержимое.

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

4. Подключение клиентов к серверу 1С на рабочих местах

На каждом клиенте база добавляется за минуту:

  1. В окне запуска «Добавить» → «Добавление в список существующей информационной базы».
  2. Тип — «На сервере 1С:Предприятия».
  3. Кластер серверов — srv1c, имя базы — buh.
  4. Версию платформы оставьте 8.3 или укажите точную, если на машине стоит несколько.

Строка подключения такой базы выглядит так:

Srvr="srv1c";Ref="buh";

Общий список баз для всего офиса

Вручную настраивать 30 рабочих мест долго, и при переименовании базы придётся обходить всех снова. Удобнее вести один общий список.

  1. Создайте файл ibases.v8i с нужными базами (проще всего скопировать его у себя из %APPDATA%\1C\1CEStart\).
  2. Положите его в сетевую папку, например \\srv1c\1c$\ibases.v8i, с правом чтения для пользователей.
  3. На клиентах в файл 1CEStart.cfg добавьте строку:
CommonInfoBases=\\srv1c\1c$\ibases.v8i

Файл 1CEStart.cfg для одного пользователя лежит в %APPDATA%\1C\1CEStart\, для всех пользователей компьютера — в C:\ProgramData\1C\1CEStart\. Вторым вариантом удобно раздать настройку групповой политикой.

После этого базы из общего списка появятся в окне запуска у всех. Свои личные базы пользователь при этом не теряет.

Лицензии при работе через сервер

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

Сетевой аппаратный ключ HASP обслуживает отдельная служба HASP License Manager. Ей нужен свой порт (475/UDP), и его тоже открывают в брандмауэре.

5. Почему клиент не подключается к серверу 1С: разбор ошибок

Сначала определите, на каком шаге рвётся цепочка «агент → менеджер → рабочий процесс». Это сразу сужает поиск.

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

Если ни одна подсказка не помогла

Посмотрите, слушает ли сервер порты вообще. На сервере выполните:

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

Пустой вывод — служба не запущена или работает на других портах. Тогда откройте свойства службы агента и посмотрите строку запуска: там видны фактические -port, -regport и -range.

Второй частый случай — на сервере две сетевые карты или включён VPN-адаптер. Рабочий процесс может сообщать клиенту адрес не той сети. Проверьте, в какую подсеть разрешается имя сервера с клиента.

6. Безопасность сервера 1С в локальной сети

Сервер 1С рассчитан на работу внутри доверенной сети. Несколько правил закрывают основные риски:

  • 🚫 Не публикуйте порты 1540-1591 в интернет пробросом на роутере. Удалённым сотрудникам — VPN или терминальный сервер .
  • 🔐 Задайте администраторов кластера и администраторов центрального сервера.
  • 👤 Служба агента работает от USR1CV8, а не от доменного администратора. Этой учётке нужны права только на каталог srvinfo и на каталоги, с которыми работает 1С.
  • 🧱 Ограничьте правило брандмауэра подсетью офиса (параметр -RemoteAddress в той же команде PowerShell).
  • 🛡 Для баз с внешними обработками включите профили безопасности в консоли кластера: они ограничивают доступ кода к файлам, COM и интернету.

7. Как ускорить работу 1С с сервером по сети

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

СитуацияЧто сделать
Офис в одной локальной сетипроводное подключение 1 Гбит/с, без Wi-Fi на рабочих местах бухгалтерии
Сервер 1С и СУБД на разных машинахсвязь между ними 10 Гбит/с или СУБД на той же машине
MS SQL на одной машине с сервером 1Свключите протокол Shared Memory, он быстрее TCP
Филиал через интернет-каналтонкий клиент или терминальный сервер вместо толстого клиента
Медленный канал с большой задержкойв свойствах базы в окне запуска выберите низкую скорость соединения

Ещё три настройки на сервере, которые часто забывают:

  • ⚡ План электропитания Windows — «Высокая производительность». В сбалансированном режиме процессор сбрасывает частоту, и отклик заметно растёт.
  • 🧮 В свойствах рабочего сервера параметры «Количество ИБ на процесс» и «Количество соединений на процесс» определяют, сколько работы ляжет на один rphost. При 50+ пользователях есть смысл ограничить число соединений на процесс, чтобы нагрузка расходилась по нескольким процессам.
  • 🧹 Антивирус на сервере: исключите из проверки каталог srvinfo и каталоги баз СУБД. Проверка каждого обращения к этим файлам замедляет работу.

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

Частые вопросы о сервере 1С в сети

Можно ли подключиться к серверу 1С по IP-адресу без имени?
В поле кластера IP указать можно, но рабочий процесс всё равно вернёт клиенту имя компьютера. Если клиент это имя не разрешает, подключение оборвётся. Надёжнее настроить DNS или файл hosts.
Сколько клиентов выдержит один сервер 1С?
Зависит от конфигурации и железа. Ориентировочно сервер с 8 ядрами и 32 ГБ памяти при СУБД на той же машине спокойно обслуживает 30-50 пользователей типовой бухгалтерии. Узким местом чаще становится диск СУБД, а не процессор.
Нужно ли ставить сервер 1С на тот же компьютер, что и СУБД?
Для небольших офисов это лучший вариант: нет сетевой задержки между 1С и СУБД. Разносить имеет смысл при большой нагрузке, и тогда только с быстрой связью между машинами.
Можно ли запустить два кластера на одном сервере?
Да, вторую службу агента регистрируют с другими портами, например -port 1640 -regport 1641 -range 1660:1691. Клиенты тогда указывают кластер как srv1c:1641. Так поступают, когда на одном сервере нужны разные версии платформы.
Как узнать, кто сейчас подключён к серверу 1С?
Откройте консоль кластера, ветку «Сеансы» нужной базы. Там видны пользователь, компьютер, время начала и тип клиента. Из консоли же сеанс можно завершить, но пользователь потеряет несохранённые данные.