Переезд сервера 1С:Предприятия на новый IP без потери подключений

· 11 мин

Содержание

Чтобы изменить IP-адрес сервера 1С без простоя, сначала проверьте, как зарегистрирован кластер: по имени компьютера или по IP. Если по имени, достаточно остановить службу агента, сменить адрес в настройках сети, обновить запись в DNS или файлах hosts и запустить службу снова. Если где-то вписан сам IP — в кластере, в списке баз у пользователей, в публикации на веб-сервере или в nethasp.ini, — эти места придётся править вручную.

Порядок действий одинаков для 1С:Предприятия 8.3 в клиент-серверном варианте на Windows Server и Linux. Настройки относятся к платформе, а не к конфигурации: Бухгалтерия, ЗУП и УТ ведут себя одинаково.

1. Где сервер 1С хранит адрес и что проверить заранее

Сервер 1С почти нигде не хранит IP напрямую. Кластер, рабочие серверы и строки подключения пользователей обычно ссылаются на сетевое имя, например SRV1C. Тогда смена адреса сводится к сети и DNS.

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

  • 🖥️ Кластер серверов . В консоли администрирования откройте Центральные серверы 1С:Предприятия → <сервер> → Кластеры → <кластер> → Рабочие серверы и посмотрите поле с именем компьютера. Там должно быть имя, а не цифры.
  • 🗄️ Сервер СУБД в свойствах каждой информационной базы: поле Сервер баз данных.
  • 👥 Списки баз у пользователей: строка Srvr="..." в файле ibases.v8i.
  • 🌐 Публикации на веб-сервере: параметр ib в файле default.vrd.
  • 🔑 Аппаратные ключи HASP: параметр NH_SERVER_ADDR в nethasp.ini на клиентах.
  • 🧱 Брандмауэр: правила, привязанные к конкретному локальному адресу.
  • ⚙️ Скрипты и интеграции: bat-файлы с /S"192.168.1.10\base", COM-соединения, обмены, задания планировщика.

Быстро найти старый адрес в файлах сервера можно поиском по каталогу. На Windows:

findstr /s /m "192.168.1.10" "C:\Program Files\1cv8\srvinfo\*.*"
findstr /s /m "192.168.1.10" "C:\Program Files\1cv8\conf\*.*"

На Linux то же самое делает grep -rl "192.168.1.10" /home/usr1cv8/.1cv8/1C/1cv8/. Путь к каталогу srvinfo у вас может быть другим: он задан параметром -d в командной строке службы агента.

2. Подготовка: копии, окно работ и уведомление пользователей

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

Перед началом сделайте три копии:

  1. Каталог srvinfo целиком — в нём реестр кластера (reg_1541\1CV8Clst.lst) и список кластеров агента (1cv8wsrv.lst). Если что-то пойдёт не так, его возврат вернёт кластер в исходное состояние.
  2. Резервные копии баз средствами СУБД — .bak для MS SQL или дамп pg_dump для PostgreSQL. Выгрузка в .dt тоже подойдёт, но на больших базах это долго.
  3. Файлы лицензий из C:\ProgramData\1C\licenses (на Linux — /var/1C/licenses).

Не меняйте IP удалённо, если нет второго канала доступа к серверу. После применения новых настроек RDP- или SSH-сессия оборвётся. Если ошибиться в маске или шлюзе, понадобится консоль гипервизора, iLO/iDRAC или человек рядом с сервером.

Заранее согласуйте с сетевым администратором новый адрес, маску, шлюз и DNS-серверы. Если адрес резервируется на DHCP по MAC-адресу, правьте резервирование там, а не на самом сервере.

3. Остановка службы агента и смена IP-адреса сервера

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

Windows Server

Агент 1С в списке служб называется Агент сервера 1С:Предприятия 8.3 (с указанием разрядности). Остановите его через services.msc или из консоли:

sc query type= service state= all | findstr /i "1C"
net stop "1C:Enterprise 8.3 Server Agent (x86-64)"

Имя службы у вас может отличаться: оно зависит от того, как её регистрировали. Точное имя покажет первая команда.

Затем смените адрес. Через интерфейс: Панель управления → Центр управления сетями → Изменение параметров адаптера → свойства адаптера → IP версии 4 (TCP/IPv4). Из командной строки:

netsh interface ipv4 set address name="Ethernet" static 192.168.10.20 255.255.255.0 192.168.10.1
netsh interface ipv4 set dnsservers name="Ethernet" static 192.168.10.2 primary
ipconfig /registerdns

Последняя команда обновит A-запись сервера в DNS, если в домене включена динамическая регистрация.

Linux

В новых версиях платформы служба называется по шаблону srv1cv8-8.3.xx.xxxx@default, в старых — srv1cv83. Точное имя покажет systemctl list-units | grep srv1cv8. Остановка:

sudo systemctl stop srv1cv8-8.3.24.1691@default

Новый адрес в Ubuntu задают в файле из каталога /etc/netplan/ и применяют командой sudo netplan apply. В дистрибутивах с NetworkManager — через nmcli.

На Linux сразу откройте /etc/hosts. Если имя сервера привязано к 127.0.1.1 или к старому адресу, кластер будет сообщать клиентам неверный адрес. Строка должна выглядеть так: 192.168.10.20 srv1c.office.local srv1c.

DNS и файлы hosts

Обновите A-запись сервера в DNS вручную, если динамическая регистрация выключена. Удалите старую PTR-запись в обратной зоне. Затем пройдитесь по файлам C:\Windows\System32\drivers\etc\hosts на клиентах и серверах терминалов: адрес 1С часто прописывают туда «на всякий случай» и забывают.

Сервер 1С должен разрешать собственное имя в новый адрес. Проверьте это на нём самом командой ping -4 srv1c.

4. Кластер серверов 1С после смены адреса

Запустите службу агента (net start или systemctl start) и откройте консоль администрирования. Дальше действия зависят от того, как кластер был зарегистрирован.

Кластер зарегистрирован по имени

Это обычный случай. Если имя компьютера не менялось, кластер поднимется сам. Проверьте три вещи:

  1. Рабочий сервер в узле Рабочие серверы находится в работе, рабочие процессы в узле Рабочие процессы запустились.
  2. Список информационных баз на месте, базы открываются.
  3. В консоли сам центральный сервер подключается. Если в дереве консоли он был добавлен по старому IP, удалите эту запись и добавьте сервер заново по имени: это лишь закладка консоли, кластер от этого не пострадает.

То же можно проверить из командной строки через сервер администрирования:

rac cluster list srv1c:1545

Кластер зарегистрирован по IP-адресу

Здесь старый адрес записан в файлах реестра кластера. Порядок такой:

  1. Остановите службу агента.
  2. Откройте файлы srvinfo\1cv8wsrv.lst и srvinfo\reg_1541\1CV8Clst.lst в текстовом редакторе (сохранять в той же кодировке, без добавления BOM, лучше в Notepad++).
  3. Замените старый адрес на имя сервера во всех вхождениях. Больше ничего в файлах не трогайте.
  4. Запустите службу и проверьте кластер в консоли.

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

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

Порты и брандмауэр

После смены адреса клиенту по-прежнему нужны те же порты:

ПортКто слушаетДля чего
1540агент сервера (ragent)первое обращение клиента и консоли
1541менеджер кластера (rmngr)передача клиента рабочему процессу
1560–1591рабочие процессы (rphost)сеансы пользователей; диапазон задан в свойствах рабочего сервера
1545сервер администрирования (ras)утилита rac и сторонние консоли

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

Test-NetConnection srv1c -Port 1540
Test-NetConnection srv1c -Port 1541
Test-NetConnection srv1c -Port 1560

5. СУБД: MS SQL и PostgreSQL на новом адресе

Если СУБД стоит на том же сервере, что и 1С, рабочий процесс обычно подключается к ней по имени или через localhost, и менять ничего не нужно. Если в свойствах базы указан IP, откройте в консоли Информационные базы → <база> → Свойства и исправьте поле Сервер баз данных. Консоль запросит логин и пароль администратора информационной базы — подготовьте их заранее.

MS SQL Server

В SQL Server Configuration Manager откройте протокол TCP/IP для экземпляра. Если на вкладке IP-адресов прослушивание было включено только для старого адреса, включите новый и перезапустите службу SQL Server. Именованный экземпляр дополнительно требует работающей службы SQL Server Browser (UDP 1434).

PostgreSQL

Проверьте два файла в каталоге данных:

  • postgresql.conf — параметр listen_addresses. Если там указан старый IP, замените его на новый или на '*'. После этого нужен перезапуск службы PostgreSQL.
  • pg_hba.conf — строки доступа. Если сервер 1С и СУБД разнесены, разрешите подключение с нового адреса сервера 1С, например host all all 192.168.10.20/32 scram-sha-256 (метод должен совпадать с тем, что уже используется у вас). Применяется перечитыванием конфигурации: SELECT pg_reload_conf();.

6. Лицензии и ключи защиты после смены IP

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

Риск появляется, когда вместе со сменой IP пересоздают виртуальную машину или добавляют новый виртуальный сетевой адаптер с другим MAC-адресом. Тогда привязка может нарушиться, и лицензию придётся восстанавливать по пин-коду.

Если лицензии раздаёт отдельный сервер кластера, это настроено через требования назначения функциональности рабочего сервера, где он указан по имени. При неизменном имени ничего перенастраивать не нужно.

Аппаратный ключ HASP работает иначе. Клиенты ищут сетевой ключ через менеджер лицензий HASP License Manager, и в файле nethasp.ini часто прописан конкретный адрес:

[NH_COMMON]
NH_TCPIP = Enabled

[NH_TCPIP]
NH_SERVER_ADDR = 192.168.10.20
NH_USE_BROADCAST = Disabled

Файл лежит в каталоге conf установленной платформы, например C:\Program Files\1cv8\conf\nethasp.ini, на каждом компьютере, где запускается клиент или сервер 1С с сетевым ключом. Замените адрес на новый или на имя сервера и перезапустите 1С на этих машинах.

7. Подключения пользователей: список баз, веб-клиент и скрипты

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

Файл ibases.v8i

Список баз пользователя хранится в %APPDATA%\1C\1CEStart\ibases.v8i. Нужна строка Connect:

Connect=Srvr="srv1c";Ref="buh";

Замените старый адрес на имя сервера. На десятке рабочих мест это быстрее сделать централизованно:

  • 📄 Общий список баз. Разместите один .v8i в сетевой папке и подключите его через параметр CommonInfoBases в файле 1CEStart.cfg. Тогда адрес правится в одном месте.
  • 🛠️ Групповая политика или скрипт входа, который заменяет адрес в ibases.v8i у всех пользователей.
  • ✋ Вручную: Изменить в окне запуска 1С → поле Кластер серверов 1С:Предприятия.

Веб-клиент и HTTP-сервисы

В каталоге публикации на IIS или Apache лежит default.vrd. В атрибуте ib указано, куда подключаться: ib="Srvr=&quot;srv1c&quot;;Ref=&quot;buh&quot;;". Если там IP, исправьте и перезапустите веб-сервер.

Если пользователи открывают веб-клиент или мобильное приложение по адресу вида http://192.168.1.10/buh, им понадобится новая ссылка. Сюда же относятся внешние системы, которые вызывают HTTP-сервисы 1С.

Скрипты и внешние подключения

Проверьте:

  • bat-файлы резервного копирования и обновления с параметром /S;
  • COM-соединения (V83.COMConnector) из других программ;
  • настройки обменов, где указана строка подключения к другой базе;
  • службу ras, если в её командной строке указан адрес агента.

После переключения выполните на клиентах ipconfig /flushdns, чтобы они не ходили по закешированному старому адресу.

Проверка после смены IP-адреса сервера 1С
Выполнено: 0 / 7

8. Ошибки подключения после смены IP и что с ними делать

Ошибки после переезда обычно означают, что кто-то из участников ищет сервер по старому адресу. Текст ошибки подсказывает, на каком шаге связь рвётся: в строке server_addr=tcp://...:1541 видно, к какому адресу и порту обращался клиент.

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

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

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

Остаётся вариант временно вернуть старый адрес вторым IP на том же адаптере. В Windows это делается кнопкой Дополнительно в свойствах TCP/IPv4, в Linux — второй строкой в списке адресов netplan. Сервер будет отвечать на оба адреса, пока вы не найдёте последнего «забытого» клиента или скрипт. Через неделю-две второй адрес убирают.

9. Частые вопросы о смене адреса сервера 1С

Нужно ли переустанавливать платформу 1С после смены IP?
Нет. Платформа и служба агента от IP-адреса не зависят, достаточно перезапустить службу после смены сетевых настроек.
Слетит ли программная лицензия, если поменять только IP?
Нет. IP не входит в параметры привязки. Лицензию может сбить замена сетевого адаптера или пересоздание виртуальной машины, а не смена адреса.
Чем смена IP отличается от смены имени сервера?
Смена имени затрагивает больше: имя записано в реестре кластера, входит в привязку программной лицензии и указано у клиентов. При смене только IP и регистрации по имени правок почти нет.
Можно ли сменить IP, не останавливая работу пользователей?
Нет. Все сеансы оборвутся в момент переключения сети. Планируйте работы на нерабочее время и предупредите пользователей заранее.
Что делать с хранилищем конфигурации на этом сервере?
Если разработчики подключались к хранилищу по адресу вида tcp://192.168.1.10/repo, им нужно указать новый адрес или имя сервера при подключении к хранилищу в Конфигураторе. Само хранилище не меняется.