К статье
Практический материал

Администрирование · 11 мин

Как открыть порты 1С: практическое руководство для администратора

Пошаговая инструкция, как открыть порты 1С: 1540–1541, 1560–1591 для сервера 1С, 1433 для SQL. Настройка брандмауэра Windows, проверка доступности и типичные ошибки.

Клиентские приложения 1С подключаются к серверу 1С:Предприятия и к СУБД по сети через определённые TCP-порты. Если эти порты закрыты брандмауэром Windows, сетевым экраном или антивирусом, пользователи получают ошибки соединения: «Ошибка соединения с сервером 1С:Предприятия», «Сервер баз данных не обнаружен» и подобные. В большинстве случаев проблема решается созданием разрешающих правил в брандмауэре на сервере.

Стандартный набор портов для файловой работы не нужен — открытие портов актуально для клиент-серверной архитектуры. Агент сервера 1С использует порт 1540, рабочие процессы — диапазон 1560–1591, менеджер кластера — 1541. Если база развёрнута на Microsoft SQL Server, дополнительно потребуется порт 1433 (по умолчанию) и 1434 UDP для службы SQL Browser при использовании именованных экземпляров.

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

Какие порты использует 1С и зачем они нужны

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

Агент сервера 1С:Предприятия (процесс ragent) по умолчанию слушает порт 1540. Через него клиенты и консоль кластера получают информацию о кластере. Менеджер кластера (rmngr) использует порт 1541. Рабочие процессы (rphost), которые непосредственно обслуживают сеансы пользователей, занимают диапазон 1560–1591. При нестандартной установке эти значения могли быть изменены — проверить фактические порты можно в консоли администрирования сервера 1С.

Со стороны СУБД: Microsoft SQL Server по умолчанию принимает подключения на TCP 1433; для именованных экземпляров дополнительно нужен UDP 1434 (SQL Browser). PostgreSQL, популярный в связке с 1С на Linux и в отечественных сборках, по умолчанию использует порт 5432. Если веб-клиент или веб-сервисы 1С опубликованы через IIS или Apache, потребуются порты 80 (HTTP) и/или 443 (HTTPS).

Подготовка: что проверить перед настройкой

Сначала убедитесь, что службы запущены и порты действительно прослушиваются. На сервере 1С откройте «Службы» (services.msc) и проверьте, что служба «Агент сервера 1С:Предприятия» находится в состоянии «Выполняется». Если служба остановлена, открытие портов ничего не даст.

Проверить прослушивание портов можно командой в командной строке от имени администратора:

cmd
netstat -ano | findstr "1540 1541 1560"

Если в выводе видны строки со состоянием LISTENING для нужных портов — служба работает, и остаётся только пробросить трафик через брандмауэр. Если строк нет, проблема в запуске службы, а не в сетевых правилах.

Также уточните, нет ли между клиентом и сервером промежуточных сетевых устройств: аппаратных файрволов, маршрутизаторов с фильтрацией, VPN-шлюзов. Правило на самом сервере не поможет, если трафик режется на корпоративном сетевом экране — в этом случае настройку нужно согласовать с сетевым администратором.

Открытие портов в брандмауэре Windows через графический интерфейс

Самый наглядный способ — оснастка «Брандмауэр Защитника Windows в режиме повышенной безопасности». Откройте её через Панель управления или командой wf.msc.

Порядок действий
  1. 1
    Откройте wf.msc и выберите «Правила для входящих подключений»
  2. 2
    Нажмите «Создать правило» и выберите тип «Для порта»
  3. 3
    Укажите протокол TCP и порты: 1540-1541, 1560-1591
  4. 4
    Выберите действие «Разрешить подключение»
  5. 5
    Оставьте профили «Доменный» и «Частный» (публичный — только при необходимости)
  6. 6
    Задайте понятное имя правила, например «1С Server — агент и рабочие процессы»
  7. 7
    Повторите для порта 1433 на сервере СУБД, если SQL и 1С на разных машинах
  8. 8
    Проверьте подключение клиента к базе

Обратите внимание на профили сети. Если сервер входит в домен, правило с профилем «Доменный» будет работать только при подключении к доменной сети. В одноранговой сети без домена применяется профиль «Частный». Включать профиль «Публичный» без крайней необходимости не следует — это расширяет поверхность атаки.

При желании можно ограничить правило конкретными IP-адресами или подсетью клиентов: в свойствах правила на вкладке «Область» укажите удалённые IP-адреса. Это хорошая практика для серверов, доступных из разных сегментов сети.

Открытие портов через командную строку и PowerShell

Для автоматизации или настройки нескольких серверов удобнее использовать netsh или PowerShell. Команды выполняются от имени администратора.

powershell
New-NetFirewallRule -DisplayName "1C Server Agent" -Direction Inbound -Protocol TCP -LocalPort 1540-1541,1560-1591 -Action Allow -Profile Domain,Private

Альтернативный вариант через netsh:

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

Для SQL Server на отдельной машине:

powershell
New-NetFirewallRule -DisplayName "MS SQL Server" -Direction Inbound -Protocol TCP -LocalPort 1433 -Action Allow -Profile Domain,Private

Чтобы удалить ошибочное правило, используйте: Remove-NetFirewallRule -DisplayName "Имя правила". Перед массовым применением команд на боевом сервере протестируйте их на тестовой машине или в нерабочее время.

Открытие портов на сервере SQL и для веб-доступа

Если сервер 1С и SQL Server установлены на разных машинах, правила нужны на обеих. На сервере СУБД откройте TCP 1433. Если используется именованный экземпляр SQL Server, проверьте в SQL Server Configuration Manager, какой порт назначен экземпляру (по умолчанию он динамический), и либо зафиксируйте статический порт, либо дополнительно откройте UDP 1434 для службы SQL Browser и убедитесь, что она запущена.

Для PostgreSQL откройте TCP 5432 и дополнительно проверьте файл pg_hba.conf: в нём должны быть строки, разрешающие подключение с адреса сервера 1С. Один лишь сетевой порт без настройки pg_hba.conf не даст подключиться — это частая причина ошибки «сервер баз данных не обнаружен» при работе с PostgreSQL.

Для веб-клиента 1С, опубликованного через IIS, достаточно открыть 80 или 443 порт на веб-сервере. Порты кластера 1540–1591 при этом должны быть открыты только между веб-сервером и сервером 1С, а не для всех клиентов.

Проверка доступности портов с клиентской машины

После создания правил проверьте результат с рабочей станции пользователя. Самый удобный инструмент — PowerShell-команда Test-NetConnection:

powershell
Test-NetConnection -ComputerName srv1c -Port 1540

В выводе смотрите на поле TcpTestSucceeded: значение True означает, что порт доступен. Замените srv1c на имя или IP вашего сервера и повторите проверку для портов 1541, 1560 и 1433 (если SQL на отдельной машине).

Контрольные точки

Как проверить результат

Test-NetConnection к порту 1540
Норма

TcpTestSucceeded: True

Тревожный признак

False — порт закрыт или служба не слушает

netstat на сервере
Норма

Порт в состоянии LISTENING

Тревожный признак

Порта нет в списке — агент сервера не запущен

Подключение клиента 1С
Норма

База открывается без ошибок соединения

Тревожный признак

Ошибка соединения — проверяйте правила и имя сервера

Ping сервера по имени
Норма

Имя разрешается в правильный IP

Тревожный признак

Имя не резолвится — проблема в DNS, а не в портах

Если порт недоступен, проверяйте по цепочке: запущена ли служба на сервере, создано ли правило и активен ли нужный профиль брандмауэра, нет ли стороннего антивируса с собственным сетевым экраном (он может перекрывать правила Windows), не фильтрует ли трафик промежуточное сетевое оборудование.

Типичные ошибки и их последствия

Типичные ошибки
01
Открытие только порта 1540 — клиент находит сервер, но сеанс не стартует, потому что закрыты порты рабочих процессов 1560–1591
02
Правило создано для профиля «Доменный», а сервер видит сеть как «Частную» — правило не применяется
03
Открытие портов на сервере 1С, но не на сервере SQL — ошибка «сервер баз данных не обнаружен» сохраняется
04
Игнорирование антивируса с собственным файрволом — его правила имеют приоритет над брандмауэром Windows
05
Открытие портов в интернет вместо использования VPN — риск компрометации базы и шифрования данных
06
Опечатка в имени сервера или проблемы DNS принимаются за закрытый порт — время тратится на настройку брандмауэра вместо проверки разрешения имён

Отдельно стоит упомянуть ситуацию с динамическими портами SQL Server. После перезапуска службы именованный экземпляр может сменить порт, и ранее созданное правило перестанет работать. Решение — зафиксировать статический порт в SQL Server Configuration Manager (свойства протокола TCP/IP, раздел IPAll, поле TCP Port) и открыть именно его.

Удобно создавать одно правило с перечнем портов через запятую и диапазоном (например, 1540-1541,1560-1591), а не отдельное правило на каждый порт. Так список правил остаётся читаемым, а аудит настроек занимает меньше времени. В имени правила указывайте назначение и дату создания — это упростит сопровождение.
ПЗ
Практическое замечание

Часто задаваемые вопросы

Нужно ли открывать порты для файловой базы 1С в общей папке?

Нет, порты сервера 1С в этом случае не используются. Доступ к файловой базе идёт через общий сетевой ресурс (SMB), для которого брандмауэр Windows обычно уже имеет стандартные правила «Общий доступ к файлам и принтерам». Если клиенты не видят базу, проверяйте права на папку и включённое сетевое обнаружение, а не порты 1540–1591.

Как узнать, на каких портах реально работает мой кластер 1С?

Откройте консоль администрирования серверов 1С, раскройте свойства кластера и рабочих процессов — там указаны фактические порты. Альтернатива — команда netstat -ano с сопоставлением PID процессов ragent, rmngr и rphost через диспетчер задач.

Порты открыты, но клиент всё равно не подключается. Что проверять?

Проверьте, что клиент обращается по тому же имени сервера, которое указано в кластере; что имя разрешается в правильный IP (команда nslookup); что антивирус на сервере не блокирует трафик; и что версии платформы на клиенте и сервере совместимы. Также убедитесь, что правило брандмауэра активно для текущего сетевого профиля.

Безопасно ли открывать порты 1С для доступа через интернет?

Нет, публиковать порты кластера 1540–1591 и порт СУБД напрямую в интернет крайне не рекомендуется — это распространённый путь атак шифровальщиков. Для удалённой работы используйте VPN, терминальный доступ или публикацию веб-клиента по HTTPS с аутентификацией и ограничением доступа по IP.

Нужно ли открывать порты UDP для сервера 1С?

Кластер серверов 1С работает по TCP, правила для UDP ему не требуются. Исключение — UDP 1434 для службы SQL Browser при использовании именованных экземпляров SQL Server с динамическими портами.

Можно ли изменить стандартные порты сервера 1С?

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

Итог

Что важно запомнить

Для клиент-серверной 1С откройте на сервере TCP 1540, 1541 и 1560–1591, на сервере СУБД — 1433 (MS SQL) или 5432 (PostgreSQL). Создавайте правила только для нужных профилей сети, проверяйте результат командой Test-NetConnection и никогда не публикуйте эти порты в интернет — для удалённой работы используйте VPN или веб-клиент по HTTPS.