Порты сервера 1С:Предприятия 8.3: что открыть, чтобы клиенты подключались
Содержание
У сервера 1С:Предприятия 8.3 по умолчанию три порта, без которых клиент не подключится: 1540 (агент сервера), 1541 (главный менеджер кластера) и диапазон 1560–1591 (рабочие процессы). Все три открывают по TCP на входящие соединения на самом сервере 1С. Остальные порты — для СУБД, удалённого администрирования, хранилища и ключей защиты — нужны только для конкретных сценариев.
Схема общая для платформы 8.3 и не зависит от конфигурации: БП, ЗУП и УТ работают через одни и те же порты.
Таблица портов сервера 1С и связанных служб
| Порт | Протокол | Служба | Кому нужен доступ |
|---|---|---|---|
| 1540 | TCP | Агент сервера (ragent) | Клиенты, консоль администрирования, веб-сервер |
| 1541 | TCP | Главный менеджер кластера (rmngr) | Клиенты, веб-сервер |
| 1560–1591 | TCP | Рабочие процессы (rphost) и дополнительные менеджеры | Клиенты, веб-сервер |
| 1545 | TCP | Сервер администрирования (ras) | Утилита rac, сторонние консоли |
| 1542 | TCP | Сервер хранилища конфигураций (crserver) | Разработчики |
| 1550 | TCP | Сервер отладки (dbgs) | Разработчики в Конфигураторе и EDT |
| 1433 | TCP | MS SQL Server | Только сервер 1С |
| 1434 | UDP | SQL Server Browser (именованные экземпляры) | Только сервер 1С |
| 5432 | TCP | PostgreSQL | Только сервер 1С |
| 475 | TCP/UDP | Старый HASP License Manager | Клиенты с сетевым ключом |
| 1947 | TCP/UDP | Sentinel License Manager | Клиенты с сетевым ключом |
| 80 / 443 | TCP | Веб-сервер с публикацией базы | Веб-клиент, мобильный клиент |
Порты 1542, 1545 и 1550 — значения по умолчанию при запуске служб. Их задают ключом -port при регистрации службы, поэтому на конкретном сервере они могут быть другими.
Клиентам не нужен доступ к порту СУБД. С базой данных общается только сервер 1С, поэтому 1433 или 5432 открывают для одного адреса — адреса сервера 1С. Если СУБД стоит на той же машине, порт наружу не открывают вовсе.
Порты агента и менеджера кластера: 1540 и 1541
Подключение клиента к серверу 1С идёт в несколько шагов:
- Клиент обращается к агенту сервера на порт 1540 и к менеджеру кластера на порт 1541.
- Менеджер кластера находит информационную базу и выбирает рабочий процесс.
- Клиенту сообщают адрес и порт этого рабочего процесса из диапазона 1560–1591.
- Дальше клиент работает напрямую с рабочим процессом по этому порту.
Отсюда частая ловушка: открыли 1540 и 1541, а 1560–1591 забыли. Тогда список баз в консоли виден, а сам вход в базу зависает или падает с ошибкой соединения.
Где задаются порты агента
Порты агента указывают в параметрах запуска службы. Строка запуска выглядит так:
"C:\Program Files\1cv8\8.3.24.1586\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"
Номер версии в пути — пример, у вас он свой. Что означают ключи:
- 🔹
-port— порт агента сервера (1540); - 🔹
-regport— порт главного менеджера кластера (1541); - 🔹
-range— диапазон портов рабочих процессов при первом создании кластера; - 🔹
-d— каталог реестра кластераsrvinfo.
Посмотреть текущую строку можно в оснастке services.msc: свойства службы агента 1С → поле «Исполняемый файл». В Linux параметры записаны в unit-файле systemd службы srv1cv8 (имя зависит от версии платформы и способа установки).
Каталог реестра кластера называется по порту менеджера: srvinfo\reg_1541. Если видите там reg_2541, кластер работает на нестандартном порту 2541.
Два сервера 1С на одной машине
Когда на одном компьютере нужно держать две версии платформы (например, для тестирования обновлений), вторую службу регистрируют со сдвигом портов на тысячу:
| Экземпляр | Агент | Менеджер | Рабочие процессы |
|---|---|---|---|
| Основной | 1540 | 1541 | 1560–1591 |
| Тестовый | 2540 | 2541 | 2560–2591 |
У каждого экземпляра должен быть свой каталог srvinfo. Диапазоны не должны пересекаться: иначе второй агент не стартует или рабочие процессы будут конфликтовать за порты.
В строке подключения клиента нестандартный порт указывают через двоеточие после имени сервера: srv1c:2541.
Диапазон портов рабочих процессов 1560–1591
Каждый рабочий процесс rphost и каждый дополнительный менеджер кластера занимает порт из диапазона. Стандартных 32 портов хватает небольшому серверу на 1–3 рабочих процесса.
Диапазон расширяют, если:
- 📈 включено много рабочих процессов (крупный сервер, высокое значение «Количество ИБ на процесс» или много процессов на ядро);
- 📈 включён режим «Менеджер под каждый сервис», и каждый сервис кластера получает свой менеджер со своим портом;
- 📈 в журнале регистрации или технологическом журнале появляются ошибки о нехватке свободного порта.
Расширять лучше с запасом — например, до 1560–1691. Главное, чтобы новый диапазон не пересекался с другими программами на сервере и с портами второго экземпляра 1С.
Если поменяли диапазон в консоли, тот же диапазон нужно открыть в брандмауэре. Иначе новые рабочие процессы получат порты, до которых клиенты не достучатся.
Как изменить диапазон портов в консоли администрирования
Ключ -range в строке службы действует только при создании кластера. Для работающего кластера диапазон меняют в консоли администрирования серверов 1С. Он хранится в свойствах рабочего сервера, а не кластера.
Порядок действий:
- Откройте консоль администрирования серверов 1С и подключитесь к центральному серверу.
- Раскройте ветку
Кластеры → <ваш кластер> → Рабочие серверы. - Откройте свойства нужного рабочего сервера.
- Найдите список диапазонов IP-портов, добавьте новый диапазон или измените существующий.
- Нажмите «ОК» и перезапустите рабочие процессы, чтобы они заняли порты из нового диапазона.
Перезапуск рабочих процессов обрывает сеансы пользователей, которые к ним подключены. Делайте его вне рабочего времени или после предупреждения пользователей.
В свойствах рабочего сервера можно задать несколько диапазонов. Это удобно, когда между старым и новым диапазоном стоит порт, занятый другой программой.
Порт самого кластера (1541) виден в свойствах кластера, но поменять его на лету нельзя. Новый порт менеджера — это фактически новый кластер: перерегистрация службы с другим -regport и повторная регистрация баз. Такую операцию планируют заранее и делают с резервной копией каталога srvinfo.
Порт сервера администрирования RAS
Консоль на Windows подключается к агенту по порту 1540. Утилита rac и сторонние консоли идут через отдельную службу ras, которая по умолчанию слушает 1545. Запуск выглядит так:
ras.exe cluster --port=1545 localhost:1540
Проверить, что связь есть:
rac.exe localhost:1545 cluster list
Если команда вернула список кластеров, RAS работает. Остальные подкоманды смотрите в справке rac help.
Порты СУБД для 1С: PostgreSQL и MS SQL Server
Связь «сервер 1С → СУБД» настраивают на стороне СУБД. В консоли 1С при создании базы указывают только имя сервера СУБД, а нестандартный порт дописывают к нему.
MS SQL Server
Экземпляр по умолчанию слушает TCP 1433. Именованный экземпляр (SQLSRV\SQL2019) часто получает динамический порт, и тогда клиенту нужен ещё SQL Server Browser на UDP 1434.
Чтобы не держать динамику и не открывать лишний порт, закрепите статический:
- Откройте SQL Server Configuration Manager.
- Перейдите в
SQL Server Network Configuration → Protocols for <экземпляр>. - Убедитесь, что протокол TCP/IP включён.
- В свойствах TCP/IP на вкладке IP Addresses, в блоке IPAll, очистите «TCP Dynamic Ports» и впишите нужный номер в «TCP Port».
- Перезапустите службу SQL Server.
Перезапуск SQL Server останавливает работу всех баз на этом экземпляре. Пользователи 1С получат ошибки, пока служба не поднимется.
В консоли 1С сервер СУБД с нестандартным портом указывают через запятую: sqlsrv,1435.
PostgreSQL
Порт по умолчанию 5432. Настройки в двух файлах в каталоге данных кластера PostgreSQL:
- 🔸
postgresql.conf— параметрыportиlisten_addresses(по умолчанию слушает толькоlocalhost); - 🔸
pg_hba.conf— кому разрешено подключаться и каким методом.
Пример строки в pg_hba.conf, которая пускает только сервер 1С с адресом 10.0.0.15:
host all all 10.0.0.15/32 scram-sha-256
После правки listen_addresses или port PostgreSQL нужно перезапустить. Изменения pg_hba.conf применяются перечиткой конфигурации без остановки службы.
В поле сервера СУБД в консоли 1С нестандартный порт указывают параметром: pgsrv port=5433.
Правила брандмауэра для сервера 1С в Windows и Linux
Открывать порты нужно на машине, где стоит сервер 1С, для входящих соединений. На клиентских компьютерах исходящие соединения обычно разрешены и правил не требуют.
Windows: netsh и PowerShell
Через командную строку от имени администратора:
netsh advfirewall firewall add rule name="1C Server 8.3" dir=in action=allow protocol=TCP localport=1540-1541,1560-1591
То же через PowerShell, с ограничением по подсети офиса:
New-NetFirewallRule -DisplayName "1C Server 8.3" -Direction Inbound -Protocol TCP -LocalPort 1540,1541,1560-1591 -RemoteAddress 10.0.0.0/24 -Action Allow
Если нужен удалённый rac, добавьте 1545 отдельным правилом и ограничьте его адресами администраторов.
Через графический интерфейс: Брандмауэр Защитника Windows → Дополнительные параметры → Правила для входящих подключений → Создать правило, тип «Для порта», протокол TCP, перечислите порты через запятую.
Linux: firewalld и ufw
В дистрибутивах с firewalld (РЕД ОС, Astra Linux с firewalld, CentOS/RHEL):
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
sudo ufw status
Чтобы пустить только офисную подсеть, в ufw используйте форму sudo ufw allow from 10.0.0.0/24 to any port 1540:1541 proto tcp.
Не открывайте порты 1С в интернет напрямую. Для удалённых сотрудников надёжнее VPN или публикация базы на веб-сервере через HTTPS.
Диагностика: клиент не подключается к серверу 1С
Проверяйте по цепочке, от сети к службам. Так быстрее найти, на каком шаге рвётся связь.
Шаг 1. Имя сервера разрешается с клиента
Кластер регистрирует рабочие серверы по имени компьютера. Клиент получает от менеджера именно имя, а не IP. Если клиент не может разрешить это имя, подключение не пройдёт даже при открытых портах.
Проверка с клиента:
ping srv1c
Если имя не разрешается, исправьте запись в DNS или добавьте строку в C:\Windows\System32\drivers\etc\hosts на клиенте:
10.0.0.15 srv1c
Этот приём особенно нужен при подключении через VPN, где внутренний DNS офиса часто недоступен.
Шаг 2. Порты доступны по сети
С клиента в PowerShell:
Test-NetConnection srv1c -Port 1541
Test-NetConnection srv1c -Port 1560
TcpTestSucceeded : True — порт доступен. False — порт закрыт брандмауэром или на нём никто не слушает. В Linux то же делают командой nc -zv srv1c 1541.
Проверяйте не только 1541, но и порт реального рабочего процесса. Его номер видно в консоли администрирования в списке рабочих процессов.
Шаг 3. Службы слушают нужные порты
На самом сервере Windows:
netstat -ano | findstr ":1540 :1541"
В Linux:
sudo ss -tlnp | grep -E '1540|1541|156[0-9]'
Если порт не слушается, служба агента не запущена или стартовала с другими ключами. Сверьте строку запуска службы с ожидаемыми портами.
Шаг 4. Порт не занят чужой программой
Если агент не стартует, посмотрите, кто занял порт: в выводе netstat -ano последняя колонка — идентификатор процесса, по нему процесс находится в диспетчере задач на вкладке «Подробности». Конфликт часто дают второй экземпляр 1С с тем же диапазоном и антивирусы с сетевым экраном.
Частые вопросы
Нужно ли открывать порты 1С на компьютерах пользователей?
Какие порты нужны веб-серверу с публикацией базы?
Нужен ли отдельный порт для программных лицензий 1С?
Можно ли пустить клиентов на сервер 1С через интернет, открыв порты на роутере?
Как узнать, на каком порту работает кластер, если доступа к настройкам службы нет?
reg_<порт> внутри srvinfo.