Подключение пользователей к серверу 1С:Предприятия 8.3 — в локальной сети и через интернет

· 11 мин

Содержание

Чтобы настроить доступ к серверу 1С, откройте на нём входящие TCP-порты 1540, 1541 и диапазон 1560–1591, зарегистрируйте информационную базу в кластере и добавьте её в список баз у пользователей со строкой Srvr="имя_сервера";Ref="имя_базы";. Имя сервера должно определяться с каждого клиента — без этого подключение не пройдёт даже при открытых портах.

Для работы через интернет порты 1С наружу лучше не открывать. Пользователей подключают через VPN, удалённый рабочий стол или веб-публикацию по HTTPS. Всё, что ниже, относится к клиент-серверному варианту платформы 8.3 на Windows Server 2016 и новее и на современных дистрибутивах Linux.

Как клиент 1С находит сервер: порты и протоколы

В клиент-серверном режиме у 1С два способа связи с сервером. Выбор зависит от того, где сидят пользователи.

ПротоколКак подключается клиентКогда подходит
TCP (собственный протокол 1С)Толстый или тонкий клиент напрямую к кластеру, строка Srvr=...;Ref=...;Локальная сеть, VPN, терминальный сервер рядом с сервером 1С
HTTP/HTTPSТонкий или веб-клиент через веб-сервер (IIS или Apache) с опубликованной базойУдалённые сотрудники без VPN, филиалы с плохим каналом, работа из браузера

Для TCP по умолчанию нужны такие порты:

  • 🔌 1540 — агент сервера. К нему подключается консоль администрирования.
  • 🔌 1541 — менеджер кластера. Его адрес клиент указывает в строке Srvr.
  • 🔌 1560–1591 — рабочие процессы. Диапазон задаётся в свойствах рабочего сервера.
  • 🔌 1545 — сервер администрирования ras, если вы управляете кластером через rac или консоль на Linux.

Между сервером 1С и СУБД отдельные порты: 1433 для Microsoft SQL Server, 5432 для PostgreSQL. Пользователям к СУБД доступ не нужен — с базой данных работает только сервер 1С.

Клиент получает от кластера не IP-адрес, а имя рабочего сервера. Если на клиентском компьютере это имя не резолвится, соединение рвётся уже после успешного «рукопожатия» с портом 1541. Поэтому DNS или файл hosts — часть настройки доступа, а не мелочь.

Если порт менеджера кластера нужен нестандартный

Порты меняют в двух случаях: на одной машине работают два сервера 1С разных версий или порт 1541 занят другим ПО. Обычно второй экземпляр сдвигают на тысячу: 2540, 2541, 2560–2591.

В Windows порты заданы ключами в строке запуска службы. Её видно в реестре в параметре ImagePath раздела службы агента в HKLM\SYSTEM\CurrentControlSet\Services:

"C:\Program Files\1cv8\8.3.xx.yyyy\bin\ragent.exe" -srvc -agent -regport 2541 -port 2540 -range 2560:2591 -d "C:\Program Files\1cv8\srvinfo2"

У второго экземпляра должна быть своя папка данных (-d). Иначе два агента будут писать в один реестр кластера. На Linux используются те же ключи -port, -regport, -range, -d в строке запуска ragent.

После смены портов клиент указывает сервер вместе с портом менеджера кластера: Srvr="srv1c:2541";Ref="buh";. Консоль подключается к агенту — srv1c:2540.

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

Настройка доступа к серверу 1С на Windows Server

Шаг 1. Проверьте службу агента

После установки сервера 1С в оснастке services.msc появляется служба «Агент сервера 1С:Предприятия 8.3». Она должна быть в состоянии «Выполняется» с типом запуска «Автоматически».

Служба работает от учётной записи USR1CV8 (или той, что вы указали при установке). У этой учётной записи должны быть права на папку данных кластера — по умолчанию C:\Program Files\1cv8\srvinfo.

Шаг 2. Откройте порты в брандмауэре

Проще всего одной командой в командной строке от имени администратора:

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

Если используете ras, добавьте в список 1545. Правило ограничьте профилем домена или частной сети, если сервер стоит в домене.

Шаг 3. Зарегистрируйте консоль кластера

Консоль «Администрирование серверов 1С Предприятия» часто не запускается после обновления платформы. Причина — не зарегистрирована библиотека radmin.dll нужной версии. Выполните от имени администратора:

regsvr32 "C:\Program Files\1cv8\8.3.xx.yyyy\bin\radmin.dll"

Вместо 8.3.xx.yyyy подставьте номер установленной версии сервера. Версия radmin.dll должна совпадать с версией агента.

Шаг 4. Создайте или зарегистрируйте базу в кластере

В консоли откройте Центральные серверы 1С:Предприятия → имя сервера → Кластеры → Локальный кластер → Информационные базы. Через контекстное меню создайте новую базу и укажите:

  1. Имя базы в кластере — латиницей, без пробелов, например buh.
  2. Тип СУБД, сервер баз данных, имя базы в СУБД, пользователя и пароль СУБД.
  3. Флажок «Разрешить выдачу лицензий сервером 1С:Предприятия», если у вас серверные клиентские лицензии.
  4. Флажок «Установить блокировку регламентных заданий» — для копии рабочей базы, чтобы она не начала, например, загружать курсы или отправлять отчёты.

Ту же базу можно создать и из окна запуска 1С: Добавить → Создание новой информационной базы → На сервере 1С:Предприятия.

Шаг 5. Добавьте базу пользователям

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

Для массовой раздачи удобен общий файл списка баз .v8i или строка подключения в групповой политике.

Конфигурация сервера 1С на Linux

На Linux сервер 1С ставится из дистрибутива server64 для 64-разрядных систем. Начиная с платформы 8.3.21 установщик кладёт рядом с бинарниками готовые unit-файлы systemd, их подключают вручную:

sudo systemctl link /opt/1cv8/x86_64/8.3.xx.yyyy/srv1cv8-8.3.xx.yyyy@.service
sudo systemctl enable --now srv1cv8-8.3.xx.yyyy@default
sudo systemctl status srv1cv8-8.3.xx.yyyy@default

Для сервера администрирования ras в той же папке лежит свой unit-файл, его подключают так же. Без ras консоль с Windows-машины к серверу на Linux не подключится — она общается с ним через ras, а не напрямую с агентом.

Порты на Ubuntu открываются через ufw:

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

Классическая ловушка Ubuntu: в /etc/hosts имя сервера привязано к 127.0.1.1. Кластер регистрирует рабочий сервер по этому имени, и клиенты получают адрес петли. Исправьте строку на реальный IP сервера до первого запуска службы, иначе придётся перерегистрировать рабочий сервер в кластере.

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

/opt/1cv8/x86_64/8.3.xx.yyyy/rac cluster list

Если команда возвращает идентификатор кластера и порт 1541, сервер готов принимать подключения.

Удалённый доступ к серверу 1С через интернет

Прямой проброс портов 1540–1591 на роутере технически работает, но это худший вариант. Порты открыты всему интернету, а клиенту ещё нужно резолвить внутреннее имя сервера во внешний адрес через hosts. Сравните варианты:

СпособЧто нужноПлюсыМинусы
VPN (WireGuard, OpenVPN, IPsec)VPN-шлюз, клиент на компьютере сотрудникаРаботает как в офисе, порты 1С не видны снаружиНужен приличный канал, толстый клиент на медленном VPN тормозит
Удалённый рабочий стол (RDP, RemoteApp)Терминальный сервер с клиентом 1С рядом с сервером 1ССкорость не зависит от канала сотрудникаЛицензии RDS, нагрузка на терминальный сервер
Веб-публикация по HTTPSIIS или Apache, модули расширения веб-сервера 1С, SSL-сертификатТонкий клиент или браузер, один порт 443Не все обработки и внешние компоненты работают в веб-клиенте
Проброс портов 1СПравила NAT на роутереБыстро настроитьНебезопасно, проблемы с именами, не рекомендуется

Публикация базы на веб-сервере

  1. На сервере установите IIS (или Apache) и при установке платформы отметьте компонент «Модули расширения веб-сервера».
  2. Запустите Конфигуратор этой базы от имени администратора Windows.
  3. Откройте Администрирование → Публикация на веб-сервере, укажите имя публикации (например, buh) и каталог.
  4. Нажмите «Опубликовать». Для IIS пул приложений должен иметь права на каталог публикации.
  5. Настройте HTTPS-привязку с сертификатом и проброс только порта 443.

Пользователь добавляет базу в окне запуска как На веб-сервере с адресом https://1c.example.ru/buh. Можно открыть ту же ссылку в браузере — запустится веб-клиент.

Публикация через RemoteApp

Если выбрали терминальный сервер , публикуйте как удалённое приложение 1cestart.exe, а не конкретный 1cv8.exe из папки версии. Тогда после обновления платформы ярлык у пользователей не сломается: стартер сам выберет нужную версию.

Права доступа и аутентификация

Доступ к серверу 1С регулируется на трёх уровнях. Их часто путают.

УровеньГде настраиваетсяЧто защищает
Администраторы центрального сервераКонсоль: Центральные серверы → имя сервера → АдминистраторыУправление агентом, создание кластеров
Администраторы кластераКонсоль: Кластеры → Локальный кластер → АдминистраторыСоздание и удаление баз, завершение сеансов
Пользователи информационной базыВ самой базе: Администрирование → Настройки пользователей и прав → Пользователи (БП 3.0, ЗУП 3.1, УТ 11)Вход в программу и права на данные

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

Аутентификация пользователей базы

  • 🔑 Аутентификация 1С:Предприятия — логин и пароль в самой базе. Подходит для внешних подключений и веб-клиента.
  • 🔑 Аутентификация операционной системы — в карточке пользователя указывается доменная учётная запись \\DOMAIN\ivanov. Пользователь домена входит без пароля.
  • 🔑 OpenID — для веб-публикаций, когда один вход нужен в несколько опубликованных баз.

Для удалённых сотрудников через веб-публикацию отключите пользователям возможность входа без пароля. Пустой пароль у пользователя базы и опубликованный адрес — прямой путь к утечке.

Нагрузка и мониторинг подключений

Когда пользователей больше 20–30, стоит заглянуть в свойства рабочего сервера в консоли. Там задаются:

  • ⚙️ количество информационных баз на один рабочий процесс;
  • ⚙️ количество соединений на один процесс;
  • ⚙️ ограничения памяти рабочих процессов, после которых процесс перезапускается;
  • ⚙️ диапазон портов рабочих процессов (тот самый 1560–1591).

Если процессов становится много, а диапазон узкий, новые подключения не получают порт. Расширьте диапазон и не забудьте открыть его в брандмауэре.

Текущие сеансы и занятые лицензии видно в консоли в ветке «Сеансы» или командой:

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

Идентификатор кластера даёт rac cluster list. Для разбора медленной работы включают технологический журнал через файл logcfg.xml в папке conf платформы. Включайте его на время диагностики: на загруженном сервере журнал быстро занимает диск.

Ошибки подключения к серверу 1С

Почти все ошибки подключения сводятся к четырём причинам: служба не запущена, порт закрыт, имя не резолвится, версии не совпадают. Выберите симптом:

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

Если консоль не видит сервер, а пользователи работают, проблема обычно в radmin.dll или в том, что на Linux не запущен ras.

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

Открытый сервер 1С без администраторов кластера — частая находка при аудите. Пройдите по списку перед тем, как пустить удалённых пользователей:

Защита сервера 1С перед открытием удалённого доступа
Выполнено: 0 / 7

Ещё один уровень защиты — профили безопасности в консоли кластера. Они ограничивают, к каким каталогам, внешним компонентам и интернет-ресурсам может обращаться код конфигурации. Назначают профиль конкретной базе в её свойствах. Для типовых конфигураций без доработок профили обычно не мешают, а для баз с внешними обработками их нужно настраивать аккуратно.

Брутфорс по RDP — самая частая атака на серверы 1С в малом бизнесе. Если сотрудники ходят по RDP, не публикуйте порт 3389 наружу без VPN или шлюза удалённых рабочих столов.

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

Можно ли подключиться к серверу 1С по IP без имени?
В строке Srvr можно указать IP, но кластер всё равно вернёт клиенту имя рабочего сервера. Если оно не резолвится, подключение оборвётся. Надёжнее прописать имя в DNS или в hosts.
Нужен ли на сервере 1С ключ, если пользователи работают со своими ключами?
Нет, клиентские лицензии могут браться с компьютеров пользователей. Но сервер 1С:Предприятия 8.3 сам требует серверную лицензию — без неё кластер не обслужит клиентов.
Сколько пользователей потянет сервер 1С на 4 ГБ памяти?
Ориентировочно 5–10 пользователей типовой БП 3.0 при СУБД на той же машине — и то впритык. Для 20–30 человек закладывайте 16–32 ГБ на сервер с 1С и СУБД.
Как разрешить подключение к серверу 1С только из одной подсети?
В правиле брандмауэра Windows задайте удалённые адреса: в команде netsh добавьте параметр remoteip=192.168.10.0/24. На Linux в ufw — sudo ufw allow from 192.168.10.0/24 to any port 1540:1591 proto tcp.
Можно ли держать файловую базу и клиент-серверную на одном сервере?
Можно. Файловые базы с сервером 1С не конфликтуют. Но файловую базу удалённые пользователи открывают через общую папку, и её доступ настраивается правами на папку, а не через кластер.