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

В этой статье мы детально разберём, какие порты нужны для 1С, как их открыть на серверах под управлением Windows Server и Linux, а также рассмотрим типичные ошибки, которые приводят к сбоям подключения. Особое внимание уделим вопросам безопасности — ведь открытые порты без должной защиты становятся уязвимостью для атак.

Материал будет полезен как начинающим администраторам, так и опытным специалистам, которые хотят систематизировать знания или решить конкретную проблему с подключением к 1С.

Какие порты использует 1С:Предприятие?

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

  • 🔹 Порт 1540/1541 — стандартные порты для подключения клиентов к серверу 1С (TCP). Используются в большинстве конфигураций, включая 1С:Бухгалтерию, 1С:ЗУП и 1С:УТ.
  • 🔹 Порт 1560-1591 — диапазон для работы кластера серверов 1С (используется при распределённой установке).
  • 🔹 Порт 80/443 — если используется веб-доступ через Apache или IIS (например, для 1С:Предприятие 8.3 в браузере).
  • 🔹 Порт 27017 — для взаимодействия с MongoDB (актуально при использовании 1С:Документооборота или 1С:EDT).
  • 🔹 Порт 5432 — если в качестве СУБД используется PostgreSQL (например, в 1С:Управление холдингом).

Важно: в некоторых случаях порты могут отличаться от стандартных. Например, при ручной настройке кластера или использовании Docker-контейнеров. Чтобы узнать точные порты вашей конфигурации, проверьте файл conf.cfg в каталоге сервера 1С или воспользуйтесь утилитой rac (Регламентные задания и кластер).

⚠️ Внимание: Если вы используете облачные решения (например, 1С:Fresh или 1С:ГISPRU), открытие портов на вашей стороне не требуется — все настройки управляются провайдером. Данная инструкция актуальна только для локальных или собственных серверов.
Компонент 1С Порты (TCP) Назначение
Сервер 1С:Предприятие 1540, 1541 Подключение тонких/толстых клиентов
Кластер серверов 1С 1560-1591 Взаимодействие между рабочими процессами
Веб-сервер (IIS/Apache) 80, 443 Доступ через браузер (HTTP/HTTPS)
PostgreSQL 5432 Подключение к базе данных
MongoDB 27017 Хранение данных в 1С:Документообороте

Подготовка к открытию портов: проверка текущих настроек

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

  1. Проверьте доступность портов локально:

    На сервере 1С выполните команду в cmd (Windows) или терминале (Linux):

    telnet localhost 1540

    Если порт открыт, вы увидите пустой экран или сообщение о подключении. Если порт закрыт — ошибку вида Не удалось открыть соединение.

  2. Убедитесь, что служба 1С запущена:

    В Windows проверьте статус службы 1C:Enterprise 8.3 Server Agent в services.msc. В Linux выполните:

    systemctl status srv1cv83
  3. Проверьте сетевой экран на сервере:

    Временное отключение брандмауэра (только для диагностики!) поможет понять, блокирует ли он соединение. В Windows это можно сделать командой:

    netsh advfirewall set allprofiles state off

    Не забудьте включить брандмауэр обратно после теста!

Если после этих проверок проблема остаётся, переходите к настройке портов. Если же порт доступен локально, но не работает удалённо — проблема, скорее всего, в маршрутизаторе или межсетевом экране.

📊 Какой ОС управляется ваш сервер 1С?
Windows Server
Linux (Debian/Ubuntu)
Linux (CentOS/RHEL)
Другая

Открытие портов в Windows Server для 1С

Настройка портов в Windows Server осуществляется через брандмауэр Защитника Windows или Group Policy (если сервер в домене). Рассмотрим оба варианта.

Способ 1: Через графический интерфейс брандмауэра

Этот метод подходит для одиночных серверов или небольших инсталляций:

  1. Откройте Панель управления → Брандмауэр Защитника Windows → Дополнительные параметры.
  2. В левом меню выберите Правила для входящих подключений → Создать правило.
  3. Укажите тип правила — Для портаTCP → введите номера портов (например, 1540-1541, 1560-1591).
  4. Выберите Разрешить подключение.
  5. Примените правило ко всем профилям (Доменный, Приватный, Публичный).
  6. Дайте правилу имя, например 1С:Предприятие — порты подключения.

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

Способ 2: Через PowerShell (для автоматизации)

Для массового развёртывания или настройки нескольких серверов удобнее использовать PowerShell. Пример команды для открытия порта 1540:

New-NetFirewallRule -DisplayName "1C_Port_1540" -Direction Inbound -Protocol TCP -LocalPort 1540 -Action Allow -Profile Any

Чтобы открыть диапазон портов (например, для кластера), используйте:

New-NetFirewallRule -DisplayName "1C_Cluster_Ports" -Direction Inbound -Protocol TCP -LocalPort 1560-1591 -Action Allow -Profile Any

После применения правил обязательно проверьте их активность командой:

Get-NetFirewallRule -DisplayName "1C_*" | Select-Object Name, Enabled, Direction
⚠️ Внимание: Если ваш сервер входит в домен Active Directory, настройки брандмауэра могут перекрываться групповыми политиками (GPO). В этом случае изменения нужно вносить через gpmc.msc или согласовывать с администратором домена.

Убедиться, что служба 1С запущена|Создать правила для входящих подключений|Проверить правила для исходящих подключений (при необходимости)|Тестировать подключение с клиентского ПК|Вернуть настройки брандмауэра в безопасное состояние после тестов-->

Открытие портов в Linux для 1С

В Linux-системах (например, Ubuntu, CentOS, Debian) настройка портов зависит от используемого межсетевого экрана. Чаще всего это iptables или ufw (для Ubuntu). Рассмотрим оба варианта.

Способ 1: Настройка через ufw (Ubuntu/Debian)

ufw (Uncomplicated Firewall) — удобный инструмент для управления брандмауэром. Чтобы открыть порты для 1С:

  1. Убедитесь, что ufw установлен и активен:
    sudo ufw status

    Если служба неактивна, включите её:

    sudo ufw enable
  2. Откройте порты для 1С:
    sudo ufw allow 1540/tcp
    

    sudo ufw allow 1541/tcp

    sudo ufw allow 1560:1591/tcp

  3. Если нужен доступ к PostgreSQL или MongoDB, добавьте соответствующие порты:
    sudo ufw allow 5432/tcp  # PostgreSQL
    

    sudo ufw allow 27017/tcp # MongoDB

  4. Проверьте применённые правила:
    sudo ufw status numbered

Для применения изменений перезагрузите ufw:

sudo systemctl restart ufw

Способ 2: Настройка через iptables (CentOS/RHEL)

iptables — более гибкий, но сложный инструмент. Пример команд для открытия портов:

# Разрешаем входящие подключения на порты 1С

sudo iptables -A INPUT -p tcp --dport 1540 -j ACCEPT

sudo iptables -A INPUT -p tcp --dport 1541 -j ACCEPT

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

Разрешаем PostgreSQL (если нужен)

sudo iptables -A INPUT -p tcp --dport 5432 -j ACCEPT

Сохраняем правила (для CentOS/RHEL)

sudo service iptables save

sudo systemctl restart iptables

Чтобы правила применялись после перезагрузки, в Ubuntu/Debian установите пакет iptables-persistent:

sudo apt install iptables-persistent

sudo netfilter-persistent save

⚠️ Внимание: В Linux также проверьте настройки SELinux — они могут блокировать доступ к портам даже при корректных правила брандмауэра. Временное отключение для теста:

sudo setenforce 0

Если проблема исчезла — настройте политики SELinux для 1С или добавьте порты в исключения.

💡

Если вы используете Docker для развёртывания 1С, не забывайте публиковать порты при запуске контейнера с помощью флага -p, например: docker run -p 1540:1540 -p 1541:1541 ...

Настройка портов на маршрутизаторе (роутере)

Даже если порты открыты на сервере, клиенты из внешней сети (например, удалённые офисы) не смогут подключиться, если маршрутизатор не перенаправляет трафик. Эта процедура называется пробросом портов (Port Forwarding).

Инструкция зависит от модели роутера, но общий алгоритм такой:

  1. Зайдите в веб-интерфейс роутера (обычно по адресу 192.168.1.1 или 192.168.0.1).
  2. Найдите раздел Port Forwarding, Виртуальные серверы или NAT.
  3. Добавьте новые правила:
    • 🔹 Внешний порт: 1540 (или диапазон 1540-1541).
    • 🔹 Внутренний IP: локальный адрес сервера 1С (например, 192.168.1.100).
    • 🔹 Внутренний порт: 1540 (должен совпадать с внешним, если не используется трансляция).
    • 🔹 Протокол: TCP (иногда нужно указать и UDP, но для 1С достаточно TCP).
  4. Сохраните настройки и перезагрузите роутер.
  5. Пример настройки для популярных роутеров:

    Модель роутера Путь к настройкам Примечания
    TP-Link Forwarding → Virtual Servers В поле Service Port укажите 1540, в IP Address — локальный IP сервера.
    MikroTik IP → Firewall → NAT → Add Используйте цепочку dstnat с действием redirect.
    Keenetic Безопасность → Переадресация портов Выберите Добавить правило для одного порта.
    ASUS Интернет → Переадресация портов Активируйте опцию Включить переадресацию портов.

    После настройки проброса проверьте доступность портов из внешней сети с помощью сервисов вроде YouGetSignal или команды:

    telnet ваш_внешний_IP 1540
    ⚠️ Внимание: Если у вас белый IP-адрес (выделенный провайдером), проброс портов сработает сразу. Если IP серый (например, в домашних сетях), внешние подключения будут невозможны — потребуется аренда выделенного IP или использование VPN.
    Что делать, если у вас динамический IP?

    Если ваш внешний IP-адрес меняется (динамический), используйте сервисы DDNS (например, No-IP или DynDNS). Они привязывают доменное имя к вашему текущему IP, что позволяет подключаться к серверу 1С по постоянному адресу вида yourserver.ddns.net:1540. Настройка DDNS обычно доступна в панели управления роутера.

    Безопасность: как защитить открытые порты?

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

    • 🔒 Ограничьте доступ по IP:

      В правилах брандмауэра или роутера разрешайте подключения только с доверенных IP-адресов (например, офисов или VPN-серверов). В Windows это можно сделать в свойствах правила, указав Удалённые IP-адреса. В Linux (ufw):

      sudo ufw allow from 192.168.1.0/24 to any port 1540 proto tcp
    • 🔒 Используйте VPN:

      Лучший способ защиты — разместить сервер 1С в закрытой сети и предоставлять доступ только через VPN (например, OpenVPN или WireGuard). Это избавит от необходимости открывать порты наружу.

    • 🔒 Обновите 1С и ОС:

      Регулярно устанавливайте обновления для 1С:Предприятия и операционной системы. Уязвимости в старых версиях могут позволить злоумышленникам эксплуатировать открытые порты.

    • 🔒 Настройте аутентификацию:

      В 1С:Предприятии 8.3 включите двухфакторную аутентификацию (если поддерживается конфигурацией) или ограничьте доступ по логинам/паролям с высокой стойкостью.

    • 🔒 Мониторинг подключений:

      Используйте инструменты вроде Wireshark или tcpdump для отслеживания подозрительной активности на портах 1С. В Windows можно настроить аудит событий брандмауэра.

    Критическая информация: По статистике, более 60% взломов серверов 1С происходят из-за открытых портов 1540/1541 без ограничения по IP или слабых паролей. Всегда проверяйте логи на предмет подозрительных подключений (например, множественные попытки авторизации с разных IP).

    💡

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

    Типичные ошибки и их решения

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

    Проблема Возможная причина Решение
    Порт открыт, но клиент не подключается Брандмауэр блокирует исходящие соединения на клиенте Проверьте настройки брандмауэра на ПК клиента или отключите его временно для теста
    Подключение работает локально, но не из внешней сети Не настроен проброс портов на роутере Проверьте правила Port Forwarding и внешний IP-адрес
    Ошибка "Не удалось установить соединение с сервером 1С" Служба 1С не запущена или порт занят другим процессом Проверьте статус службы и занятость порта командой netstat -ano | findstr 1540 (Windows) или ss -tulnp | grep 1540 (Linux)
    Медленное подключение или обрывы связи Проблемы с MTU или фрагментацией пакетов Уменьшите MTU на сервере или роутере (например, до 1400) и протестируйте соединение
    Порты открыты, но 1С выдаёт ошибку авторизации Несовпадение версий платформы на сервере и клиенте Обновите клиентскую часть до версии сервера (проверьте в About)

    Если проблема не решена, проверьте:

    • 🔧 Антивирус: некоторые антивирусы (например, Kaspersky, ESET) блокируют сетевую активность 1С. Добавьте исключения для процессов ragent.exe и rmngr.exe.
    • 🔧 DNS: если подключение идёт по имени сервера, убедитесь, что DNS-сервер корректно разрешает имя в IP. Проверьте командой nslookup ваш_сервер.
    • 🔧 Прокси: если в сети используется прокси-сервер, он может перехватывать или блокировать трафик 1С. Настройте исключения для адресов сервера.
Как проверить, какой процесс занимает порт?

В Windows выполните:

netstat -ano | findstr :1540

В последнем столбце будет PID процесса. Узнать его имя можно в Диспетчере задач (включите отображение PID в меню Вид → Выбрать столбцы).

В Linux используйте:

sudo lsof -i :1540

FAQ: Частые вопросы по открытию портов для 1С

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

Нет, если сервер и клиенты находятся в одной подсети (например, 192.168.1.0/24), открывать порты на роутере не требуется. Достаточно настроить брандмауэр на самом сервере, чтобы он разрешал входящие подключения из локальной сети. Проброс портов нужен только для доступа из других сетей (например, удалённых офисов или интернета).

Можно ли изменить стандартные порты 1С (1540, 1541) на другие?

Да, вы можете использовать любые свободные порты. Для этого:

  1. Остановите службу 1С: net stop srv1cv83 (Windows) или systemctl stop srv1cv83 (Linux).
  2. Отредактируйте файл конфигурации кластера (обычно C:\Program Files\1cv8\conf\conf.cfg или /opt/1C/v8.3/x86_64/conf/conf.cfg). Найдите параметр port и измените его значение.
  3. Обновите правила брандмауэра и проброс портов на роутере.
  4. Перезапустите службу 1С.

После изменения портов все клиенты должны подключаться к новому номеру (например, сервер:2540 вместо сервер:1540).

Как открыть порты для 1С в облаке (AWS, Azure, Yandex Cloud)?

В облачных платформах настройка портов осуществляется через группы безопасности (Security Groups) или сетевые ACL:

  • 🔹 AWS: Перейдите в EC2 → Security Groups, выберите группу, связанную с сервером 1С, и добавьте правила для входящего трафика (TCP, порты 1540-1541 и т.д.).
  • 🔹 Azure: В разделе Виртуальные машины → Сетевые интерфейсы → Группы безопасности сети добавьте правила для нужных портов.
  • 🔹 Yandex Cloud: В Virtual Private Cloud → Группы безопасности настройте правила для входящего трафика.

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

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

Медленная работа может быть связана с:

  • 🔹 MTU: если значение MTU на роутере или сервере завышено, пакеты фрагментируются, что замедляет соединение. Попробуйте установить MTU=1400 на сервере и клиентах.
  • 🔹 Шифрованием: если используется TLS для соединения с 1С, проверьте нагрузку на CPU сервера — шифрование может потреблять много ресурсов.
  • 🔹 Антивирусом: некоторые антивирусы сканируют сетевой трафик, что приводит к задержкам. Добавьте исключения для процессов 1С.
  • 🔹 Маршрутизацией: если трафик идёт через VPN или прокси, проверьте скорость этих каналов.

Для диагностики используйте утилиты ping (проверка задержки) и tracert (маршрут пакетов).

Можно ли полностью закрыть порты 1С и использовать только RDP или VPN?

Да, это самый безопасный вариант. В этом случае:

  1. Закройте все порты 1С на брандмауэре и роутере.
  2. Настройте VPN-сервер (например, OpenVPN или встроенный в Windows RRAS).
  3. Подключайтесь к VPN с клиентских ПК, после чего доступ к 1С будет осуществляться через локальную сеть.

Альтернатива — использование RDP (Удалённый рабочий стол) для подключения к серверу с установленным клиентом 1С. Однако это менее удобно для большого числа пользователей.