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

Эта статья поможет разобраться в архитектуре сетевого взаимодействия 1С, узнать точные номера портов для разных версий платформы (включая 1С:Предприятие 8.3 и 1С:Fresh), а также получить пошаговые инструкции по настройке брандмауэра Windows, iptables в Linux и правил маршрутизатора. Мы также рассмотрим типичные ошибки (например, Ошибка соединения с сервером 1С (2147220991)) и способы их устранения.

Архитектура сетевого взаимодействия 1С: какие компоненты участвуют

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

  • 🔹 Клиентское приложение — устанавливается на рабочие станции пользователей. Подключается к серверу 1С или напрямую к файловой базе.
  • 🔹 Сервер 1С:Предприятия — обрабатывает запросы клиентов, управляет блокировками и транзакциями. Может работать как на физическом сервере, так и в виртуальной машине.
  • 🔹 СУБДMicrosoft SQL Server, PostgreSQL или IBM DB2. Хранит данные базы, общается с сервером 1С через собственные порты (например, 1433 для SQL Server).
  • 🔹 Веб-серверApache или IIS, если используется веб-доступ (тонкий клиент через браузер или мобильные приложения).
  • 🔹 Лицензионный сервер1С:Лицензирование (порты 1540-1541) или HASP (порты 475-476).

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

💡

Если вы используете облачный сервер 1С (например, 1С:Fresh или 1С:Готовое рабочее место), часть портов может быть закрыта провайдером. Уточните их политику в личном кабинете или у технической поддержки.

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

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

Порт(ы) Протокол Назначение Примечания
1540-1541 TCP Сервер лицензирования 1С:Лицензирование Используется для проверки лицензий в сетевом режиме. Порт 1540 — основной, 1541 — резервный.
1560-1591 TCP Сервер 1С:Предприятия (рабочие процессы) Динамический диапазон. Количество портов зависит от числа рабочих процессов (по умолчанию 32 порта).
139, 445 TCP/UDP Доступ к файловой базе (SMB) Требуется только для файлового варианта 1С (без сервера).
80, 443 TCP Веб-доступ (тонкий клиент, мобильные приложения) Порт 80 — HTTP, 443 — HTTPS. Настраивается на веб-сервере (IIS/Apache).
27017 TCP Подключение к PostgreSQL Используется, если СУБД — PostgreSQL. Для MS SQL — порт 1433.

Важно: В версиях 1С старше 8.3.10 динамический диапазон портов для рабочих процессов начинался с 1560 и заканчивался 1591. Начиная с 8.3.13+ диапазон может расширяться автоматически при нехватке портов.

📊 Какой тип базы 1С вы используете?
Файловая (без сервера)
Клиент-серверная (MS SQL)
Клиент-серверная (PostgreSQL)
Облачная (1С:Fresh, Готовое рабочее место)

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

Если вы не уверены, какие порты открыты или используются 1С:Предприятием на вашем сервере, их можно определить несколькими способами:

  1. Через консоль управления 1С

    Откройте Консоль кластера серверов 1С (доступна в меню Пуск → 1С Предприятие 8.3). В разделе Узлы кластера выберите ваш сервер и посмотрите параметр Диапазон портов рабочих процессов.

  2. Команда netstat в Windows

    Запустите командную строку от имени администратора и выполните:

    netstat -ano | findstr "156"

    Это покажет все активные соединения в диапазоне портов 1С. Число после PID — идентификатор процесса (можно проверить в Диспетчере задач).

  3. Утилита ss в Linux

    Для Linux-серверов используйте команду:

    ss -tulnp | grep 15

    Флаг -t показывает TCP-порты, -u — UDP, -l — прослушиваемые, -n — без разрешения имен.

Если порты не отображаются, возможно, сервис 1С не запущен. Проверьте статус служб:

sc query "1C:Enterprise 8.3 Server Agent"

или в Linux:

systemctl status srv1cv83

Что делать, если порты заняты другим ПО?

Если вы обнаружили, что порты из диапазона 1560-1591 заняты другим приложением, можно переназначить диапазон в конфигурационном файле conf.cfg (расположен в каталоге кластера). Добавьте строку:

port_range = 2560-2591

После изменения перезапустите сервис 1С.

Настройка брандмауэра Windows для 1С: пошаговая инструкция

Чтобы клиенты могли подключаться к серверу 1С через сеть, необходимо разрешить входящие соединения на используемых портах. В Windows это делается через Брандмауэр Защитника Windows:

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

Выполнено: 0 / 6

Подробная инструкция:

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

    ⚠️ Внимание: Если на сервере установлен сторонний фаервол (например, Kaspersky или ESET), настройте правила и там. Некоторые антивирусы блокируют порты даже после настроек брандмауэра Windows.

    Настройка iptables в Linux для сервера 1С

    В Linux-системах (например, Ubuntu или CentOS) управление портами осуществляется через iptables или firewalld. Ниже — команды для открытия портов 1С:

    Для iptables:

    # Разрешаем порты для лицензирования
    

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

    Разрешаем диапазон рабочих процессов

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

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

    sudo iptables-save | sudo tee /etc/iptables/rules.v4

    Для firewalldCentOS/RHEL):

    # Добавляем порты в зону public
    

    sudo firewall-cmd --zone=public --add-port=1540-1541/tcp --permanent

    sudo firewall-cmd --zone=public --add-port=1560-1591/tcp --permanent

    Перезагружаем фаервол

    sudo firewall-cmd --reload

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

    sudo iptables -L -n | grep 15
    

    или для firewalld

    sudo firewall-cmd --list-ports

    ⚠️ Внимание: В облачных серверах (например, AWS или Azure) помимо настроек ОС требуется открыть порты в Security Group или Network Security Group. Без этого внешние подключения будут блокироваться на уровне облачного провайдера.

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

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

    • 🚨 Ошибка 2147220991 ("Не удалось установить соединение с сервером 1С")

      Причины:

      • Порты 1560-1591 закрыты на сервере или маршрутизаторе.
      • Служба 1C:Enterprise 8.3 Server Agent не запущена.
      • Неверно указан адрес сервера в строке подключения (например, localhost вместо IP).

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

      telnet [IP_сервера] 1560

      Если соединение не устанавливается, проверьте брандмауэр и маршрутизатор.

    • 🚨 Ошибка лицензирования ("Не найдена лицензия для работы с информационной базой")

      Причины:

      • Порты 1540-1541 закрыты.
      • Сервис 1С:Лицензирование не запущен.
      • Лицензия привязана к другому серверу.

      Решение: Перезапустите службу лицензирования:

      net stop "1C:Enterprise 8.3 Licensing Service"
      

      net start "1C:Enterprise 8.3 Licensing Service"

    • 🚨 Медленная работа 1С через сеть

      Причины:

      • Фрагментация пакетов из-за MTU.
      • Высокий ping между клиентом и сервером.
      • Перегрузка портов (слишком много рабочих процессов).

      Решение: Увеличьте диапазон портов в conf.cfg или оптимизируйте сетевое оборудование.

    💡

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

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

    Если вы используете тонкий клиент через браузер или мобильное приложение 1С, потребуется дополнительная настройка:

    • 🌐 Веб-сервер (IIS/Apache)

      Откройте порты:

      • 80 (HTTP) и 443 (HTTPS) — для доступа к веб-интерфейсу.
      • 1560-1591 — для связи веб-сервера с сервером 1С.

    • 📱 Мобильные клиенты

      Для 1С:Мобильная платформа требуется:

      • Открыть 443 (HTTPS) на маршрутизаторе.
      • Настроить обратный прокси (например, Nginx) для перенаправления запросов на сервер 1С.

    • 🔒 Безопасность

      Для защиты трафика:

      • Используйте SSL-сертификат (например, от Let’s Encrypt).
      • Ограничьте доступ по IP в правилах брандмауэра.
      • Настройте аутентификацию на веб-сервере (Basic Auth).

    Пример конфигурации Nginx для проксирования запросов к 1С:

    server {
    

    listen 443 ssl;

    server_name 1c.example.com;

    ssl_certificate /path/to/cert.pem;

    ssl_certificate_key /path/to/key.pem;

    location / {

    proxy_pass http://localhost:1560;

    proxy_set_header Host $host;

    proxy_set_header X-Real-IP $remote_addr;

    }

    }

    FAQ: Частые вопросы по портам 1С

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

    Да, диапазон портов для рабочих процессов (1560-1591) можно переназначить в файле conf.cfg, добавив строку:

    port_range = 2000-2031

    После изменения перезапустите сервис 1С. Порты лицензирования (1540-1541) изменить нельзя.

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

    Для файловой базы (без сервера 1С) открывать порты не требуется, если все пользователи работают в локальной сети. Достаточно общего доступа к папке с базой по протоколу SMB (порты 139, 445). Для удалённого доступа через интернет используйте VPN или RDP.

    Как проверить, открыты ли порты извне?

    Используйте онлайн-сервисы для проверки портов, например:

    Или команду с другой машины:

    telnet [IP_сервера] [порт]

    Если соединение устанавливается, порт открыт.

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

    Возможные причины:

    • Слишком широкий диапазон открытых портов (например, 1560-1999), что увеличивает нагрузку на фаервол.
    • Фрагментация пакетов из-за неправильного MTU.
    • Маршрутизатор блокирует TCP-соединения с большим временем жизни.

    Решение: оптимизируйте диапазон портов (например, 1560-1575 для 15 рабочих процессов) и проверьте настройки MTU (оптимальное значение — 1472 для PPPoE).

    Нужно ли открывать порты для обмена данными (COM-соединение, HTTP-сервисы)?

    Для обмена данными (например, через Универсальный обмен данными или HTTP-сервисы) требуются дополнительные порты:

    • 80/443 — для HTTP-сервисов.
    • 135, 137-139, 445 — для COM-соединения (если используется DCOM).

Для REST API или OData обычно используется порт 443 (HTTPS).