Сервер 1С в локальной сети: порты, кластер, база и клиенты
Содержание
Чтобы подключиться к серверу
1С по сети, на сервере должна работать служба агента 1С, в брандмауэре должны быть открыты порты 1540, 1541 и диапазон 1560-1591, а имя сервера должно определяться с каждого клиента. Дальше на клиенте добавляете базу с типом «На сервере 1С:Предприятия» и указываете два значения: имя сервера и имя базы в кластере.
Всё описанное относится к платформе 8.3 и общее для любых конфигураций: БП, ЗУП, УТ подключаются одинаково. Примеры даны для Windows Server 2016 и новее. На Linux-сервере отличается только установка службы, сетевая часть та же.
1. Подготовка сети перед подключением к серверу 1С
Большая часть проблем с подключением к серверу 1С — не в самой 1С, а в сети. Поэтому сеть проверяют до установки, а не после.
Как ходит клиент к серверу
Схема обмена такая:
- Клиент обращается к агенту сервера (
ragent) на порт1540. - Агент направляет его к менеджеру кластера (
rmngr) на порт1541. - Менеджер выдаёт клиенту адрес рабочего процесса (
rphost). Работа с базой идёт уже с ним, на порт из диапазона1560-1591.
Отсюда два вывода. Открыть только 1540 мало: клиент найдёт агента и упадёт на следующем шаге. И рабочий процесс сообщает клиенту имя компьютера, а не IP. Если клиент это имя не разрешает, подключение не состоится, даже когда сам сервер вы указали по IP.
Порты, которые нужно открыть
| Порт | Кто слушает | Зачем |
|---|---|---|
1540/TCP | агент сервера ragent | первое обращение клиента и консоли администрирования |
1541/TCP | менеджер кластера rmngr | выбор рабочего процесса, регистрация баз |
1560-1591/TCP | рабочие процессы rphost | вся работа с базой |
1545/TCP | сервер администрирования ras | только если управляете кластером через rac |
1433/TCP или 5432/TCP | MS 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С:Предприятия».
- Заполните параметры (таблица ниже) и нажмите «Далее».
| Поле | Что указать |
|---|---|
| Кластер серверов 1С:Предприятия | srv1c (или srv1c:1541 при нестандартном порте) |
| Имя информационной базы в кластере | короткое латинское имя, например buh |
| Тип СУБД | MS SQL Server, PostgreSQL и т. д. |
| Сервер баз данных | имя сервера СУБД, для именованного экземпляра MS SQL — srvsql\INST |
| Имя базы данных | имя базы в СУБД; удобно делать таким же, как в кластере |
| Пользователь и пароль сервера БД | учётка СУБД с правом создавать базы |
| Создать базу данных в случае её отсутствия | включить для новой базы |
| Установить блокировку регламентных заданий | включить для копии рабочей базы, чтобы она не слала обмены и письма |
Файловую базу
на сервер переносят выгрузкой: в файловой базе в конфигураторе Администрирование → Выгрузить информационную базу в файл .dt, затем в серверной базе — Администрирование → Загрузить информационную базу. Загрузка .dt требует монопольного доступа к серверной базе и полностью заменяет её содержимое.
Имя базы в кластере и имя базы в СУБД — разные вещи. Клиент видит только первое. Если перепутать их при подключении, получите сообщение, что информационная база не обнаружена.
4. Подключение клиентов к серверу 1С на рабочих местах
На каждом клиенте база добавляется за минуту:
- В окне запуска «Добавить» → «Добавление в список существующей информационной базы».
- Тип — «На сервере 1С:Предприятия».
- Кластер серверов
—
srv1c, имя базы —buh. - Версию платформы оставьте
8.3или укажите точную, если на машине стоит несколько.
Строка подключения такой базы выглядит так:
Srvr="srv1c";Ref="buh";
Общий список баз для всего офиса
Вручную настраивать 30 рабочих мест долго, и при переименовании базы придётся обходить всех снова. Удобнее вести один общий список.
- Создайте файл
ibases.v8iс нужными базами (проще всего скопировать его у себя из%APPDATA%\1C\1CEStart\). - Положите его в сетевую папку, например
\\srv1c\1c$\ibases.v8i, с правом чтения для пользователей. - На клиентах в файл
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С: разбор ошибок
Сначала определите, на каком шаге рвётся цепочка «агент → менеджер → рабочий процесс». Это сразу сужает поиск.
Test-NetConnection srv1c -Port 1540 с клиента проходит.1540, но закрыты 1541 или диапазон 1560-1591. Сверьте правило брандмауэра с диапазоном в свойствах рабочего сервера.hosts на клиенте.Если ни одна подсказка не помогла
Посмотрите, слушает ли сервер порты вообще. На сервере выполните:
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-адресу без имени?
hosts.Сколько клиентов выдержит один сервер 1С?
Нужно ли ставить сервер 1С на тот же компьютер, что и СУБД?
Можно ли запустить два кластера на одном сервере?
-port 1640 -regport 1641 -range 1660:1691. Клиенты тогда указывают кластер как srv1c:1641. Так поступают, когда на одном сервере нужны разные версии платформы.