Брандмауэр не пускает клиентов к серверу 1С: какие порты и программы разрешить

· 10 мин

Содержание

Чтобы добавить 1С в исключения брандмауэра Windows, на сервере 1С создайте входящее правило для TCP-портов 1540, 1541 и 1560-1591. Это агент сервера, менеджер кластера и рабочие процессы. Быстрее всего это делается одной командой PowerShell от администратора, вручную — через оснастку wf.msc → «Правила для входящих подключений» → «Создать правило». На клиентских компьютерах обычно ничего открывать не нужно: исходящие подключения Windows по умолчанию разрешает.

Инструкция подходит для платформы 8.3 в клиент-серверном и файловом режимах на Windows 10/11 и Windows Server 2016 и новее. Брандмауэр здесь — встроенный «Брандмауэр Защитника Windows». Если на сервере стоит сторонний антивирус со своим сетевым экраном, принцип тот же, но правила создаются в его консоли.

Как понять, что подключение к 1С режет именно брандмауэр

Прежде чем открывать порты, убедитесь, что дело в сетевом экране, а не в остановленной службе или неверном имени сервера. Иначе можно открыть пол-сервера и ничего не исправить.

Признаки блокировки брандмауэром:

  • 🔒 база открывается на самом сервере, но не открывается с других компьютеров;
  • ⏳ клиент долго «думает» (20-30 секунд), потом выдаёт ошибку соединения;
  • 📝 в тексте ошибки есть строка вида server_addr=tcp://SRV1C:1541 и сетевой код 10060;
  • 🧩 консоль администрирования с другого компьютера не видит кластер, а на сервере видит.

Код в ошибке многое говорит о причине:

Код в тексте ошибкиЧто значитГде искать
10060 (таймаут)Пакеты уходят «в никуда», ответа нетБрандмауэр на сервере или между сетями
10061 (отказ в соединении)Сервер ответил, но порт никто не слушаетСлужба агента не запущена или кластер на другом порту
11001 (узел не найден)Имя сервера не разрешаетсяDNS или файл hosts

Таймаут — типичный почерк брандмауэра: он молча отбрасывает пакеты. Отказ в соединении означает, что сеть пропускает, а проблема в службе 1С.

Диагностика: выберите симптом

Какие порты и процессы 1С открывать в брандмауэре

Список зависит от режима работы. Для клиент-серверной базы схема такая: клиент сначала стучится к агенту сервера, затем к менеджеру кластера, а потом напрямую к рабочему процессу из заданного диапазона.

ПортПротоколПроцессДля чего
1540TCPragent.exeАгент сервера, к нему же подключается консоль
1541TCPrmngr.exeМенеджер кластера
1560-1591TCPrphost.exeРабочие процессы (диапазон по умолчанию)
1545TCPras.exeСервер администрирования, если используется rac или сторонняя консоль
1433TCPSQL ServerСвязь сервера 1С с СУБД, если она на другой машине
1434UDPSQL Server BrowserТолько для именованного экземпляра SQL Server
5432TCPPostgreSQLСвязь сервера 1С с СУБД PostgreSQL
80, 443TCPIIS или ApacheВеб-клиент, тонкий клиент через веб-сервер, HTTP-сервисы
475TCP и UDPменеджер лицензий HASPСетевой аппаратный ключ защиты
445TCPSMBФайловая база в общей папке

Диапазон 1560-1591 — значение по умолчанию. Его могли изменить. Фактический диапазон смотрите в консоли кластера: свойства рабочего сервера, поле с диапазонами IP-портов. Открывайте в брандмауэре именно его.

Если на одном компьютере работают два кластера, второй обычно запускают со смещёнными портами, например 2540, 2541, 2560-2591. Параметры видны в свойствах службы агента: строка запуска содержит ключи -port, -regport и -range. Порты второго кластера нужно открыть отдельно.

Исполняемые файлы сервера лежат в папке конкретной версии платформы:

C:\Program Files\1cv8\8.3.xx.xxxx\bin\ragent.exe
C:\Program Files\1cv8\8.3.xx.xxxx\bin\rmngr.exe
C:\Program Files\1cv8\8.3.xx.xxxx\bin\rphost.exe

Клиентские программы — в той же папке bin: 1cv8.exe (толстый клиент и конфигуратор) и 1cv8c.exe (тонкий клиент). Общий запускатель 1cestart.exe лежит в C:\Program Files\1cv8\common\.

Быстрый способ: разрешить приложение 1С через окно Windows

При первом запуске серверной службы или клиента Windows иногда показывает окно «Брандмауэр Защитника Windows заблокировал некоторые функции этого приложения». В нём можно отметить типы сетей и нажать «Разрешить доступ». Правило создастся само.

Если окно закрыли или его не было, добавьте программу вручную:

  1. Нажмите Win + R, введите firewall.cpl и нажмите Enter.
  2. Слева выберите «Разрешение взаимодействия с приложением или компонентом в брандмауэре Защитника Windows».
  3. Нажмите «Изменить параметры», затем «Разрешить другое приложение».
  4. Через «Обзор» укажите нужный файл из папки bin текущей версии платформы, например ragent.exe.
  5. Кнопкой «Типы сетей» отметьте нужный профиль (обычно «Частная» или домен) и нажмите «Добавить».
  6. Повторите для rmngr.exe и rphost.exe.

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

Поэтому для сервера надёжнее правило по портам: оно переживает любые обновления. Правило по программе уместно на клиентских машинах, где порты заранее неизвестны, или как дополнительное ограничение.

Ручная настройка правил для входящих подключений к серверу 1С

Основная работа идёт на сервере 1С: именно к нему подключаются клиенты. Правило создаётся в оснастке «Монитор брандмауэра Защитника Windows в режиме повышенной безопасности».

Через оснастку wf.msc

  1. Нажмите Win + R, введите wf.msc.
  2. Слева выберите «Правила для входящих подключений», справа — «Создать правило».
  3. Тип правила — «Для порта», далее.
  4. Протокол — TCP, «Определённые локальные порты»: 1540-1541, 1560-1591.
  5. Действие — «Разрешить подключение».
  6. Профили — отметьте те, в которых реально работает сервер. Для доменного сервера это «Доменный».
  7. Имя — понятное, например «1С: сервер 8.3». Нажмите «Готово».

Затем откройте свойства созданного правила, вкладку «Область». В блоке «Удалённый IP-адрес» можно ограничить доступ подсетью офиса, например 192.168.10.0/24. Это сильно снижает риск, если сервер видит не только локальную сеть.

Никогда не открывайте порты 1540-1591 в интернет напрямую через проброс на роутере. Для удалённых сотрудников используйте VPN, терминальный сервер или публикацию через веб-сервер по HTTPS.

Одной командой PowerShell

Запустите PowerShell от имени администратора:

New-NetFirewallRule -DisplayName "1C Server 8.3" -Direction Inbound -Protocol TCP `
  -LocalPort 1540,1541,1560-1591 -RemoteAddress 192.168.10.0/24 `
  -Profile Domain,Private -Action Allow

Уберите -RemoteAddress, если ограничивать по адресам не нужно. Для сервера администрирования добавьте отдельное правило на порт 1545 — его лучше открыть только для компьютеров администраторов.

Через netsh в bat-файле

Тот же результат через netsh, удобно для скрипта развёртывания:

netsh advfirewall firewall add rule name="1C Server 8.3" dir=in action=allow protocol=TCP localport=1540-1541,1560-1591

Правила для СУБД и веб-сервера

Если СУБД стоит на отдельной машине, на ней нужно входящее правило для её порта:

# SQL Server
New-NetFirewallRule -DisplayName "MS SQL for 1C" -Direction Inbound -Protocol TCP -LocalPort 1433 -Action Allow
# PostgreSQL
New-NetFirewallRule -DisplayName "PostgreSQL for 1C" -Direction Inbound -Protocol TCP -LocalPort 5432 -Action Allow

Здесь удалённый адрес разумно ограничить IP сервера 1С: напрямую к СУБД пользователям ходить незачем. Для PostgreSQL одного брандмауэра мало — доступ с адреса сервера 1С должен быть разрешён ещё и в pg_hba.conf.

Для веб-публикации на IIS или Apache откройте 80 и 443. Если работает только HTTPS, порт 80 можно не открывать.

Файловая база в общей папке

В файловом режиме сервера 1С нет, и порты 1540-1591 не нужны. Клиент открывает файл 1Cv8.1CD по сети. На компьютере с папкой базы включите встроенную группу правил «Общий доступ к файлам и принтерам» для нужного профиля:

Enable-NetFirewallRule -DisplayGroup "Общий доступ к файлам и принтерам"

На англоязычной Windows группа называется File and Printer Sharing.

Исходящие подключения и исключения на клиентских компьютерах

По умолчанию Windows разрешает все исходящие подключения. Поэтому на обычных рабочих местах трогать брандмауэр для 1С не нужно.

Исходящие правила понадобятся, если администраторы включили строгую политику «блокировать исходящие». Это встречается в банках и на защищённых сегментах. Тогда разрешите:

  • 🖥️ с клиентов на сервер 1С: TCP 1540, 1541 и диапазон рабочих процессов;
  • 🗄️ с сервера 1С на сервер СУБД: TCP 1433 или 5432;
  • 🌐 с клиентов и сервера наружу: TCP 443 для интернет-поддержки, получения обновлений, 1С-Отчётности и ЭДО;
  • 🔑 к компьютеру с сетевым ключом HASP: порт 475 TCP и UDP.

Пример исходящего правила для клиента:

New-NetFirewallRule -DisplayName "1C client to server" -Direction Outbound -Protocol TCP `
  -RemotePort 1540,1541,1560-1591 -RemoteAddress 192.168.10.5 -Action Allow

RemoteAddress здесь — адрес сервера 1С. Исходящее правило работает по удалённым портам, а не по локальным: локальный порт клиента каждый раз выбирается случайно.

На клиенте входящее правило может понадобиться в одном случае — если сам клиент принимает подключения. Например, на нём запущен сервер отладки для разработчика или локальный менеджер лицензий с ключом HASP, к которому обращаются другие компьютеры.

Проверка работы 1С через брандмауэр и отладка

После создания правил проверьте связь с клиентского компьютера, не запуская 1С. Так сразу видно, какой из портов закрыт.

Проверка портов с клиента

Test-NetConnection SRV1C -Port 1540
Test-NetConnection SRV1C -Port 1541
Test-NetConnection SRV1C -Port 1560

В выводе смотрите строку TcpTestSucceeded. Значение True — порт доступен. Порт 1560 откликнется, только если на нём уже работает рабочий процесс; если rphost занял другой порт из диапазона, проверьте его.

Какие порты реально слушает сервер

На сервере выполните:

netstat -ano | findstr "1540 1541 156"

Последний столбец — PID процесса. Сопоставьте его с процессом в диспетчере задач на вкладке «Подробности». Так видно, на каких портах сейчас сидят ragent, rmngr и rphost.

Сетевой профиль

Частая причина «правило есть, а не работает » — правило создано для доменного профиля, а сеть определилась как общедоступная. Проверьте:

Get-NetConnectionProfile

Поле NetworkCategory покажет DomainAuthenticated, Private или Public. Правило должно действовать в том профиле, который указан здесь.

Журнал брандмауэра

Если непонятно, что именно блокируется, включите журнал. В wf.msc откройте «Свойства» корневого узла, вкладку нужного профиля, блок «Ведение журнала» → «Настроить». Включите запись пропущенных пакетов.

Журнал пишется в файл:

%systemroot%\system32\LogFiles\Firewall\pfirewall.log

Повторите подключение из 1С и найдите в файле строки DROP с адресом клиента. Номер порта в этой строке и есть тот, который надо открыть.

Для быстрой проверки можно на минуту отключить брандмауэр на сервере и повторить вход. Заработало — значит, дело в правилах. Сразу включите брандмауэр обратно и настраивайте правила, а не оставляйте сервер без защиты.

Частые ошибки при настройке исключений брандмауэра для 1С

  • ❌ Открыты только 1540 и 1541. Список баз и консоль работают, а вход в базу падает: забыт диапазон рабочих процессов.
  • ❌ Правило по программе для старой версии платформы. После обновления папка bin другая, правило не срабатывает.
  • ❌ Порт открыт на клиенте, а не на сервере. Входящее правило нужно там, куда подключаются.
  • ❌ Изменён диапазон портов рабочего сервера, а правило осталось на 1560-1591.
  • ❌ Правило создано не для того сетевого профиля.
  • ❌ Доступ к СУБД открыт для всей сети. Достаточно адреса сервера 1С.
  • ❌ Порты сервера 1С проброшены в интернет. Это прямой путь к подбору паролей и утечке базы.
  • ❌ Сторонний антивирус со своим сетевым экраном. Встроенный брандмауэр настроен правильно, но пакеты режет антивирус. Проверьте его журнал или временно отключите сетевой экран антивируса.

Частые вопросы

Нужно ли открывать порты на каждом рабочем месте?
Нет. Входящие правила нужны только на сервере 1С, сервере СУБД и компьютере с сетевым ключом. Клиентам исходящие подключения разрешены по умолчанию.
Можно ли сузить диапазон 1560-1591?
Да. Диапазон меняют в свойствах рабочего сервера в консоли кластера. Портов должно хватать на все рабочие процессы и их служебные соединения, поэтому слишком сильно не урезайте. После изменения поправьте правило брандмауэра.
Как открыть доступ к 1С через интернет безопасно?
Не пробрасывать порты 1540-1591. Варианты: VPN до офиса, терминальный сервер с RemoteApp или публикация базы на веб-сервере по HTTPS с порта 443.
Почему после обновления платформы 1С снова перестала подключаться?
Скорее всего, правила были привязаны к файлам старой версии в папке bin. Замените их правилом по портам, оно от версии не зависит.
Мешает ли брандмауэр лицензиям 1С?
С сетевым ключом HASP — да, если закрыт порт 475 на компьютере с ключом. Программные лицензии отдельного порта не требуют: если они установлены на сервере 1С, клиенты получают их через те же порты, что и обычное подключение.