Какие порты открыть для сервера 1С:Предприятия и как их поменять
Содержание
Сервер 1С:Предприятия 8.3 по умолчанию работает на трёх группах TCP-портов: 1540 — агент сервера (ragent), 1541 — главный менеджер кластера (rmngr), 1560–1591 — рабочие процессы (rphost). Чтобы клиенты подключались к серверу через сеть, на брандмауэре сервера должны быть открыты все три.
Если ещё нужна удалённая консоль через rac или веб-администрирование, добавьте порт сервера администрирования RAS — 1545. Остальные порты относятся уже не к самому серверу 1С, а к окружению: СУБД, веб-сервер, менеджер лицензий HASP.
Как устроено подключение клиента к кластеру 1С
Сервер 1С — это не одна программа, а несколько процессов. У каждого своя роль и свой порт.
- 🧭 Агент сервера (
ragent) — управляет кластерами на этом компьютере. К нему подключается консоль администрирования. - 🗂 Менеджер кластера (
rmngr) — ведёт список баз, сеансов, лицензий и распределяет клиентов по рабочим процессам. - ⚙️ Рабочие процессы (
rphost) — выполняют серверный код: запросы, проведение документов, отчёты. Каждый занимает порт из диапазона.
Порядок такой. Клиент обращается к серверу по имени, менеджер кластера сообщает ему адрес и порт рабочего процесса, и дальше клиент работает уже напрямую с rphost. Поэтому открыть один 1541 мало: подключение начнётся, но оборвётся на этапе перехода к рабочему процессу.
Из этой схемы следует практичное правило: клиенту нужен доступ ко всем портам кластера, а не к одному. Если хотя бы один порт из диапазона закрыт, ошибка будет плавающей: у одного пользователя база открывается, у другого нет — в зависимости от того, какой рабочий процесс ему достался.
Что указывают в строке подключения
В списке баз при добавлении серверной базы указывают кластер серверов
. Если кластер работает на стандартном 1541, достаточно имени сервера: srv1c. Если порт кластера другой, его пишут через двоеточие: srv1c:1641.
В строке подключения это выглядит так:
Srvr="srv1c:1641";Ref="buh_main";
В строке подключения указывается порт кластера (1541 или тот, что задан вместо него), а не порт агента 1540. Это частая путаница при переносе базы на сервер с нестандартными портами.
Стандартные порты сервера 1С и связанных служб
Сводная таблица портов, которые встречаются в типовой клиент-серверной установке.
| Порт | Служба | Кто к нему подключается | Нужен снаружи сервера |
|---|---|---|---|
| 1540 | Агент сервера ragent | Консоль администрирования, RAS | Да, если консоль запускают с другого ПК |
| 1541 | Менеджер кластера rmngr | Клиенты 1С, веб-сервер | Да |
| 1560–1591 | Рабочие процессы rphost | Клиенты 1С, веб-сервер | Да |
| 1545 | Сервер администрирования RAS | Утилита rac, веб-консоли | Только для администраторов |
| 1550 | Сервер отладки dbgs (HTTP-отладка) | Конфигуратор, EDT | Только разработчикам |
| 1433 | Microsoft SQL Server | Рабочие процессы 1С | Только серверу 1С |
| 5432 | PostgreSQL | Рабочие процессы 1С | Только серверу 1С |
| 475 | Менеджер лицензий HASP (сетевые ключи) | Клиенты и сервер 1С | Да, если ключ сетевой |
| 80 / 443 | Веб-сервер (IIS, Apache) | Браузеры, тонкие клиенты через HTTP | Да, при веб-публикации |
Две оговорки к таблице:
- Порты СУБД нужны только между сервером 1С и сервером СУБД. Клиенты 1С с базой данных напрямую не общаются, им 1433 или 5432 открывать не нужно.
- Порт 475 актуален для аппаратных сетевых ключей HASP. При программных лицензиях отдельный порт не нужен: лицензии выдаёт сам кластер.
Сколько портов нужно в диапазоне рабочих процессов
Стандартный диапазон 1560–1591 — это 32 порта. Каждый рабочий процесс занимает порт. Для небольшой фирмы на 10–30 пользователей этого хватает с запасом.
Если на сервере много рабочих процессов (например, включено несколько процессов на ядро или идёт перезапуск по превышению памяти, когда старый и новый процесс живут одновременно), диапазон можно расширить. Главное — потом расширить его и на брандмауэре.
Второй кластер на том же сервере
Когда на одном компьютере нужны две версии платформы или два независимых кластера, второй агент запускают на других портах. Сложилась общепринятая схема — сдвиг на сотню:
| Экземпляр | Агент | Кластер | Рабочие процессы |
|---|---|---|---|
| Первый | 1540 | 1541 | 1560–1591 |
| Второй | 1640 | 1641 | 1660–1691 |
| Третий | 1740 | 1741 | 1760–1791 |
Сдвиг не обязателен, порты могут быть любыми свободными. Но привычная схема упрощает жизнь тому, кто придёт администрировать сервер после вас.
Где меняются порты сервера 1С
Порты задаются в двух местах, и это часто путают.
Порты агента и кластера — в параметрах службы
Порт агента, порт главного менеджера кластера и начальный диапазон задаются ключами командной строки ragent при регистрации службы:
"C:\Program Files\1cv8\8.3.xx.xxxx\bin\ragent.exe" -srvc -agent -port 1640 -regport 1641 -range 1660:1691 -d "C:\srvinfo_1640"
-port— порт агента;-regport— порт главного менеджера кластера;-range— диапазон портов рабочих процессов;-d— каталог данных кластера (у второго экземпляра должен быть свой).
В Windows эта строка хранится в параметре ImagePath службы агента в реестре: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<имя службы агента 1С>. Имя службы видно в оснастке services.msc, в свойствах службы «Агент сервера 1С:Предприятия 8.3».
В Linux строка запуска находится в unit-файле службы systemd. Найти её проще всего командой:
systemctl cat 'srv1cv8*'
После изменения параметров службу агента нужно перезапустить. Перезапуск обрывает все сеансы пользователей, несохранённые данные пропадут. Делайте это вечером или в выходной, предупредив людей заранее.
Порт агента и кластера на работающем сервере менять без нужды не стоит: придётся переписать список баз у всех пользователей, где указан порт.
Диапазон рабочих процессов — в консоли администрирования
Диапазон портов rphost можно поменять без переустановки службы, через консоль администрирования серверов 1С:
- Откройте консоль, разверните
Central 1C:Enterprise 8.3 servers → <имя сервера> → Кластеры → <кластер> → Рабочие серверы. - Откройте свойства нужного рабочего сервера.
- В поле с диапазоном IP-портов укажите новый диапазон, например
1560:1620. - Сохраните. Новые рабочие процессы будут запускаться с портами из нового диапазона.
Там же, в свойствах рабочего сервера, задаётся порт главного менеджера кластера для этого сервера и параметры отказоустойчивости. Это именно свойства рабочего сервера, а не кластера целиком.
Брандмауэр Windows и Linux для сервера 1С
Правила нужны на самом сервере 1С. На клиентских компьютерах исходящие соединения обычно разрешены по умолчанию.
Windows: PowerShell
Откройте PowerShell от имени администратора и создайте одно правило на все порты:
New-NetFirewallRule -DisplayName "1C Server 8.3" -Direction Inbound -Protocol TCP -LocalPort 1540,1541,1560-1591 -Action Allow
Если нужен RAS для удалённого администрирования, лучше сделать отдельное правило и ограничить его адресами администраторов:
New-NetFirewallRule -DisplayName "1C RAS" -Direction Inbound -Protocol TCP -LocalPort 1545 -RemoteAddress 192.168.1.10 -Action Allow
Через графический интерфейс то же самое делается в Брандмауэр Защитника Windows → Дополнительные параметры → Правила для входящих подключений → Создать правило: тип «Для порта», протокол TCP, порты через запятую 1540,1541,1560-1591.
Linux: firewalld и ufw
Для дистрибутивов с firewalld:
sudo firewall-cmd --permanent --add-port=1540-1541/tcp
sudo firewall-cmd --permanent --add-port=1560-1591/tcp
sudo firewall-cmd --reload
Для Ubuntu и Debian с ufw:
sudo ufw allow 1540:1541/tcp
sudo ufw allow 1560:1591/tcp
Если диапазон рабочих процессов расширяли в консоли, не забудьте расширить его и в правилах. Это самая частая причина, по которой «всё работало, а после настройки перестало».
Сервер 1С не отвечает: проверяем порты по шагам
Типичные сообщения при сетевых проблемах выглядят так: в тексте ошибки есть server_addr=tcp://srv1c:1541 и описание от Windows, например код 10061 (подключение отвергнуто) или 10060 (время ожидания истекло). Они подсказывают, где искать.
- 🚫 10061 — до сервера дошли, но порт никто не слушает. Служба не запущена или работает на другом порту.
- ⏳ 10060 — ответа нет вообще. Чаще всего режет брандмауэр или пакеты не доходят по сети.
Шаг 1. Слушает ли сервер нужные порты
На сервере Windows:
netstat -ano | findstr ":154 :156 :157 :158 :159"
На сервере Linux:
sudo ss -tlnp | grep -E 'ragent|rmngr|rphost'
В выводе должны быть 1540, 1541 и несколько портов из диапазона. Если 1540 нет — не запущена служба агента. Если нет портов рабочих процессов — ни одна база ещё не открывалась или процессы не стартуют, смотрите журнал событий.
Шаг 2. Доступны ли порты с клиента
С клиентского компьютера Windows:
Test-NetConnection srv1c -Port 1541
Test-NetConnection srv1c -Port 1560
TcpTestSucceeded : True значит, что порт открыт. Проверьте 1541 и пару портов из диапазона, которые реально заняты на сервере по итогам шага 1.
Шаг 3. Разрешаются ли имена
Сервер 1С передаёт клиенту адрес рабочего процесса по имени компьютера. Если клиент не может разрешить это имя, первое подключение пройдёт, а следующий этап — нет.
Проверьте с клиента ping srv1c по короткому имени. Если DNS в сети нет или он настроен криво, пропишите сервер в файл C:\Windows\System32\drivers\etc\hosts на клиентах:
192.168.1.20 srv1c
Это классический приём при подключении из другой подсети или через VPN: по IP-адресу пингуется, а 1С не подключается — почти всегда вопрос имён.
Шаг 4. Нет ли конфликта портов
Если на сервере стоит другая программа, которая заняла порт из диапазона 1560–1591, рабочий процесс не сможет на нём подняться. Найти владельца порта поможет PID из вывода netstat -ano: сопоставьте его с процессом в диспетчере задач. Решение — сдвинуть диапазон 1С или перенастроить чужую программу.
Доступ к 1С из интернета: порты, VPN и веб-публикация
Открывать порты 1540–1591 в интернет — плохая идея. Протокол сервера 1С не рассчитан на прямой доступ из внешней сети, а открытый агент кластера без пароля администратора даёт посторонним возможность управлять кластером.
Безопасных вариантов три.
| Способ | Какие порты наружу | Когда подходит | Риски |
|---|---|---|---|
| VPN до офисной сети | Порт VPN (зависит от решения) | Удалённые сотрудники с толстым или тонким клиентом | Нужно администрировать VPN |
| Веб-публикация на IIS или Apache | 443 | Тонкий клиент и браузер, работа из любой точки | Нужен сертификат, обновления веб-сервера |
| Терминальный сервер (RDP) через шлюз | 443 (через шлюз RD) | Работа в толстом клиенте, внешние обработки | Лицензии RDS, нагрузка на сервер |
Как работают порты при веб-публикации
При веб-публикации пользователь подключается только к веб-серверу по 443. Веб-сервер сам ходит в кластер 1С по 1541 и диапазону рабочих процессов, как обычный клиент.
Отсюда схема: снаружи открыт только 443 на веб-сервере, а порты 1540–1591 открыты только для адреса веб-сервера. Если веб-сервер и сервер 1С на одном компьютере, порты кластера наружу не нужны вовсе.
Что ещё закрыть
- 🔐 Задайте администратора кластера и администратора центрального сервера в консоли. Без них любой, кто достучится до 1540, может управлять кластером.
- 🛡 Порт RAS 1545 разрешайте только с адресов администраторов. Через RAS можно завершать сеансы и менять настройки кластера.
- 🧱 Порты СУБД 1433 и 5432 разрешайте только с адреса сервера 1С.
- 🐞 Сервер отладки на 1550 на рабочем сервере не держите включённым постоянно.