Как исправить ошибку «Порт 1541 недоступен» при установке сервера 1С:Предприятие и MS SQL Server

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Развертывание связки сервера 1С:Предприятие и MS SQL Server — стандартная задача для системного администратора. Однако при первой установке часто возникает неприятная ситуация: SQL-сервер работает, база данных создана, служба 1С запущена, но при попытке подключить или создать информационную базу утилита администрирования или клиентское приложение выдает ошибку: «Порт 1541 недоступен».

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

Понимание сетевой архитектуры сервера 1С:Предприятие

Прежде чем приступать к диагностике, давайте разберем, какие порты использует сервер 1С по умолчанию и за какие процессы они отвечают. Это поможет нам локализовать проблему:

Если система выдает ошибку о недоступности порта 1541, это означает, что клиентское приложение или консоль администрирования смогли связаться с агентом на порту 1540, но при попытке переключиться на менеджер кластера (порт 1541) получили отказ.


Шаг 1. Проверка работы служб сервера 1С

Выясним, запущены ли процессы, которые должны слушать порт 1541. Бывает так, что служба «Агент сервера 1С:Предприятия» имеет статус «Работает», но один из ее ключевых внутренних процессов аварийно завершился.

Откроем Диспетчер задач Windows на сервере (вкладка «Подробности» или «Процессы») и проверим наличие следующих запущенных процессов:

Если в списке процессов вы видите только ragent.exe, а процесс rmngr.exe отсутствует, это означает, что менеджер кластера не смог запуститься. Следовательно, порт 1541 физически некому открыть. В этом случае переходите сразу к Шагу 5 (Сброс настроек кластера) и Шагу 6 (Проверка прав доступа).


Шаг 2. Настройка Брандмауэра Windows и сторонних антивирусов

Самая очевидная причина блокировки портов — работа сетевых экранов. Даже если брандмауэр Windows отключен, его службы могут частично продолжать фильтрацию трафика, либо на сервере может быть установлено стороннее защитное ПО (Kaspersky, ESET, Symantec и т.д.).

Выполним быструю проверку: временно отключим брандмауэр и защитные экраны антивируса. Если связь восстановилась, необходимо создать правила для входящих подключений.

Рассмотрим, как правильно настроить Брандмауэр Windows через командную строку (PowerShell), запущенную от имени администратора. Для открытия всех необходимых портов выполним следующие команды:


New-NetFirewallRule -DisplayName "1C:Enterprise Agent (1540)" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 1540
New-NetFirewallRule -DisplayName "1C:Enterprise Cluster (1541)" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 1541
New-NetFirewallRule -DisplayName "1C:Enterprise Work Processes (1560-1591)" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 1560-1591
New-NetFirewallRule -DisplayName "MS SQL Server (1433)" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 1433

Если вы используете сторонний антивирус или аппаратный сетевой экран на границе сети, обязательно добавьте аналогичные разрешающие правила для протокола TCP по указанным портам, либо добавьте исполняемые файлы 1С (ragent.exe, rmngr.exe, rphost.exe) в список исключений сетевого экрана.


Шаг 3. Анализ конфликтов портов

Проанализируем ситуацию, при которой порт 1541 занят другим приложением или «зависшим» процессом от старой установки 1С. Для этого воспользуемся командной строкой.

Запустим командную строку от имени администратора и выполним команду:

netstat -ano | findstr 1541

Эта команда выведет все активные соединения и прослушиваемые порты, содержащие «1541». Обратите внимание на последний столбец полученной строки — это PID (идентификатор процесса), который занимает данный порт. Например:

TCP 0.0.0.0:1541 0.0.0.0:0 LISTENING 4120

В данном случае порт занят процессом с PID 4120. Теперь откроем Диспетчер задач, перейдем на вкладку «Подробности», отсортируем список по столбцу «ИД процесса» (PID) и найдем программу, которой принадлежит этот идентификатор.

Если этот PID принадлежит не процессу rmngr.exe, значит, стороннее ПО мешает запуску сервера 1С. Вам потребуется либо завершить этот процесс, либо перенастроить порты запуска службы 1С через реестр Windows.


Шаг 4. Решение проблем с протоколом IPv6 и DNS

Современные операционные системы (начиная с Windows Server 2008) по умолчанию отдают приоритет протоколу IPv6. При обращении клиента к серверу по его сетевому имени (например, SRV-1C), операционная система пытается разрешить имя через IPv6 и возвращает локальный адрес ::1 вместо привычного IPv4 (например, 192.168.1.100). Платформа 1С:Предприятие в таких условиях часто работает некорректно, сообщая о недоступности портов.

Решим эту проблему по двум направлениям:

1. Настройка файла hosts:

На сервере и на проблемных клиентских компьютерах откроем блокнот от имени администратора и отредактируем файл, расположенный по пути: C:\Windows\System32\drivers\etc\hosts.

Добавим в самый конец файла строку, которая жестко свяжет IPv4-адрес сервера с его сетевым именем:

192.168.1.100 SRV-1C

Вместо 192.168.1.100 укажите реальный IP-адрес вашего сервера, а вместо SRV-1C — его сетевое имя.

2. Отключение IPv6 или перенастройка приоритета:

Зайдем в свойства сетевого адаптера сервера и снимем галочку с пункта «IP версии 6 (TCP/IPv6)». Чтобы полностью отключить IPv6 на уровне операционной системы, откроем Редактор реестра (regedit), перейдем по пути:

HKLM\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters

Создадим там параметр типа DWORD (32-бит) с именем DisabledComponents и присвоим ему значение 0xFFFFFFFF (или значение 0x20 для установки приоритета IPv4 над IPv6). После изменения реестра потребуется перезагрузить сервер.


Шаг 5. Сброс кэша и конфигурации кластера 1С

Если служба запускается, но процесс rmngr.exe падает или не может открыть порт из-за повреждения файлов настроек кластера, нам поможет полный сброс конфигурации кластера 1С.

Выполним процедуру очистки по шагам:

  1. Откроем оснастку «Службы» (services.msc) и остановим службу «Агент сервера 1С:Предприятия».
  2. Перейдем в каталог, где хранятся файлы конфигурации кластера. По умолчанию для 64-битной версии платформы путь выглядит так: C:\Program Files\1cv8\srvinfo (для более старых версий или 32-битных платформ путь может быть C:\Program Files (x86)\1cv82\srvinfo).
  3. Внутри этой папки найдем каталог с именем reg_1541. В этой папке хранятся файлы настроек зарегистрированных баз данных и самого кластера.
  4. Внимание! Переименуйте эту папку в reg_1541_old (удалять сразу не рекомендуется, чтобы иметь возможность вернуть настройки).
  5. Снова запустите службу «Агент сервера 1С:Предприятия».

При запуске служба автоматически создаст новую чистую папку reg_1541. Процесс rmngr.exe успешно запустится и откроет порт 1541. После этого вам потребуется заново зарегистрировать ваши информационные базы в консоли администрирования 1С.


Шаг 6. Проверка прав доступа учетной записи службы 1С

По умолчанию при установке сервера 1С создается локальный системный пользователь USR1CV8. Именно от его имени запускается служба сервера.

Если у этого пользователя нет полных прав на чтение и запись в системную папку srvinfo, служба не сможет создать временные файлы кластера, логи транзакций и файлы настроек. Это приведет к тому, что менеджер кластера не сможет инициализироваться на порту 1541.

Рассмотрим, как выдать необходимые права доступа:

  1. Перейдем в каталог C:\Program Files\1cv8 (или к тому каталогу, куда вы перенесли папку srvinfo).
  2. Нажмем правой кнопкой мыши по папке srvinfo (или по всей папке 1cv8) и выберем «Свойства».
  3. Перейдем на вкладку «Безопасность» и нажмем кнопку «Изменить».
  4. Найдем в списке пользователя USR1CV8 (или добавьте его, если его там нет).
  5. Установим галочку напротив пункта «Полный доступ» (или «Изменение», «Запись», «Чтение»).
  6. Нажмем «Применить» и дождемся окончания наследования прав для всех вложенных папок и файлов.
  7. Перезапустим службу сервера 1С.

Шаг 7. Настройка сетевых протоколов СУБД MS SQL Server

Хотя порт 1541 относится к серверу 1С, успешная работа связки невозможна без правильной настройки самого MS SQL Server. По умолчанию после установки SQL Server 2008 протокол TCP/IP может быть отключен, из-за чего рабочие процессы 1С не могут достучаться до СУБД.

Проанализируем конфигурацию SQL Server:

  1. Откроем программу SQL Server Configuration Manager (Диспетчер конфигурации SQL Server) на сервере СУБД.
  2. Перейдем в ветку SQL Server Network Configuration (Сетевая конфигурация SQL Server) -> Protocols for... (Протоколы для вашего экземпляра, например, Protocols for MSSQLSERVER).
  3. Найдем в списке протокол TCP/IP. Если его статус равен Disabled (Отключено), нажмем по нему правой кнопкой мыши и выберем Enable (Включить).
  4. Откроем свойства протокола TCP/IP двойным кликом, перейдем на вкладку IP Addresses (IP-адреса). Спустимся в самый низ списка к разделу IPAll. Убедимся, что поле TCP Dynamic Ports (Динамические порты) пустое, а в поле TCP Port указан стандартный порт 1433.
  5. Перейдем в раздел SQL Server Services в левом меню конфигуратора и перезапустим службу SQL Server, чтобы изменения вступили в силу.

Выполнив указанные шаги по порядку, мы гарантированно решим проблему с недоступностью порта 1541 и обеспечим стабильное и быстрое взаимодействие между сервером приложений 1С:Предприятие и базой данных под управлением MS SQL Server.

← На главную