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

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

Важно: процедура требует прав администратора на сервере и доступа к конфигурационным файлам . Если вы работаете в корпоративной среде, согласуйте изменения с ИТ-службой — некоторые порты могут быть заблокированы политиками безопасности.

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

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

  • 🔹 1540-1541 — основные порты кластера серверов (по умолчанию 1540 для рабочих процессов, 1541 для менеджера кластера)
  • 🔹 1560-1591 — динамический диапазон для рабочих процессов (rphost)
  • 🔹 139 и 445 — порты SMB для файлового доступа к базам (если используются файловые варианты)
  • 🔹 80/443 — для веб-доступа (если настроен веб-сервер)

Причины для смены портов:

  • 🔄 Конфликт с другими службами (например, SQL Server или Apache может использовать те же порты)
  • 🔒 Усиление безопасности (стандартные порты чаще сканируются злоумышленниками)
  • 📡 Оптимизация сетевого трафика (например, выделение отдельных портов для критичных баз)
  • 🔧 Требования корпоративных политик (некоторые организации блокируют стандартные порты)
📊 Как часто вы меняете порты на серверах 1С?
Никогда не менял
Один раз в несколько лет
При каждом развертывании
По требованию безопасности

Прежде чем приступать к изменениям, проверьте текущую загрузку портов с помощью команды:

netstat -ano | findstr "1540 1541 1560"

2. Подготовка сервера перед изменением портов

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

Остановите все рабочие процессы 1С

Создайте резервную копию конфигурационных файлов

Проверьте права доступа к папкам 1С

Уведомите пользователей о плановом простое

Подготовьте список новых портов-->

Сначала остановите службу 1С:Предприятия:

sc stop srv1cv83

Далее сделайте резервные копии ключевых файлов:

  • 📄 conf.cfg — основной конфигурационный файл кластера (обычно находится в C:\Program Files\1cv8\srvinst\conf\)
  • 📄 reg_1540 и reg_1541 — файлы регистрации портов (в той же папке)
  • 📄 1cv8hsrv.lst — список рабочих процессов
💡

Если вы работаете с виртуальной машиной, сделайте снимок состояния (snapshot) перед изменениями. Это позволит быстро откатиться в случае ошибок.

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

netstat -ano | findstr "НОМЕР_ПОРТА"
⚠️ Внимание: Если на сервере работает брандмауэр Windows или сторонний фаервол (например, Kaspersky), добавьте исключения для новых портов ЗАРАНЕЕ. В противном случае после перезапуска службы соединение будет блокироваться.

3. Изменение портов кластера серверов 1С

Основные настройки портов хранятся в файле conf.cfg. Откройте его любым текстовым редактором (например, Notepad++) с правами администратора.

Найдите секции:

[cluster]

port = 1540 ; Основной порт кластера

range = 1560-1591 ; Диапазон для рабочих процессов

[manager]

port = 1541 ; Порт менеджера кластера

Замените значения на новые. Например:

[cluster]

port = 2540

range = 2560-2591

[manager]

port = 2541

Сохраните файл и перезапустите службу:

sc start srv1cv83
Что делать если служба не запускается?

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

1. Правильность синтаксиса в conf.cfg (нет ли лишних запятых или точек с запятой)

2. Доступность новых портов (не заняты ли они другими процессами)

3. Права на папку с конфигурационными файлами

4. Логи в Event Viewer (раздел "Приложения")

Для применения изменений на всех рабочих станциях обновите список кластеров в Консоли администрирования 1С:

  1. Откройте 1C:Предприятие 8.3 → Администрирование → Кластеры серверов
  2. Удалите старый кластер и добавьте новый с указанием новых портов
  3. Обновите список информационных баз

4. Настройка портов для менеджера лицензий

Если вы используете сетевой менеджер лицензий 1С, его порт (1541 по умолчанию) также нужно изменить. Файл конфигурации находится в:

C:\Program Files\1Cv8\conf\licenses\ (или аналогичный путь в зависимости от версии)

Откройте файл licenses.cfg и найдите строку:

port = 1541

Замените её на новый порт, например:

port = 2541

После изменения перезапустите службу менеджера лицензий:

sc stop srv1cv8lic

sc start srv1cv8lic

⚠️ Внимание: Если у вас используется аппаратный ключ защиты (например, HASP или Guardant), проверьте совместимость нового порта с драйверами ключа. Некоторые версии драйверов имеют ограничения на диапазоны портов.
Компонент Порт по умолчанию Рекомендуемый новый порт Файл конфигурации
Кластер серверов 1540 2540 conf.cfg
Менеджер кластера 1541 2541 conf.cfg
Диапазон rphost 1560-1591 2560-2591 conf.cfg
Менеджер лицензий 1541 2541 licenses.cfg

5. Обновление конфигурации на клиентских машинах

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

Способы обновления:

  • 🖥️ Ручная правка: В файле 1cv8.cfl (обычно в %APPDATA%\1C\1cv8\) измените адреса серверов на новые с указанием портов. Пример:
    Srvr="srver";Ref="Base1";Port=2540;
  • 📋 Через консоль администрирования: Удалите старые подключения и добавьте новые с указанием новых портов.
  • 🔄 Скрипт обновления: Для крупных сетей можно написать PowerShell-скрипт, который пройдёт по всем машинам и обновит файлы конфигурации.

Если используете тонкий клиент или веб-клиент, проверьте настройки в:

  • 🌐 Для веб-доступа: файл webinst.cfg (путь зависит от веб-сервера)
  • 📱 Для мобильного клиента: настройки подключения в приложении
💡

Не забудьте обновить порты в файлах резервного копирования и скриптах автоматического бэкапа! Иначе резервные копии перестанут создаваться.

6. Проверка работоспособности и устранение ошибок

После изменения портов выполните комплексную проверку:

  1. 🔍 Проверьте статус службы 1С:Предприятие в services.msc
  2. 📡 Убедитесь, что новые порты прослушиваются (команда netstat -ano | findstr "НОВЫЙ_ПОРТ")
  3. 🖥️ Попробуйте подключиться к базе с рабочей станции
  4. 📊 Запустите тестовое задание в Консоли администрирования

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

Ошибка Причина Решение
Не удается подключиться к кластеру Порт заблокирован фаерволом Добавьте исключение в брандмауэр
Ошибка лицензирования Не обновлен порт в licenses.cfg Проверьте файл и перезапустите службу лицензий
Базы не отображаются в списке Не обновлены настройки на клиенте Очистите кэш 1С или обновите 1cv8.cfl
Ошибка "Нет связи с рабочим процессом" Неверный диапазон портов в range Проверьте секцию [cluster] в conf.cfg

Если после всех манипуляций базы по-прежнему не открываются, проверьте логи сервера:

  • 📜 C:\Program Files\1cv8\srvinst\log\ — логи кластера
  • 📜 C:\Program Files\1cv8\conf\log\ — логи менеджера лицензий
  • 📜 Event Viewer → Windows Logs → Application — системные логи

7. Дополнительные настройки для сложных инфраструктур

В крупных компаниях с распределённой инфраструктурой может потребоваться:

  • 🌐 Настройка NAT: Если сервер находится за маршрутизатором, добавьте проброс портов (port forwarding) для новых номеров.
  • 🔗 Обновление DNS-записей: Если используете внутренние DNS-имена для подключения, обновите SRV-записи.
  • 🛡️ Настройка VPN: Для удалённых подключений проверьте, что новые порты разрешены в политиках VPN.
  • 📦 Обновление докер-контейнеров: Если 1С развернута в Docker, обновите параметры ports в docker-compose.yml.

Для кластерных конфигураций с несколькими серверами:

  1. Измените порты на основном сервере
  2. Обновите настройки репликации в conf.cfg на всех узлах
  3. Проверьте синхронизацию между серверами через rac cluster
⚠️ Внимание: В виртуализированных средах (VMware, Hyper-V) после изменения портов может потребоваться перезагрузка хост-машины для корректной работы сетевых фильтров.

8. Автоматизация изменения портов (для опытных администраторов)

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

Пример PowerShell-скрипта для изменения портов в conf.cfg:

$oldPort = "1540"

$newPort = "2540"

$filePath = "C:\Program Files\1cv8\srvinst\conf\conf.cfg"

(Get-Content $filePath) -replace "port = $oldPort", "port = $newPort" | Set-Content $filePath

(Get-Content $filePath) -replace "range = 1560-1591", "range = 2560-2591" | Set-Content $filePath

Restart-Service -Name srv1cv83 -Force

Для массового обновления клиентских машин можно использовать:

  • 📁 Групповые политики (GPO): Развернуть обновлённый 1cv8.cfl через Active Directory
  • 🤖 Ansible/Puppet: Для Linux-клиентов или кроссплатформенных инфраструктур
  • 📦 Скрипты развертывания: Например, через PSExec для удалённого выполнения команд

Помните: автоматизация ускоряет процесс, но требует предварительного тестирования на некритичных системах!

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

❓ Можно ли использовать порты ниже 1024?

Технически да, но это требует прав Local System. Порты ниже 1024 (well-known ports) обычно зарезервированы для системных служб (например, 80 для HTTP, 443 для HTTPS). Их использование может привести к конфликтам с Windows Update, IIS или другими критичными службами. Рекомендуем выбирать порты в диапазоне 1500-65535.

❓ Нужно ли менять порты на всех серверах кластера одновременно?

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

❓ Как вернуть старые порты, если после изменения базы перестали открываться?

Если вы предварительно сделали резервные копии конфигурационных файлов:

  1. Остановите службу 1С:Предприятие (sc stop srv1cv83)
  2. Восстановите оригинальные файлы conf.cfg, licenses.cfg и reg_* из бэкапа
  3. Перезапустите службу (sc start srv1cv83)
  4. Обновите настройки на клиентских машинах (если они были изменены)

Если бэкапа нет, проверьте логи в Event Viewer для выявления конкретной ошибки.

❓ Влияет ли смена портов на производительность?

Сама по себе смена портов не влияет на производительность . Однако если новые порты:

  • Попадают в диапазон, интенсивно используемый другими службами (например, 3306 для MySQL), это может создать сетевые задержки
  • Блокируются сетевыми политиками, это приведёт к таймаутам при подключении
  • Требуют дополнительной маршрутизации (например, через VPN), это может увеличить latency

Для оптимальной работы выбирайте порты, которые:

  • Не конфликтуют с другими службами
  • Не блокируются фаерволом
  • Находятся в одном сетевом сегменте с клиентами

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

Нет, это невозможно. Конфигурационные файлы conf.cfg и licenses.cfg считываются только при старте службы. Любые изменения в этих файлах требуют перезапуска 1С:Предприятия. Попытка изменить порты "на лету" приведёт к:

  • Потере соединений с текущими сессиями
  • Некорректной работе новых подключений
  • Возможной порче данных в открытых транзакциях

Планируйте изменение портов на период минимальной нагрузки (например, ночью или в выходные).