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

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

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

Подробная инструкция по открытию портов 1С на сервере: нужные порты 1540, 1541, 1560, настройка брандмауэра Windows и Linux, проверка доступности.

Для работы клиент-серверной 1С недостаточно установить сервер предприятия и СУБД — между ними и клиентскими машинами должны быть открыты сетевые порты. Если брандмауэр блокирует трафик, пользователи получают ошибки вида «Ошибка соединения с сервером 1С:Предприятие» или «server_addr=... descr=... 10061», хотя сама служба агента сервера работает исправно.

По умолчанию сервер 1С использует диапазон портов 1540–1591: порт 1540 обслуживает агент сервера, 1541 — менеджер кластера, 1560–1591 — рабочие процессы (rphost). Дополнительно могут понадобиться порты 1545 (отладка), 1433 или 5432 для SQL Server и PostgreSQL, 80/443 для веб-доступа через публикацию базы. Какие именно порты открывать, зависит от вашей схемы развертывания.

Ниже разобрано, как определить нужные порты, открыть их в брандмауэре Windows Server и в Linux, а также как проверить, что подключение действительно проходит. Отдельно рассмотрены типичные ошибки, из-за которых даже правильно написанные правила не дают результата.

Какие порты использует сервер 1С

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

Если используется отладка по TCP, дополнительно нужен порт 1550 (и диапазон портов отладки, настраиваемый в свойствах кластера). Для сервера администрирования RAS, через который работает консоль кластера с другой машины или утилита rac, по умолчанию используется порт 1545.

Отдельная группа — порты СУБД. Microsoft SQL Server по умолчанию слушает TCP 1433 (плюс UDP 1434 для Browser, если используются именованные экземпляры), PostgreSQL — 5432. Эти порты открываются на сервере СУБД, и доступ к ним нужен только с сервера 1С, а не с клиентских машин.

TCP 1540Агент сервера (ragent)

Через него клиент подключается к кластеру

TCP 1541Менеджер кластера (rmngr)

Управление сеансами и соединениями

TCP 1560–1591Рабочие процессы (rphost)

Обслуживание сеансов пользователей

TCP 1545Сервер администрирования RAS

Удалённое администрирование кластера

TCP 1433 / 5432SQL Server / PostgreSQL

Связь сервера 1С с СУБД

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

Диапазоны по умолчанию можно изменить при установке или в свойствах кластера, поэтому перед настройкой брандмауэра полезно проверить фактическое состояние. На Windows выполните в командной строке от имени администратора команду netstat -ano | findstr LISTENING и найдите процессы ragent, rmngr и rphost по их PID (PID сопоставляется с процессом через Диспетчер задач).

На Linux используйте ss -tlnp | grep -E "ragent|rmngr|rphost" — команда покажет адреса и порты, которые слушают процессы сервера 1С. Если порт отличается от стандартного, именно его нужно указать в правилах брандмауэра.

bash
netstat -ano | findstr LISTENING | findstr "1540 1541 1560"

Также проверьте настройки кластера в консоли администрирования серверов 1С: в свойствах кластера виден порт агента, а в свойствах рабочего сервера — диапазон портов рабочих процессов. Если диапазон сужен (например, 1560–1570), достаточно открыть только его.

Открытие портов в брандмауэре Windows Server

На Windows Server откройте «Брандмауэр Защитника Windows в режиме повышенной безопасности» (команда wf.msc). Перейдите в раздел «Правила для входящих подключений» и выберите «Создать правило». Тип правила — «Для порта», протокол TCP, затем укажите порты: 1540,1541,1545,1560-1591. Действие — «Разрешить подключение», профили — обычно «Доменный» и «Частный» (публичный профиль для сервера 1С использовать не рекомендуется).

Ту же задачу можно выполнить одной командой PowerShell, что удобно при настройке нескольких серверов:

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

Альтернативный подход — создать правило не по портам, а по программе: разрешить входящие подключения для исполняемых файлов ragent.exe, rmngr.exe и rphost.exe из каталога установки 1С. Такое правило переживёт смену портов, но при обновлении платформы путь к файлам может измениться, и правило придётся пересоздавать.

Открытие портов в Linux

На дистрибутивах с firewalld (CentOS, RHEL, Rocky Linux) порты открываются командами firewall-cmd. Укажите зону (обычно public) и не забудьте флаг --permanent, иначе правило исчезнет после перезагрузки:

bash
firewall-cmd --permanent --add-port=1540-1591/tcp && firewall-cmd --reload

В Debian и Ubuntu чаще используется ufw: sudo ufw allow 1540:1591/tcp. Если брандмауэр настроен напрямую через iptables, добавьте правило вида iptables -A INPUT -p tcp --dport 1540:1591 -j ACCEPT и сохраните конфигурацию штатным для вашего дистрибутива способом (iptables-persistent, netfilter-persistent).

Учтите, что на Linux-сервере PostgreSQL по умолчанию слушает только localhost. Чтобы сервер 1С на другой машине мог подключиться, нужно не только открыть порт 5432 в брандмауэре, но и изменить параметр listen_addresses в postgresql.conf и добавить разрешающую строку в pg_hba.conf. Без этого порт будет формально открыт, но СУБД соединение отклонит.

Ограничение доступа по IP и безопасность

Открывать порты сервера 1С «всем» — плохая практика, особенно если сервер имеет внешний адрес. В правиле брандмауэра Windows на вкладке «Область» укажите удалённые IP-адреса или подсети, которым разрешено подключение: например, только локальную сеть офиса 192.168.0.0/24. В Linux аналогично ограничьте источник параметром -s в iptables или через rich rules в firewalld.

Для доступа через интернет правильнее использовать VPN-туннель до офисной сети, а не пробрасывать порты 1540–1591 наружу на роутере. Прямая публикация портов кластера в интернет делает сервер уязвимым для подбора паролей и эксплуатации уязвимостей платформы.

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

После создания правил проверьте результат с клиентской машины, а не с самого сервера — локальная проверка не покажет работу брандмауэра. В Windows удобнее всего PowerShell: Test-NetConnection server1c -Port 1540. Значение TcpTestSucceeded: True означает, что порт доступен.

Если Test-NetConnection показывает False, проверяйте по цепочке: запущена ли служба «Агент сервера 1С:Предприятия», слушает ли процесс нужный порт (netstat), активно ли правило брандмауэра и для того ли оно профиля (сервер мог получить профиль «Публичный» вместо «Доменный»), нет ли между клиентом и сервером промежуточного сетевого экрана или антивируса с собственным файрволом.

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

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

Test-NetConnection server1c -Port 1540
Норма

TcpTestSucceeded: True

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

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

Профиль сети на сервере
Норма

Доменный или частный, правило создано для этого профиля

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

Публичный профиль, правило для него не создано

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

База открывается, сеанс виден в консоли кластера

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

Ошибка соединения с сервером 1С

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

ragent слушает 0.0.0.0:1540 или адрес интерфейса

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

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

Типичные ошибки при настройке

Самая частая причина неудачи — правило создано, но для другого сетевого профиля. Сервер, не входящий в домен, часто работает в профиле «Публичный», а администратор создаёт правило для «Доменного». Вторая типичная ситуация — открыты только порты 1540 и 1541, но забыт диапазон рабочих процессов 1560–1591: клиент проходит начальное подключение и «падает» уже при запуске сеанса.

Ещё одна группа проблем — стороннее ПО: антивирусы с сетевым экраном, групповые политики домена, которые переопределяют локальные правила, и аппаратные файрволы между сегментами сети. Если правило в Windows создано корректно, а порт недоступен, временно включите журналирование отброшенных пакетов брандмауэра — в логе pfirewall.log будет видно, режет ли трафик именно Windows.

Типичные ошибки
01
Открыты только 1540 и 1541 без диапазона 1560–1591 — клиент не может запустить сеанс
02
Правило создано для профиля «Доменный», а сервер работает в «Публичном» — правило не применяется
03
Открыт порт СУБД для всей сети вместо одного адреса сервера 1С — лишняя поверхность атаки
04
В firewalld забыли --permanent — после перезагрузки правила исчезли
05
Проброс портов кластера в интернет на роутере вместо VPN — риск компрометации сервера

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

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

Для файловой базы, размещённой в сетевой папке, порты сервера 1С не нужны — используется доступ по протоколу SMB (TCP 445). Убедитесь, что общий ресурс доступен и у пользователей есть права на чтение и запись в каталог базы.

Можно ли изменить стандартные порты 1540–1591?

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

Нужно ли открывать порты, если клиент и сервер на одной машине?

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

Как открыть доступ к базе через веб-браузер?

Для веб-доступа нужна публикация базы на веб-сервере (IIS или Apache) с модулем расширения 1С. Открываются только порты веб-сервера — 80 или 443, порты кластера наружу не публикуются: веб-сервер общается с сервером 1С внутри сети.

Почему Test-NetConnection успешен, а клиент 1С всё равно не подключается?

Проверьте остальные порты диапазона 1560–1591, разрешение имён (клиент должен правильно резолвить имя сервера — проверьте ping и файл hosts) и версию платформы: клиент и сервер должны быть совместимы. Также убедитесь, что база зарегистрирована в кластере и не заблокирована.

Опасно ли открывать порт 1545 для RAS?

Порт RAS даёт административный доступ к кластеру, поэтому открывать его следует только для конкретных машин администраторов или сервера мониторинга. Для защиты используйте аутентификацию администраторов кластера и ограничение по IP в правиле брандмауэра.

Итог

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

Откройте на сервере 1С порты TCP 1540, 1541 и 1560–1591 (плюс 1545 для RAS при необходимости), ограничьте доступ по IP, порты СУБД открывайте только для сервера 1С. Результат проверяйте с клиентской машины через Test-NetConnection. Внешний доступ организуйте через VPN или веб-публикацию, а не проброс портов кластера в интернет.