Изменение портов 1С:Предприятия на сервере — задача, с которой рано или поздно сталкивается каждый администратор. Это может потребоваться при конфликтах с другими службами, для повышения безопасности или оптимизации сетевой инфраструктуры. Однако неправильная смена портов способна парализовать работу всей системы, поэтому подходить к процессу нужно с полным пониманием механизмов.
В этой статье мы разберём все этапы: от подготовки сервера до тестирования новых соединений. Особое внимание уделим кластеру серверов 1С, rphost и менеджеру лицензий — ключевым компонентам, которые чаще всего требуют перенастройки. Вы также узнаете, как избежать типичных ошибок и что делать, если после смены портов базы перестали открываться.
Важно: процедура требует прав администратора на сервере и доступа к конфигурационным файлам 1С. Если вы работаете в корпоративной среде, согласуйте изменения с ИТ-службой — некоторые порты могут быть заблокированы политиками безопасности.
1. Какие порты использует 1С и зачем их менять
По умолчанию 1С:Предприятие 8.3 использует несколько сетевых портов для разных задач:
- 🔹
1540-1541— основные порты кластера серверов (по умолчанию1540для рабочих процессов,1541для менеджера кластера) - 🔹
1560-1591— динамический диапазон для рабочих процессов (rphost) - 🔹
139и445— порты SMB для файлового доступа к базам (если используются файловые варианты) - 🔹
80/443— для веб-доступа (если настроен веб-сервер)
Причины для смены портов:
- 🔄 Конфликт с другими службами (например, SQL Server или Apache может использовать те же порты)
- 🔒 Усиление безопасности (стандартные порты чаще сканируются злоумышленниками)
- 📡 Оптимизация сетевого трафика (например, выделение отдельных портов для критичных баз)
- 🔧 Требования корпоративных политик (некоторые организации блокируют стандартные порты)
Прежде чем приступать к изменениям, проверьте текущую загрузку портов с помощью команды:
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С:
- Откройте
1C:Предприятие 8.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С:Предприятие в
services.msc - 📡 Убедитесь, что новые порты прослушиваются (команда
netstat -ano | findstr "НОВЫЙ_ПОРТ") - 🖥️ Попробуйте подключиться к базе с рабочей станции
- 📊 Запустите тестовое задание в Консоли администрирования
Типичные ошибки и их решения:
| Ошибка | Причина | Решение |
|---|---|---|
| Не удается подключиться к кластеру | Порт заблокирован фаерволом | Добавьте исключение в брандмауэр |
| Ошибка лицензирования | Не обновлен порт в 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.
Для кластерных конфигураций с несколькими серверами:
- Измените порты на основном сервере
- Обновите настройки репликации в
conf.cfgна всех узлах - Проверьте синхронизацию между серверами через
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С:Предприятие (
sc stop srv1cv83) - Восстановите оригинальные файлы
conf.cfg,licenses.cfgиreg_*из бэкапа - Перезапустите службу (
sc start srv1cv83) - Обновите настройки на клиентских машинах (если они были изменены)
Если бэкапа нет, проверьте логи в Event Viewer для выявления конкретной ошибки.
❓ Влияет ли смена портов на производительность?
Сама по себе смена портов не влияет на производительность 1С. Однако если новые порты:
- Попадают в диапазон, интенсивно используемый другими службами (например,
3306для MySQL), это может создать сетевые задержки - Блокируются сетевыми политиками, это приведёт к таймаутам при подключении
- Требуют дополнительной маршрутизации (например, через VPN), это может увеличить latency
Для оптимальной работы выбирайте порты, которые:
- Не конфликтуют с другими службами
- Не блокируются фаерволом
- Находятся в одном сетевом сегменте с клиентами
❓ Можно ли изменить порты без остановки службы 1С?
Нет, это невозможно. Конфигурационные файлы conf.cfg и licenses.cfg считываются только при старте службы. Любые изменения в этих файлах требуют перезапуска 1С:Предприятия. Попытка изменить порты "на лету" приведёт к:
- Потере соединений с текущими сессиями
- Некорректной работе новых подключений
- Возможной порче данных в открытых транзакциях
Планируйте изменение портов на период минимальной нагрузки (например, ночью или в выходные).