Где 1С берёт адрес сервера и как превратить его имя в IP за пару минут
Содержание
Чтобы узнать IP-адрес сервера
1С, откройте свойства базы в окне запуска (кнопка Изменить) и посмотрите поле «Кластер серверов
1С:Предприятия» или путь к каталогу базы. Там почти всегда имя компьютера, а не адрес. Наберите в командной строке ping -4 <имя> — в ответе будет IP.
Способов несколько, и выбирают по тому, кто вы и к чему есть доступ. Пользователю хватит окна запуска и ping. Администратор на самом сервере смотрит ipconfig или ip addr и консоль кластера. Если подозрение, что клиент ходит не туда, куда записано в настройках, помогут TCPView, Монитор ресурсов и Wireshark. Отдельная задача — адрес сервера СУБД: его хранит кластер 1С, а не клиент.
| Способ | Кому подходит | Что покажет | Нужны права администратора |
|---|---|---|---|
Окно запуска, Справка → О программе | пользователю | имя сервера или путь к файловой базе | нет |
ping, nslookup | всем | IP по имени сервера | нет |
ipconfig, ip addr, netstat на сервере | администратору | все адреса сервера и прослушиваемые порты | желательно |
Консоль кластера, rac | администратору кластера | имена рабочих серверов, порты, сервер СУБД | да |
| Журнал регистрации | администратору базы | компьютер клиента, рабочий сервер | роль администратора в базе |
| TCPView, Монитор ресурсов, Wireshark | администратору сети | фактические соединения клиента | для Wireshark — да |
| Запросы к MS SQL, PostgreSQL | администратору СУБД | адрес и порт сервера баз данных | доступ к СУБД |
Где записан адрес сервера 1С: строка подключения базы
Любая база в списке запуска хранит строку подключения. По ней сразу видно вариант работы.
- 🖥 Клиент-серверная база
—
Srvr="srv1c";Ref="buh";. Здесьsrv1c— имя или IP центрального сервера кластера,buh— имя базы на нём. - 📁 Файловая база —
File="\\srv-files\1C\Buh";. Сервер 1С тут не участвует: адрес нужен у компьютера, где лежит папка с файлом1Cv8.1CD. - 🌐 Публикация на веб-сервере —
ws="https://1c.example.ru/buh";. Адрес — это веб-сервер, за которым может стоять отдельный сервер 1С.
Окно запуска
- Запустите 1С, в списке баз выделите нужную.
- Внизу окна под списком видна строка подключения — там имя сервера или путь.
- Чтобы увидеть точнее, нажмите
Изменить. Мастер покажет поля «Кластер серверов 1С:Предприятия» и «Имя информационной базы в кластере».
Если в поле стоит srv1c:1641, число после двоеточия — нестандартный порт кластера. По умолчанию это 1541, и в строке он не пишется.
Из уже открытой базы
В режиме 1С:Предприятие откройте Справка → О программе (значок «i» или меню с тремя полосками в шапке). В окне есть строка «Информационная база» с той же строкой подключения. Это удобно, когда база запущена ярлыком и в общем списке её нет.
Разработчик получит то же значение программно: функция СтрокаСоединенияИнформационнойБазы() возвращает строку целиком, её можно вывести в сообщение из внешней обработки.
Файл со списком баз
Список баз пользователя лежит в файле ibases.v8i:
notepad %APPDATA%\1C\1CEStart\ibases.v8i
Каждая база — секция в квадратных скобках со строкой Connect=. Файл удобно смотреть, когда баз много и нужно разом выписать все серверы. Если список приходит централизованно, в каталоге 1CEStart ещё будет 1cestart.cfg со ссылками на общие файлы списков.
Если в строке подключения уже стоит IP вида 192.168.10.15, задача решена. Но не спешите переписывать имена на IP во всех ярлыках: сервер 1С после первого контакта сообщает клиенту имя рабочего сервера, и клиент всё равно должен уметь его разрешить.
Как узнать IP по имени сервера 1С: ping, nslookup, tracert
Имя из строки подключения превращают в адрес стандартными сетевыми командами. Работает с любого компьютера сети, права администратора не нужны.
ping
Откройте командную строку (Win+R → cmd) и выполните:
ping -4 srv1c
Ключ -4 просит IPv4: без него Windows может показать IPv6-адрес, который в настройках 1С обычно не используется. В первой строке ответа будет Обмен пакетами с srv1c [192.168.10.15] — это и есть адрес.
Если ответов нет, но адрес в квадратных скобках показан, имя разрешилось, а ICMP просто закрыт брандмауэром. Для определения IP этого достаточно.
nslookup
ping берёт адрес откуда придётся: из DNS, из файла hosts, из кэша. nslookup спрашивает именно DNS-сервер:
nslookup srv1c
nslookup 192.168.10.15
Вторая команда делает обратный запрос: по IP возвращает имя. Если ping и nslookup дают разные адреса, на компьютере есть запись в C:\Windows\System32\drivers\etc\hosts. Откройте его блокнотом от имени администратора и проверьте строку с именем сервера.
В PowerShell то же самое делает Resolve-DnsName srv1c.
tracert
tracert -d srv1c
Команда показывает маршрут до сервера по узлам. Ключ -d отключает обратное разрешение имён, вывод идёт быстрее. Последняя строка — IP сервера. tracert полезен, когда сервер в другом офисе или за VPN: видно, на каком узле теряются пакеты.
Командная строка на самом сервере 1С: Windows и Linux
Когда есть доступ к серверу через RDP или SSH, адрес смотрят прямо на нём. Это единственный способ увидеть все сетевые интерфейсы: у сервера их может быть два и больше.
Windows Server
ipconfig
hostname
netstat -ano | findstr :1541
ipconfig— адреса всех адаптеров. Ищите «IPv4-адрес» у адаптера локальной сети.hostname— имя компьютера. Именно его кластер передаёт клиентам.netstatс фильтром по порту 1541 покажет, на каком адресе слушает менеджер кластера. Строка0.0.0.0:1541означает «на всех адресах сразу».
Агент сервера слушает порт 1540, менеджер кластера — 1541. Рабочие процессы используют диапазон, по умолчанию 1560–1591. Диапазон задаётся в свойствах рабочего сервера.
Linux
hostname -I
ip -4 addr show
ss -tlnp | grep 154
hostname -I выводит все IPv4-адреса одной строкой. ss покажет процессы ragent и rmngr с портами 1540 и 1541. Если строк нет, служба сервера 1С не запущена.
Утилита rac
На сервере с запущенным сервером администрирования ras кластер можно опросить из командной строки:
rac cluster list
rac server list --cluster=<id кластера>
Первая команда выдаёт идентификатор кластера, имя хоста и порт. Вторая — список рабочих серверов с именами хостов и диапазонами портов. Синтаксис остальных команд смотрите в rac help.
Консоль кластера и конфигуратор: адрес глазами администратора 1С
Консоль администрирования серверов 1С
- Откройте оснастку «Администрирование серверов 1С:Предприятия».
- Разверните центральный сервер → «Кластеры» → нужный кластер → «Рабочие серверы».
- Откройте свойства рабочего сервера. В поле «Имя компьютера» — сетевое имя, рядом указаны порт и диапазон IP-портов.
Если серверов в кластере несколько, клиент может работать с любым из них. Тогда адресов нужно несколько, и каждый пользовательский компьютер должен разрешать все эти имена.
Консоль в дереве показывает и центральный сервер, к которому подключена. Если подключались по IP, он виден прямо в названии узла.
Конфигуратор
В Конфигураторе тоже есть Справка → О программе со строкой подключения. Дополнительно в клиент-серверной базе пункт Администрирование → Активные пользователи покажет, с каких компьютеров работают люди. Это имена клиентов, а не сервера, но они пригодятся, если нужно найти адрес конкретного пользователя.
Не меняйте имя компьютера сервера 1С «чтобы было понятнее». Кластер хранит имя в своих настройках, после переименования службы перестанут находить друг друга, а у пользователей оборвутся сеансы. Такие изменения планируют на нерабочее время и делают по регламенту.
Журнал регистрации: какие адреса он хранит
Журнал регистрации часто открывают в надежде увидеть IP пользователя. Его там нет. Журнал хранит имя компьютера клиента в колонке «Компьютер», а для клиент-серверной базы ещё и рабочий сервер, который обслужил событие, с основным и вспомогательным IP-портом.
Как пользоваться:
- В пользовательском режиме откройте
Администрирование → Обслуживание, группа «Отчеты администратора» → «Журнал регистрации». - Отберите события по пользователю или по периоду.
- Двойной щелчок по событию открывает карточку с компьютером, приложением и сеансом.
- Возьмите имя компьютера и разрешите его через
ping -4 <имя>илиnslookup <имя>.
В журнале, открытом из Конфигуратора (Администрирование → Журнал регистрации), набор колонок настраивается, и среди доступных есть «Рабочий сервер». Так видно, на каком именно сервере кластера шла работа, если их несколько.
Имя компьютера — это значение на момент события. Если сотрудники работают через терминальный сервер, в колонке будет имя терминального сервера, а не их рабочих машин.
Сетевые утилиты: TCPView, Монитор ресурсов, Wireshark
Эти инструменты показывают не то, что записано в настройках, а куда клиент подключился на самом деле. Нужны, когда в строке подключения одно имя, а работа идёт через другой сервер, VPN или балансировщик.
Монитор ресурсов (встроен в Windows)
Win+R→resmon.- Вкладка «Сеть» → раздел «TCP-подключения».
- Отметьте процесс
1cv8c.exe(тонкий клиент) или1cv8.exe(толстый клиент и Конфигуратор).
В колонке «Удалённый адрес» — IP сервера 1С, в колонке «Удалённый порт» — 1541 или порт из диапазона рабочих процессов.
TCPView
Бесплатная утилита из набора Sysinternals от Microsoft. Скачивать её лучше с сайта Microsoft, а не со сборников программ. После запуска таблица показывает все соединения по процессам. Наберите в фильтре 1cv8 — останутся только соединения 1С с адресами и портами.
Wireshark
Wireshark нужен, когда соединение не устанавливается и надо понять, на каком шаге оно рвётся. Запустите захват на сетевом адаптере, откройте базу и примените фильтр:
tcp.port == 1540 || tcp.port == 1541 || (tcp.port >= 1560 && tcp.port <= 1591)
В колонке «Destination» — адрес сервера. Если клиент шлёт пакеты на 1541, а ответа нет, проблема в брандмауэре или маршруте. Если 1541 отвечает, а на порты рабочих процессов соединения не проходят, закрыт диапазон 1560–1591.
Захват трафика в корпоративной сети согласуйте со службой безопасности. На сервере запускайте Wireshark ненадолго: при большом трафике он заметно нагружает процессор и диск.
IP-адрес сервера СУБД: MS SQL и PostgreSQL
В клиент-серверном варианте 1С хранит данные в СУБД, и это может быть отдельный компьютер. Клиент к нему не подключается: с СУБД работает только кластер 1С. Поэтому адрес ищут на стороне кластера.
Где кластер хранит адрес СУБД
В консоли кластера откройте «Информационные базы» → свойства нужной базы. Поле «Сервер баз данных» содержит имя или IP сервера СУБД, рядом — тип СУБД и имя базы данных. Для MS SQL с именованным экземпляром запись выглядит как sqlsrv\MSSQL1, для нестандартного порта PostgreSQL — pgsrv port=5433.
Дальше имя разрешают уже знакомым ping -4 или nslookup, но с самого сервера 1С: важно, какой адрес видит он.
MS SQL Server
В SQL Server Management Studio выполните запрос:
SELECT
CONNECTIONPROPERTY('local_net_address') AS server_ip,
CONNECTIONPROPERTY('local_tcp_port') AS server_port,
CONNECTIONPROPERTY('client_net_address') AS client_ip;
server_ip — адрес, на который пришло ваше соединение. Если подключились локально через общую память, поля будут пустыми — подключитесь по сети или по TCP.
Посмотреть, с каких адресов идут соединения рабочих процессов 1С:
SELECT c.client_net_address, s.host_name, s.program_name
FROM sys.dm_exec_connections c
JOIN sys.dm_exec_sessions s ON s.session_id = c.session_id
WHERE s.is_user_process = 1;
В client_net_address будут IP серверов 1С. Так находят «лишний» сервер кластера, о котором забыли.
PostgreSQL
В psql или pgAdmin:
SELECT inet_server_addr() AS server_ip, inet_server_port() AS server_port;
SELECT client_addr, datname, usename, state
FROM pg_stat_activity
WHERE client_addr IS NOT NULL;
Первый запрос возвращает адрес и порт сервера для текущего соединения. При подключении через Unix-сокет он вернёт пустое значение. Второй показывает адреса подключённых клиентов, то есть серверов 1С.
На каких адресах PostgreSQL вообще принимает соединения, задаёт параметр listen_addresses в файле postgresql.conf. Узнать текущее значение: SHOW listen_addresses;. Значение localhost означает, что сервер 1С на другой машине до СУБД не достучится.
Частые вопросы
Можно ли прописать в строке подключения IP вместо имени сервера?
hosts на компьютере клиента.Как узнать IP компьютера пользователя, который сейчас работает в базе?
nslookup <имя компьютера>. Для веб-клиента адрес пользователя смотрят в журнале веб-сервера.У сервера 1С два IP. Какой из них указывать?
netstat -ano | findstr :1541 на сервере: если служба слушает на 0.0.0.0, подойдёт любой доступный клиенту адрес.Как узнать адрес, если база в облаке, например 1С:Фреш?
Почему ping показывает IPv6-адрес вместо привычного?
-4: ping -4 srv1c.