Где найти сетевой адрес каждого звена 1С:Предприятия 8.3

· 10 мин

Содержание

IP-адрес в 1С ищут в двух местах: в строке соединения базы (Srvr="имя_сервера";Ref="имя_базы") видно, к какому серверу 1С подключается клиент, а в свойствах информационной базы в консоли кластера указан сервер СУБД. Сама 1С почти везде хранит имена компьютеров, а не IP. Поэтому последний шаг всегда один: превратить имя в адрес командой nslookup или ping -4.

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

Три адреса в инфраструктуре 1С и где их искать

В клиент-серверном варианте участвуют минимум три машины. Иногда это один и тот же компьютер, но адреса всё равно ищут по-разному.

ЗвеноЧто этоГде 1С хранит его имяКак получить IP
Клиентский ПКкомпьютер пользователя с тонким или толстым клиентомжурнал регистрации, список сеансов в консолиipconfig на самом ПК или nslookup имя
Сервер 1С:Предприятиямашина со службой агента ragent.exeстрока соединения базы, файл ibases.v8inslookup, ping -4 по имени из строки
Сервер СУБДMS SQL Server или PostgreSQL с данными базысвойства информационной базы в кластереnslookup или SQL-запрос к самой СУБД

У файловой базы сервера 1С нет. В строке соединения стоит File="\\FS01\Base\Buh" или File="D:\Base\Buh". Адрес нужен только сетевой папки: это имя после двух обратных слешей, в примере FS01.

Если в строке соединения уже стоит IP вроде Srvr="192.168.1.10", искать больше нечего. Но такая настройка часто ломается при работе через кластер, подробности в разделе про ошибки.

IP-адрес клиентского компьютера, на котором открыта 1С

Самый короткий путь: спросить сам компьютер. 1С свой адрес пользователю не показывает, его показывает операционная система.

На самом рабочем месте

  1. Нажмите Win + R, введите cmd и нажмите Enter.
  2. Выполните команду ipconfig.
  3. Найдите адаптер, через который идёт работа в сети, и строку «IPv4-адрес».

Чтобы заодно увидеть имя компьютера (его 1С пишет в журнал и в список сеансов), выполните:

hostname
ipconfig | findstr IPv4

На Linux то же самое дают команды hostname и ip -4 addr (или короче hostname -I).

Удалённо, по имени из журнала или консоли

Чаще бывает наоборот: в консоли кластера видно, что базу держит сеанс с компьютера BUH-03, а где этот компьютер стоит, непонятно. Тогда на любой машине в той же сети выполните:

nslookup BUH-03
ping -4 BUH-03

nslookup спрашивает DNS-сервер, ping -4 показывает адрес, который реально использует ваша машина (с учётом файла hosts). Если ответы разные, это уже находка: у кого-то устаревшая запись.

Терминальный сервер и веб-клиент

  • 🖥️ RDP или RemoteApp. 1С запущена на терминальном сервере, поэтому в журнале будет имя терминального сервера, а не домашнего ПК сотрудника. Настоящий адрес пользователя ищите в журнале подключений удалённого рабочего стола на самом терминальном сервере.
  • 🌐 Веб-клиент и мобильные подключения через публикацию. Адрес клиента видит веб-сервер. В IIS это поле c-ip в логах (по умолчанию папка %SystemDrive%\inetpub\logs\LogFiles), в Apache — первый столбец access.log. Если перед веб-сервером стоит прокси, реальный адрес будет в заголовке X-Forwarded-For, и прокси должен его передавать.

Как узнать IP-адрес сервера 1С:Предприятия

Здесь всё начинается со строки соединения. Её можно увидеть тремя способами, выбирайте тот, что доступен.

Способ 1. Из окна запуска

  1. Запустите 1С, в списке баз выделите нужную.
  2. Внизу окна под списком отображается строка подключения вида Srvr="srv-1c";Ref="buh_2024".
  3. Если строки не видно, нажмите «Изменить» — на втором шаге мастера будут поля «Кластер серверов 1С:Предприятия» и «Имя информационной базы в кластере».

Значение srv-1c и есть имя сервера. Бывает запись с портом, например srv-1c:2541: значит, кластер работает не на стандартном порту 1541, и при настройке брандмауэра это надо учесть.

Способ 2. Из уже открытой базы

В интерфейсе «Такси» откройте главное меню (кнопка с тремя полосками в левом верхнем углу) и выберите Справка → О программе. В окне есть строка «Информационная база» с той же строкой соединения.

Разработчику удобнее вызвать функцию СтрокаСоединенияИнформационнойБазы(): она возвращает эту строку целиком, её можно вывести сообщением или записать в лог обработки.

Способ 3. Из файла списка баз

Список баз пользователя лежит в файле:

%APPDATA%\1C\1CEStart\ibases.v8i

Откройте его Блокнотом и найдите блок с названием базы в квадратных скобках. Строка Connect=Srvr=...;Ref=...; содержит имя сервера. Это удобно, когда 1С вообще не запускается или нужно быстро посмотреть адреса у десятка пользователей. Если базы раздаются централизованно, в каталоге 1CEStart ещё будет файл 1cestart.cfg со ссылками на общий список.

Перевод имени в IP и проверка на самом сервере

nslookup srv-1c
ping -4 srv-1c

Если у вас есть доступ к самому серверу, сверьтесь изнутри. Агент слушает порт 1540, менеджер кластера — 1541:

netstat -ano | findstr ":1540 :1541"

В выводе видно, на каком локальном адресе открыты порты. Если там 0.0.0.0, служба принимает подключения на всех сетевых интерфейсах сервера.

Через утилиту rac (работает при запущенной службе сервера администрирования RAS) адреса тоже видны: команда rac cluster list показывает поле host у кластера, а rac server list --cluster=<идентификатор> — имя компьютера у каждого рабочего сервера. Остальные параметры смотрите в rac help.

Поиск IP-адреса сервера баз данных (СУБД) для базы 1С

Клиент к СУБД напрямую не ходит. С ней общаются рабочие процессы сервера 1С. Поэтому адрес СУБД записан в свойствах информационной базы на кластере.

В консоли кластера

  1. Откройте «Администрирование серверов 1С Предприятия».
  2. Раскройте Центральные серверы 1С:Предприятия 8.3 → имя сервера → Кластеры → Локальный кластер → Информационные базы.
  3. Откройте свойства нужной базы. Консоль запросит логин и пароль администратора информационной базы.
  4. Поле «Сервер баз данных» — это имя или адрес СУБД. Рядом поля «Тип СУБД» и «База данных» с именем базы на стороне SQL.

Если в поле написано localhost или (local), СУБД стоит на той же машине, что и рабочий процесс 1С. Для внешнего админа это значит «адрес сервера 1С», а не адрес его собственного компьютера.

Если в поле стоит именованный экземпляр, например sql01\SQL2019, адрес нужен у sql01. Порт у именованного экземпляра обычно динамический, его смотрят в «Диспетчере конфигурации SQL Server».

Без консоли то же даёт команда:

rac infobase info --cluster=<id кластера> --infobase=<id базы> --infobase-user=Администратор --infobase-pwd=пароль

В ответе ищите поля dbms, db-server и db-name. Идентификатор базы берут из rac infobase summary list --cluster=<id кластера>.

Запросом к самой СУБД

Когда имя сервера ведёт на кластер или балансировщик и хочется знать точный адрес узла, спросите саму СУБД.

Для MS SQL Server:

SELECT local_net_address, local_tcp_port, client_net_address
FROM sys.dm_exec_connections
WHERE session_id = @@SPID;

Для PostgreSQL:

SELECT inet_server_addr(), inet_server_port(), inet_client_addr();

local_net_address и inet_server_addr() — адрес сервера СУБД, на который пришло подключение. Если подключаться через сокет на самой машине с PostgreSQL, функция вернёт пустое значение: запускайте запрос по сети.

Что выписать о сервере 1С и СУБД
Выполнено: 0 / 6

Журнал регистрации и консоль: кто и откуда подключён

Эта часть нужна, когда вопрос звучит так: «С какого компьютера провели документ?» или «Кто висит в базе и мешает обновлению?».

Журнал регистрации

В БП 3.0, ЗУП 3.1 и УТ 11 журнал открывается через Администрирование → Обслуживание → Журнал регистрации. В конфигурациях без этого раздела — из Конфигуратора: Администрирование → Журнал регистрации.

В журнале есть колонка «Компьютер». В ней имя компьютера, IP 1С туда не пишет. Дальше два шага:

  1. Установите отбор по пользователю или по событиям группы «Сеанс» (начало и завершение сеанса, аутентификация), чтобы увидеть входы.
  2. Возьмите имя из колонки «Компьютер» и выполните nslookup или ping -4, как выше.

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

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

Список сеансов

В консоли кластера раскройте у базы ветку «Сеансы». Колонки «Компьютер», «Приложение» и «Пользователь» показывают, кто сейчас работает. То же даёт rac session list --cluster=<id> --infobase=<id>, в выводе поле host.

Из кода список подключений получают функцией ПолучитьСеансыИнформационнойБазы(): у каждого сеанса есть свойство ИмяКомпьютера.

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

Сетевые экраны: какие порты открыть для 1С

Узнать адрес мало, к нему надо достучаться. Схема соединения такая: клиент обращается к агенту на порт 1540, агент передаёт его менеджеру кластера на 1541, затем клиент работает напрямую с рабочим процессом из диапазона, по умолчанию 1560–1591. Диапазон задаётся в свойствах рабочего сервера в консоли кластера.

НаправлениеПорт по умолчаниюПротокол
Клиент → агент сервера 1С1540TCP
Клиент → менеджер кластера1541TCP
Клиент → рабочие процессы1560–1591TCP
Сервер 1С → MS SQL Server1433TCP
Сервер 1С → PostgreSQL5432TCP
Клиент → сервер администрирования RAS1545TCP
Браузер → веб-публикация80, 443TCP

Правило для брандмауэра Windows на сервере 1С:

netsh advfirewall firewall add rule name="1C Server" dir=in action=allow protocol=TCP localport=1540-1541,1560-1591 remoteip=192.168.1.0/24

Подставьте свою подсеть в remoteip. Без этого параметра порты откроются для любого адреса, а наружу их публиковать нельзя.

Что ещё сделать для безопасности:

  • 🔒 Порты СУБД открывайте только для адреса сервера 1С, а не для всей сети. Пользователям прямой доступ к SQL не нужен.
  • 🔒 Не пробрасывайте 1540–1591 на роутере в интернет. Удалённым сотрудникам дайте VPN или терминальный сервер .
  • 🔒 Задайте администратора кластера в консоли. Без него любой, кто видит порт 1540, может открыть консоль и посмотреть список баз.
  • 🔒 Если на сервере несколько сетевых карт, проверьте в выводе netstat, на каком интерфейсе слушает служба.

Ошибки подключения по адресу и что с ними делать

Большинство проблем с «адресом 1С» на деле — проблемы разрешения имён. Ключевой момент: кластер регистрирует сервер по имени компьютера. Даже если клиент подключился к агенту по IP, дальше он получает имя рабочего сервера и идёт по нему. Не может его разрешить — соединение рвётся.

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

Когда у сервера сменился IP

Если поменялся только адрес, а имя компьютера осталось прежним, 1С трогать не надо. Обновите запись в DNS, уберите старые строки из hosts у клиентов и сбросьте кэш командой ipconfig /flushdns.

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

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

Частые вопросы

Можно ли прописать в строке соединения IP вместо имени сервера?
Можно, например Srvr=“192.168.1.10”. Но кластер всё равно отдаст клиенту имя рабочего сервера, поэтому имя должно разрешаться через DNS или hosts. Иначе подключение оборвётся на втором шаге.
Почему в журнале регистрации у всех пользователей одинаковый компьютер?
Они работают через терминальный сервер или веб-клиент. В колонке «Компьютер» тогда имя сервера, на котором запущен клиент 1С. Реальные адреса ищите в логах RDP или веб-сервера.
Как узнать адрес сервера, если 1С не запускается вообще?
Откройте Блокнотом файл ibases.v8i в папке %APPDATA%\1C\1CEStart. В строке Connect указано имя сервера или путь к файловой базе.
Где хранится IP-адрес файловой базы?
Нигде: файловая база — это папка с файлом 1Cv8.1CD. Нужен адрес компьютера, на котором лежит эта папка, он указан в пути после двух обратных слешей.
Видит ли 1С внешний IP пользователя, который работает из дома?
Только через веб-публикацию, в логах веб-сервера. При работе через VPN 1С увидит имя компьютера в сети VPN, а через RDP — имя терминального сервера.