Где найти сетевой адрес каждого звена 1С:Предприятия 8.3
Содержание
IP-адрес в 1С ищут в двух местах: в строке соединения базы (Srvr="имя_сервера";Ref="имя_базы") видно, к какому серверу 1С подключается клиент, а в свойствах информационной базы в консоли кластера указан сервер СУБД. Сама 1С почти везде хранит имена компьютеров, а не IP. Поэтому последний шаг всегда один: превратить имя в адрес командой nslookup или ping -4.
Задача обычно срочная: база не открывается, админ просит «скажи адрес сервера», надо открыть порт в брандмауэре или понять, с какого компьютера бухгалтер зашёл в базу. Ниже порядок действий для каждого звена: клиентский ПК, сервер 1С:Предприятия и сервер баз данных.
Три адреса в инфраструктуре 1С и где их искать
В клиент-серверном варианте участвуют минимум три машины. Иногда это один и тот же компьютер, но адреса всё равно ищут по-разному.
| Звено | Что это | Где 1С хранит его имя | Как получить IP |
|---|---|---|---|
| Клиентский ПК | компьютер пользователя с тонким или толстым клиентом | журнал регистрации, список сеансов в консоли | ipconfig на самом ПК или nslookup имя |
| Сервер 1С:Предприятия | машина со службой агента ragent.exe | строка соединения базы, файл ibases.v8i | nslookup, 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С свой адрес пользователю не показывает, его показывает операционная система.
На самом рабочем месте
- Нажмите
Win + R, введитеcmdи нажмите Enter. - Выполните команду
ipconfig. - Найдите адаптер, через который идёт работа в сети, и строку «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С, в списке баз выделите нужную.
- Внизу окна под списком отображается строка подключения вида
Srvr="srv-1c";Ref="buh_2024". - Если строки не видно, нажмите «Изменить» — на втором шаге мастера будут поля «Кластер серверов 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С:Предприятия 8.3 → имя сервера → Кластеры → Локальный кластер → Информационные базы. - Откройте свойства нужной базы. Консоль запросит логин и пароль администратора информационной базы.
- Поле «Сервер баз данных» — это имя или адрес СУБД. Рядом поля «Тип СУБД» и «База данных» с именем базы на стороне 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, функция вернёт пустое значение: запускайте запрос по сети.
Журнал регистрации и консоль: кто и откуда подключён
Эта часть нужна, когда вопрос звучит так: «С какого компьютера провели документ?» или «Кто висит в базе и мешает обновлению?».
Журнал регистрации
В БП 3.0, ЗУП 3.1 и УТ 11 журнал открывается через Администрирование → Обслуживание → Журнал регистрации. В конфигурациях без этого раздела — из Конфигуратора: Администрирование → Журнал регистрации.
В журнале есть колонка «Компьютер». В ней имя компьютера, IP 1С туда не пишет. Дальше два шага:
- Установите отбор по пользователю или по событиям группы «Сеанс» (начало и завершение сеанса, аутентификация), чтобы увидеть входы.
- Возьмите имя из колонки «Компьютер» и выполните
nslookupилиping -4, как выше.
Помните про DHCP: за неделю адрес компьютера мог поменяться. Если нужен адрес на момент события, смотрите аренду в журнале DHCP-сервера за ту дату.
Журнал регистрации видит только пользователь с полными правами. Не выдавайте их рядовому сотруднику ради одной проверки, попросите администратора сделать выборку.
Список сеансов
В консоли кластера раскройте у базы ветку «Сеансы». Колонки «Компьютер», «Приложение» и «Пользователь» показывают, кто сейчас работает. То же даёт rac session list --cluster=<id> --infobase=<id>, в выводе поле host.
Из кода список подключений получают функцией ПолучитьСеансыИнформационнойБазы(): у каждого сеанса есть свойство ИмяКомпьютера.
Из списка сеансов можно принудительно завершить чужой сеанс. Несохранённые данные пользователя при этом пропадут. Сначала найдите человека по имени компьютера и попросите выйти сам.
Сетевые экраны: какие порты открыть для 1С
Узнать адрес мало, к нему надо достучаться. Схема соединения такая: клиент обращается к агенту на порт 1540, агент передаёт его менеджеру кластера на 1541, затем клиент работает напрямую с рабочим процессом из диапазона, по умолчанию 1560–1591. Диапазон задаётся в свойствах рабочего сервера в консоли кластера.
| Направление | Порт по умолчанию | Протокол |
|---|---|---|
| Клиент → агент сервера 1С | 1540 | TCP |
| Клиент → менеджер кластера | 1541 | TCP |
| Клиент → рабочие процессы | 1560–1591 | TCP |
| Сервер 1С → MS SQL Server | 1433 | TCP |
| Сервер 1С → PostgreSQL | 5432 | TCP |
| Клиент → сервер администрирования RAS | 1545 | TCP |
| Браузер → веб-публикация | 80, 443 | TCP |
Правило для брандмауэра 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С оборвёт сеансы всех пользователей на этом сервере. Делайте его вечером или в выходной, предупредив людей заранее.