Сервер администрирования ras и утилита rac: установка и запуск
Содержание
Отдельного установщика у утилиты администрирования серверов 1С нет. Сервер администрирования ras и консольный клиент rac лежат в каталоге bin рядом с серверной частью платформы. Поставили сервер 1С:Предприятия, значит, файлы уже на диске. Остаётся запустить ras, дать ему адрес главного сервера кластера и открыть порт.
Ниже — подготовка, запуск на Windows и Linux, регистрация службы, первые команды rac и разбор ошибок подключения. Все примеры рассчитаны на платформу 8.3 с кластером серверов.
Что понадобится до установки
ras не работает
сам по себе. Он подключается к уже работающему серверу 1С (процесс ragent) и отдаёт его управление по сетевому протоколу. Поэтому сначала проверьте основу.
- ✅ Сервер 1С:Предприятия установлен и запущен, кластер создан.
- ✅ Версия
rasсовпадает с версией платформы на сервере. Берите файлы из того же каталога, где лежитragent. - ✅ Знаете адрес и порт главного сервера кластера. По умолчанию порт
1540. - ✅ На сервере открыт порт, который будет слушать
ras. По умолчанию1545. - ✅ Есть учётная запись администратора кластера, если он защищён паролем.
Какие порты задействованы в типовой схеме:
| Порт | Кто слушает | Для чего |
|---|---|---|
1540 | агент сервера ragent | точка входа в кластер |
1541 | менеджер кластера | управление кластером |
1545 | ras | запросы от rac (MMC-консоль администрирования ходит к агенту напрямую, а не к ras) |
1560–1591 | рабочие процессы | сеансы пользователей |
Порт 1545 нужен только тем, кто администрирует. Пользователям он не нужен, поэтому открывайте его только для адресов администраторов.
Где лежат файлы ras и rac
Откройте каталог установленной версии платформы.
- Windows:
C:\Program Files\1cv8\8.3.xx.xxxx\bin\— файлыras.exeиrac.exe. - Linux:
/opt/1cv8/x86_64/8.3.xx.xxxx/— файлыrasиrac.
Вместо 8.3.xx.xxxx подставьте номер вашего релиза платформы. Если серверов несколько, держите ras той же версии, что и кластер, который он обслуживает.
Не запускайте ras из каталога другой версии платформы. Утилита может подключиться, но часть команд будет вести себя странно или вернёт ошибку протокола.
Запуск на Windows
Откройте командную строку от имени администратора и перейдите в каталог bin нужной версии. Запустите:
ras.exe cluster --port=1545 localhost:1540
Здесь cluster — режим работы с кластером серверов, --port — порт, на котором слушает сам ras, а localhost:1540 — адрес главного сервера кластера. Если ras стоит на другой машине, укажите её имя или IP вместо localhost.
Окно останется открытым, пока работает процесс. Это годится для проверки. Для постоянной работы нужна служба.
Служба Windows
Создайте службу командой (путь подставьте свой, кавычки внутри binpath экранируются обратной косой чертой):
sc create "1C:Enterprise Remote Server" binpath= "\"C:\Program Files\1cv8\8.3.xx.xxxx\bin\ras.exe\" cluster --service --port=1545 localhost:1540" start= auto
Пробел после binpath= и start= обязателен. Ключ --service говорит ras, что он запущен как служба. Затем запустите её:
sc start "1C:Enterprise Remote Server"
Служба должна идти под учётной записью, у которой есть доступ к каталогу платформы. Если у вас уже работает служба агента сервера 1С, ras не нужно запускать от той же учётной записи, но права на чтение каталога bin обязательны.
После обновления платформы путь в binpath указывает на старую версию. Пересоздайте службу или поправьте путь, иначе ras продолжит стартовать из старого каталога.
Запуск на Linux
Сначала убедитесь, что файл исполняемый, и запустите его вручную:
/opt/1cv8/x86_64/8.3.xx.xxxx/ras cluster --port=1545 localhost:1540
Если нужен автозапуск, оформите юнит systemd. Создайте файл /etc/systemd/system/ras.service:
[Unit]
Description=1C Remote Administration Server
After=network.target
[Service]
Type=simple
User=usr1cv8
ExecStart=/opt/1cv8/x86_64/8.3.xx.xxxx/ras cluster --port=1545 localhost:1540
Restart=on-failure
[Install]
WantedBy=multi-user.target
Пользователя usr1cv8 замените на того, от имени которого работает у вас сервер 1С. Дальше:
sudo systemctl daemon-reload
sudo systemctl enable --now ras
sudo systemctl status ras
Порт на Linux открывается средствами вашего межсетевого экрана: ufw, firewalld или правилами iptables. Какой из них стоит, зависит от дистрибутива.
Проверка и первая регистрация кластера
Проверьте, что ras слушает порт. На Windows:
netstat -ano | findstr 1545
На Linux:
ss -ltnp | grep 1545
Теперь запросите список кластеров через rac. Команда выполняется на любой машине, откуда виден порт 1545:
rac localhost:1545 cluster list
В ответе будет блок с полями cluster (идентификатор), host, port, name. Идентификатор — это длинная строка вида GUID. Он понадобится в остальных командах.
Если кластер защищён, укажите учётную запись администратора кластера:
rac localhost:1545 cluster list --cluster-user=admin --cluster-pwd=секрет
Чтобы не вводить параметры в каждой команде, подключайтесь к кластеру с --cluster=<идентификатор>. Так вы сразу работаете с нужным кластером и не гадаете, какой из них имеется в виду, если их несколько.
Основные команды rac
rac построен как набор объектов и действий: объект действие --параметры. Полный перечень параметров смотрите в справке rac help. Для конкретного объекта справка вызывается так: rac help cluster. Вот команды, которыми пользуются чаще всего.
| Что нужно | Команда |
|---|---|
| Список кластеров | rac cluster list |
| Список информационных баз | rac infobase summary list --cluster=<id> |
| Список сеансов | rac session list --cluster=<id> |
| Список сеансов с лицензиями | rac session list --cluster=<id> --licenses |
| Список рабочих серверов | rac server list --cluster=<id> |
| Список рабочих процессов | rac process list --cluster=<id> |
Если ras запущен не на локальной машине, перед названием объекта ставится адрес: rac 10.0.0.5:1545 session list --cluster=<id>.
Практический пример: нужно понять, кто занимает лицензии. Выполните команду со списком сеансов и ключом --licenses, а в выводе найдите поля с именем пользователя и приложением. Так видно зависшие сеансы, которые держат место, хотя человек давно ушёл.
Команды, которые завершают сеансы или меняют параметры кластера, оборвут работу пользователей. Выполняйте их в нерабочее время или после предупреждения. Незаписанные данные в открытых документах пропадут.
Когда нужен ras, а когда хватает консоли
Оснастка «Администрирование серверов 1С:Предприятия» ходит к кластеру напрямую через агент сервера, ей ras не нужен. ras нужен всему, что работает через протокол удалённого администрирования: утилите rac, скриптам, сторонним системам мониторинга и веб-инструментам управления кластером. Для них в настройках подключения указывается адрес и порт именно ras, то есть имя_сервера:1545, а не 1540.
Типичная путаница: в скрипте или мониторинге прописан порт агента, и подключение не проходит. Если инструмент просит «адрес сервера администрирования», это всегда ras.
Когда rac удобнее консоли:
- 🔧 нужно выполнять действие по расписанию, например ночную проверку числа сеансов;
- 🔧 сервер без графической оболочки, как на большинстве Linux-машин;
- 🔧 требуется собрать данные скриптом и сложить в мониторинг;
- 🔧 надо быстро проверить кластер по SSH, не поднимая консоль.
Пример: ежедневная проверка сеансов скриптом
Сохраните идентификатор кластера в переменную и снимайте список сеансов в файл. На Linux это три строки:
CLUSTER=идентификатор_из_cluster_list
rac localhost:1545 session list --cluster=$CLUSTER > /var/log/1c-sessions-$(date +%F).txt
grep -c "session " /var/log/1c-sessions-$(date +%F).txt
Файлы за несколько дней показывают, как меняется нагрузка: в какие часы сеансов больше всего и не растёт ли число «висящих». Если кластер защищён паролем, добавьте --cluster-user и --cluster-pwd, но не храните пароль в тексте скрипта, который лежит в общей папке. Передавайте его через переменную окружения или файл с ограниченными правами.
На Windows тот же приём делается пакетным файлом, который запускает планировщик заданий. Следите, чтобы задание шло от учётной записи с правом читать каталог платформы.
Обновление платформы и удаление службы
После установки новой версии платформы на сервере ras нужно перевести на неё же. Порядок такой:
- Предупредите пользователей: на время обновления серверной части сеансы будут закрыты.
- Остановите службу
rasи обновите платформу на сервере. - Исправьте путь к исполняемому файлу в службе: на Windows через
sc config, на Linux — строкойExecStartв юните. - Запустите службу и проверьте
rac cluster list.
Команда для смены пути на Windows:
sc config "1C:Enterprise Remote Server" binpath= "\"C:\Program Files\1cv8\8.3.xx.xxxx\bin\ras.exe\" cluster --service --port=1545 localhost:1540"
Если ras больше не нужен, остановите и удалите службу:
sc stop "1C:Enterprise Remote Server"
sc delete "1C:Enterprise Remote Server"
На Linux отключите юнит командой sudo systemctl disable --now ras и удалите файл /etc/systemd/system/ras.service, затем выполните sudo systemctl daemon-reload. Каталог платформы при этом не трогайте: там же лежит сервер 1С.
Хранить команду создания службы удобно в файле рядом с документацией по серверу. После очередного обновления вы будете знать, что менять, а не вспоминать параметры по памяти.
Если не подключается: разбор ошибок
Большая часть проблем сводится к трём причинам: ras не запущен, порт закрыт, версия не совпала.
ras и слушает ли он порт 1545 (netstat или ss). Затем убедитесь, что порт открыт в брандмауэре на самом сервере и на сетевом оборудовании между машинами. Подробнее о проверке порта — в разделе ниже.ragent работает и отвечает на порту 1540, и что имя сервера разрешается в IP.1540 вместо 1545, либо ras смотрит на другой агент. Проверьте строку запуска ras и адрес в настройках инструмента.--cluster-user и --cluster-pwd. Если пароль забыт, смотрите, у кого из администраторов сохранился доступ к кластеру: он сможет задать новый.bin. Пересоздайте службу с новым путём и перезапустите её.Если порт вроде бы открыт, но извне не отвечает, проверьте, к какому адресу привязан процесс. На машине могут стоять правила, которые режут входящие по профилю сети. На Windows это частая история: правило включено для «частной» сети, а сервер находится в «общедоступной».
Проверьте доступность с рабочего места без самой 1С:
Test-NetConnection сервер -Port 1545
Команда выполняется в PowerShell. Если TcpTestSucceeded вернул False, ищите проблему в сети или брандмауэре, а не в самой платформе.
Безопасность и порядок на сервере
ras по умолчанию не шифрует трафик и не требует особой защиты на уровне протокола. Всё, что может rac, доступно любому, кто достучится до порта и знает учётные данные кластера.
- 🔒 Закройте
1545от внешней сети. Доступ — только с адресов администраторов или через VPN. - 🔒 Задайте пароль администратору кластера и не передавайте его в командах, которые попадают в общие логи.
- 🔒 Не оставляйте
rasна серверах, где администрирование через него не нужно. - 🔒 Следите, чтобы служба стартовала после перезагрузки, иначе мониторинг ночью останется слепым.
Если у вас несколько кластеров, не держите на каждом свой ras без нужды. Одного экземпляра, который смотрит на главный сервер нужного кластера, достаточно.
Частые вопросы
Нужно ли отдельно скачивать утилиту администрирования?
ras и rac входят в состав серверной части платформы и лежат в каталоге bin установленной версии.Какой порт использует ras по умолчанию?
1545. Его можно изменить параметром --port, тогда тот же номер указывайте в консоли и в rac.Можно ли запустить ras на отдельной машине от кластера?
10.0.0.5:1540. Между машинами должен быть открыт порт 1540.Чем rac отличается от ras?
ras — сервер, он слушает порт и принимает запросы. rac — консольный клиент, который эти запросы отправляет.Нужен ли ras, если я работаю только через оснастку администрирования серверов?
ras нужен для rac, скриптов и внешних систем управления.