Какие порты нужны 1С:Предприятию и как открыть их в Windows и Linux

· 10 мин

Содержание

Для клиент-серверной 1С 8.3 на сервере нужно открыть входящие TCP-порты 1540 (агент сервера), 1541 (менеджер кластера) и диапазон 1560–1591 (рабочие процессы). Для веб-доступа добавьте 80 или 443 на веб-сервере, для утилиты rac — 1545, для хранилища конфигурации — 1542.

Типичная ситуация: сервер 1С поставили, база в консоли создана, а клиент с соседнего компьютера выдаёт ошибку соединения. На самом сервере всё работает. Частая причина — брандмауэр пропускает 1540 и 1541, но закрывает диапазон рабочих процессов, и клиент обрывается на втором шаге соединения.

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

Порты проще открывать, когда понятен путь соединения. В клиент-серверном варианте участвуют несколько процессов:

  • 🖥️ ragent — агент сервера. Управляет кластерами на машине, к нему подключается консоль администрирования.
  • 🗂️ rmngr — менеджер кластера. Хранит список баз, сеансов, распределяет нагрузку.
  • ⚙️ rphost — рабочие процессы. Именно они выполняют код конфигурации и ходят в СУБД. Каждый занимает свой порт из диапазона.
  • 🗄️ СУБД — MS SQL Server, PostgreSQL или другая. С ней общаются только рабочие процессы, клиент к СУБД не подключается.
  • 🌐 Веб-сервер (IIS или Apache) — нужен, если пользователи работают через браузер, тонкий клиент по HTTP или мобильное приложение.

Порядок подключения тонкого клиента такой:

  1. Клиент обращается к кластеру по адресу из списка баз. Если порт после имени сервера не указан, используется порт менеджера кластера 1541.
  2. Менеджер кластера находит базу и выбирает рабочий процесс и сообщает клиенту его адрес и порт, например сервер:1562.
  3. Дальше клиент работает напрямую с этим rphost.

Отсюда главное правило: открыть только 1540 и 1541 недостаточно. Клиент получит адрес рабочего процесса и не сможет к нему подключиться.

Менеджер кластера сообщает клиенту имя компьютера рабочего сервера, а не IP. Если клиент это имя не разрешает (нет записи в DNS, компьютер в другой подсети), соединение падает даже при открытых портах. Лечится записью в DNS или строкой в C:\Windows\System32\drivers\etc\hosts на клиенте.

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

ПортПротоколКто слушаетДля чегоКому открывать
1540TCPragentАгент сервера, вход для консоли администрированияАдминам, клиентам, веб-серверу
1541TCPrmngrМенеджер кластераКлиентам, веб-серверу
1560–1591TCPrphost, доп. менеджерыРабочие процессы и сервисы кластераКлиентам, веб-серверу
1545TCPrasСервер администрирования для rac и сторонних консолейТолько админам
1542TCPcrserverСервер хранилища конфигурацииРазработчикам
1550TCPdbgsСервер отладки по HTTPРазработчикам, не в бою
1433TCPMS SQL ServerПодключение к СУБДТолько серверу 1С
5432TCPPostgreSQLПодключение к СУБДТолько серверу 1С
475UDP/TCPHASP License ManagerСетевой ключ защиты HASPКлиентам с сетевым ключом
80 / 443TCPIIS / ApacheВеб-клиент, тонкий клиент по HTTP, мобильные приложения, веб-сервисыПользователям
445TCPSMBФайловая база в общей папкеПользователям файловой базы
3389TCPRDPРабота через удалённый рабочий столПользователям терминала

Несколько уточнений к таблице:

  • 📌 Номера 1540, 1541 и диапазон задаются при установке службы сервера и могут быть другими. Если на одной машине стоят два кластера (например, разных версий платформы), второму обычно дают 2540, 2541 и 2560–2591.
  • 📌 Диапазона 1560–1591 хватает на 32 процесса. Для крупного кластера его расширяют.
  • 📌 Программные лицензии 1С через отдельные сетевые порты не работают: их проверяет сам сервер. Порт 475 нужен только для аппаратных сетевых ключей HASP.
  • 📌 В файловом режиме порты 1540–1591 не участвуют вообще: клиент открывает файл 1Cv8.1CD по сети через общий ресурс.

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

Не доверяйте значениям по умолчанию: администратор мог поменять их при установке. Проверка занимает пару минут.

Параметры службы в Windows

Откройте services.msc, найдите службу «Агент сервера 1С:Предприятия 8.3» и посмотрите поле «Исполняемый файл». Там будет строка вида:

"C:\Program Files\1cv8\8.3.24.1548\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"

Здесь -port — порт агента, -regport — порт менеджера кластера, -range — диапазон рабочих процессов.

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

В Windows, в PowerShell от администратора:

Get-NetTCPConnection -State Listen |
  Where-Object { $_.LocalPort -ge 1540 -and $_.LocalPort -le 1600 } |
  Select-Object LocalPort, OwningProcess, @{n='Process';e={(Get-Process -Id $_.OwningProcess).ProcessName}}

В Linux:

sudo ss -tlnp | grep -E 'ragent|rmngr|rphost|ras'

Доступен ли порт с клиента

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

Test-NetConnection srv1c -Port 1540
Test-NetConnection srv1c -Port 1562

В Linux то же самое делает nc -zv srv1c 1540. Если TcpTestSucceeded : False — порт закрыт по пути: брандмауэр сервера, сетевой экран между сегментами или правило в облаке.

Номер порта конкретного рабочего процесса видно в консоли кластера: раздел «Рабочие процессы», колонка «Порт». Проверяйте именно его, а не случайный номер из диапазона.

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

Через графический интерфейс это делается мастером «Правило для порта» в оснастке wf.msc. Быстрее и надёжнее — одной командой.

Порты сервера 1С

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

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

То же через netsh, если PowerShell по какой-то причине недоступен:

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

Дополнительные правила по ролям

# Сервер администрирования для rac
New-NetFirewallRule -DisplayName "1C RAS" -Direction Inbound -Protocol TCP -LocalPort 1545 -Action Allow -RemoteAddress 192.168.1.10

# Хранилище конфигурации
New-NetFirewallRule -DisplayName "1C Repository" -Direction Inbound -Protocol TCP -LocalPort 1542 -Action Allow

# PostgreSQL на отдельном сервере: пускаем только сервер 1С
New-NetFirewallRule -DisplayName "PostgreSQL from 1C" -Direction Inbound -Protocol TCP -LocalPort 5432 -Action Allow -RemoteAddress 192.168.1.20

Подставьте свои адреса. Параметр -RemoteAddress сужает доступ до конкретных машин — для СУБД и ras это правильная практика.

Проверьте профиль сети. Если сетевой адаптер сервера внезапно оказался в профиле «Общедоступная», правило с -Profile Domain,Private не сработает. Текущий профиль покажет Get-NetConnectionProfile.

Настройка портов сервера 1С в Linux: iptables, ufw и firewalld

На Linux сервер 1С слушает те же порты. Отличается только инструмент. Выберите тот, что уже используется в системе, — два фаервола одновременно настраивать не нужно.

iptables: агент и менеджер кластера

sudo iptables -A INPUT -p tcp -m multiport --dports 1540,1541 -j ACCEPT

iptables: диапазон рабочих процессов

sudo iptables -A INPUT -p tcp --dport 1560:1591 -j ACCEPT

Если в цепочке INPUT в конце стоит правило DROP или REJECT, добавленные через -A строки окажутся после него и не сработают. Тогда вставляйте правила выше, через -I INPUT 1. Порядок правил показывает sudo iptables -L INPUT -n --line-numbers.

Сохранение правил в Ubuntu и Debian

Правила iptables живут до перезагрузки. Чтобы они пережили рестарт:

sudo apt install iptables-persistent
sudo netfilter-persistent save

Правила сохранятся в /etc/iptables/rules.v4 и загрузятся при старте системы.

ufw — если в системе включён он

sudo ufw allow 1540:1541/tcp
sudo ufw allow 1560:1591/tcp
sudo ufw reload
sudo ufw status numbered

firewalld — для RHEL, Rocky, AlmaLinux, РЕД ОС

sudo firewall-cmd --permanent --add-port=1540-1541/tcp
sudo firewall-cmd --permanent --add-port=1560-1591/tcp
sudo firewall-cmd --reload
sudo firewall-cmd --list-ports

Без --permanent правило действует до перезагрузки, а без --reload постоянное правило не применится сейчас. Нужны обе команды.

Перезагрузка фаервола (firewall-cmd --reload, ufw reload) существующие соединения пользователей 1С обычно не рвёт. А вот перезапуск службы сервера 1С (srv1cv8) завершит все сеансы. Если менялись порты в параметрах службы, перезапускайте её вне рабочего времени и предупредите пользователей.

Если нужно изменить диапазон рабочих процессов

Диапазон задаётся в двух местах: ключом -range при запуске агента и в консоли кластера, в свойствах рабочего сервера — список «Диапазоны IP портов». Расширили диапазон в консоли — расширьте и правило фаервола, иначе новые процессы получат закрытые порты.

Перед тем как сказать «порты открыты»
Выполнено: 0 / 6

Порты для веб-доступа, мобильных клиентов и облака

Веб-публикация меняет картину: пользователь видит только порт веб-сервера.

  • 🌐 Браузер и тонкий клиент по HTTP. Пользователям нужен доступ только к 80 или 443 на веб-сервере. Порты 1540–1591 наружу открывать не нужно.
  • 🔗 Веб-сервер на отдельной машине. Модуль расширения веб-сервера сам подключается к кластеру 1С. Значит, с веб-сервера на сервер 1С должны быть открыты 1540, 1541 и диапазон рабочих процессов.
  • 📱 Мобильный клиент и мобильное приложение. Работают через ту же веб-публикацию по HTTP(S). Для доступа из интернета используйте 443 с действующим сертификатом: часть мобильных платформ блокирует незашифрованный HTTP.
  • 🔌 HTTP- и веб-сервисы (обмены с сайтом, интеграции) — тоже через 80/443 публикации.

Не публикуйте 1540–1591 напрямую в интернет. Протокол сервера 1С не рассчитан на открытую сеть. Для удалённых сотрудников есть три нормальных варианта: VPN до офисной сети, веб-публикация через HTTPS или удалённый рабочий стол (RDP за VPN или шлюзом).

Облачный сервер

У облачных провайдеров (Yandex Cloud, VK Cloud, Selectel и другие) трафик фильтруется ещё до виртуальной машины — группами безопасности или сетевым экраном в панели. Правило в Windows или Linux без правила в панели не поможет. Открывайте порты в обоих местах и ограничивайте источник адресами офиса или VPN.

Ошибки соединения с сервером 1С и что их вызывает

Текст ошибки подсказывает, на каком шаге оборвалось соединение. Смотрите на номер порта в сообщении.

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

Если не помогло

Отключите на пять минут брандмауэр на сервере и повторите подключение. Заработало — проблема в правилах, ищите пропущенный порт. Не заработало — дело не в фаерволе сервера: проверяйте сетевое оборудование, антивирус с собственным сетевым экраном, версию платформы клиента (она должна совпадать с версией сервера до последней цифры). После проверки брандмауэр сразу включите обратно.

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

Нужно ли открывать порты на компьютерах пользователей?
Нет. Клиент сам инициирует исходящие соединения, а исходящий трафик брандмауэр Windows по умолчанию пропускает. Правила нужны только на сервере 1С и на сетевом оборудовании между ними.
Какие порты нужны консоли администрирования серверов 1С?
Консоль подключается к агенту на 1540, а данные кластера получает через 1541 и порты кластера. Утилите rac и сторонним консолям нужен порт 1545 сервера администрирования ras, который запускается отдельно.
Используется ли UDP для работы с сервером 1С?
Нет, сервер 1С работает по TCP. UDP встречается только у менеджера лицензий HASP для сетевых аппаратных ключей.
Сколько портов нужно в диапазоне рабочих процессов?
Каждый рабочий процесс занимает один порт, часть портов берут служебные сервисы кластера. Стандартных 32 портов хватает небольшому серверу. Если в консоли настроено много рабочих процессов, расширьте диапазон с запасом.
Можно ли сменить порт 1540 на другой?
Можно: укажите новый номер ключами -port, -regport и -range в параметрах службы и перезапустите её вне рабочего времени. В списке баз у клиентов тогда указывают сервер с портом менеджера кластера, например srv1c:2541.