Подключение пользователей к серверу 1С:Предприятия 8.3 — в локальной сети и через интернет
Содержание
Чтобы настроить доступ к серверу 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С:Предприятия → имя сервера → Кластеры → Локальный кластер → Информационные базы. Через контекстное меню создайте новую базу и укажите:
- Имя базы в кластере — латиницей, без пробелов, например
buh. - Тип СУБД, сервер баз данных, имя базы в СУБД, пользователя и пароль СУБД.
- Флажок «Разрешить выдачу лицензий сервером 1С:Предприятия», если у вас серверные клиентские лицензии.
- Флажок «Установить блокировку регламентных заданий» — для копии рабочей базы, чтобы она не начала, например, загружать курсы или отправлять отчёты.
Ту же базу можно создать и из окна запуска 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, нагрузка на терминальный сервер |
| Веб-публикация по HTTPS | IIS или Apache, модули расширения веб-сервера 1С, SSL-сертификат | Тонкий клиент или браузер, один порт 443 | Не все обработки и внешние компоненты работают в веб-клиенте |
| Проброс портов 1С | Правила NAT на роутере | Быстро настроить | Небезопасно, проблемы с именами, не рекомендуется |
Публикация базы на веб-сервере
- На сервере установите IIS (или Apache) и при установке платформы отметьте компонент «Модули расширения веб-сервера».
- Запустите Конфигуратор этой базы от имени администратора Windows.
- Откройте
Администрирование → Публикация на веб-сервере, укажите имя публикации (например,buh) и каталог. - Нажмите «Опубликовать». Для IIS пул приложений должен иметь права на каталог публикации.
- Настройте 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С
Почти все ошибки подключения сводятся к четырём причинам: служба не запущена, порт закрыт, имя не резолвится, версии не совпадают. Выберите симптом:
Test-NetConnection srv1c -Port 1541 в PowerShell. Если TcpTestSucceeded равно False — ищите блокировку в брандмауэре сервера или в сети.C:\Windows\System32\drivers\etc\hosts на клиенте./etc/hosts на сервере.Если консоль не видит сервер, а пользователи работают, проблема обычно в radmin.dll или в том, что на Linux не запущен ras.
Как закрыть сервер 1С от посторонних
Открытый сервер 1С без администраторов кластера — частая находка при аудите. Пройдите по списку перед тем, как пустить удалённых пользователей:
Ещё один уровень защиты — профили безопасности в консоли кластера. Они ограничивают, к каким каталогам, внешним компонентам и интернет-ресурсам может обращаться код конфигурации. Назначают профиль конкретной базе в её свойствах. Для типовых конфигураций без доработок профили обычно не мешают, а для баз с внешними обработками их нужно настраивать аккуратно.
Брутфорс по RDP — самая частая атака на серверы 1С в малом бизнесе. Если сотрудники ходят по RDP, не публикуйте порт 3389 наружу без VPN или шлюза удалённых рабочих столов.
Частые вопросы
Можно ли подключиться к серверу 1С по IP без имени?
Srvr можно указать IP, но кластер всё равно вернёт клиенту имя рабочего сервера. Если оно не резолвится, подключение оборвётся. Надёжнее прописать имя в DNS или в hosts.Нужен ли на сервере 1С ключ, если пользователи работают со своими ключами?
Сколько пользователей потянет сервер 1С на 4 ГБ памяти?
Как разрешить подключение к серверу 1С только из одной подсети?
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.