К статье
Практический материал

Администрирование · 10 мин

Где находится файл hosts и как его настроить для работы 1С

Где находится файл hosts в Windows и Linux, зачем он нужен для 1С, как открыть и отредактировать его для подключения к серверу 1С и лицензиям.

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

Сам файл hosts никак не связан с платформой 1С — это стандартный системный файл операционной системы. 1С лишь использует его косвенно: когда толстый или тонкий клиент обращается к серверу по имени (например, server1c), операционная система сначала проверяет hosts и только потом отправляет запрос к DNS. Если в hosts есть нужная запись, соединение устанавливается напрямую по указанному IP.

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

Где находится файл hosts в Windows

Во всех актуальных версиях Windows (7, 8, 10, 11, а также серверных редакциях) файл hosts расположен по одному и тому же пути: C:\Windows\System32\drivers\etc\hosts. Буква системного диска может отличаться, если Windows установлена не на диск C, но в подавляющем большинстве случаев путь именно такой.

Быстрый способ попасть в папку — нажать Win+R, ввести строку %SystemRoot%\System32\drivers\etc и нажать Enter. Проводник откроет каталог, где среди прочих файлов (networks, protocol, services) находится hosts. У файла нет расширения, поэтому Windows может предлагать выбрать программу для открытия — подойдёт обычный Блокнот.

Если файла hosts в папке нет вообще, это ненормально, но не критично: его можно создать вручную как обычный текстовый файл без расширения. Отсутствие файла иногда является следствием работы антивируса или неудачной «оптимизации» системы сторонними утилитами.

Где находится hosts в Linux и на сервере 1С под Linux

В дистрибутивах Linux, на которых часто разворачивают сервер 1С:Предприятия и СУБД PostgreSQL, файл hosts находится по адресу /etc/hosts. Это стандартный путь для Debian, Ubuntu, CentOS, ALT Linux и других систем.

Для просмотра достаточно команды cat /etc/hosts, для редактирования — sudo nano /etc/hosts или любой другой редактор с правами суперпользователя. После сохранения перезагрузка не требуется: система читает файл при каждом разрешении имени.

На Linux-сервере 1С hosts играет дополнительную роль: в него рекомендуется прописывать собственное имя сервера с его реальным IP-адресом. Если имя сервера разрешается в 127.0.0.1, агент сервера 1С или СУБД могут некорректно регистрировать подключения, и клиенты получат ошибки соединения даже при исправной сети.

Зачем 1С нужен файл hosts: типовые сценарии

Первая и самая распространённая ситуация — клиент не находит сервер 1С по имени. В списке информационных баз кластер указан как server1c, но в локальной сети нет DNS-сервера, который знал бы это имя. Клиент получает ошибку «сервер не обнаружен» или «ошибка соединения с сервером». Запись в hosts решает проблему за минуту.

Второй сценарий — сервер лицензий 1С (HASP или программные лицензии через сервер 1С). Менеджер лицензий ищется клиентами по имени машины; если разрешение имён не работает, 1С сообщает, что лицензия не найдена. Аналогичная запись в hosts на каждом клиенте либо настройка DNS снимает проблему.

Третий сценарий — тестовые и миграционные задачи. Когда базу временно переносят на другой сервер, администратор может направить старое имя на новый IP через hosts на отдельных машинах, не трогая общую сетевую инфраструктуру. Удобно для проверки перед окончательным переключением.

Ошибка «сервер не обнаружен»Имя не разрешается в IP

Проверьте ping по имени сервера: если «не удается обнаружить», hosts поможет

Лицензия не найденаКлиент не видит сервер лицензий

Проверьте ping по имени машины с менеджером лицензий

Ping по IP работает, по имени — нетПроблема именно в разрешении имён

Добавьте запись в hosts или настройте DNS

Ping по имени работает, но 1С не подключаетсяПроблема не в hosts

Проверяйте порты, брандмауэр и службу агента сервера

Как открыть и отредактировать hosts в Windows

Файл hosts защищён системой, поэтому обычное двойное открытие и сохранение не сработает — Блокнот либо откажет в сохранении, либо предложит сохранить копию. Нужен запуск редактора с повышенными правами.

Порядок редактирования hosts в Windows
  1. 1
    Откройте меню «Пуск», введите «Блокнот», щёлкните по нему правой кнопкой и выберите «Запуск от имени администратора»
  2. 2
    В Блокноте выберите «Файл → Открыть» и перейдите в C:\Windows\System32\drivers\etc
  3. 3
    В поле типа файлов переключите «Текстовые документы» на «Все файлы», иначе hosts не будет виден
  4. 4
    Откройте hosts и добавьте в конец строку вида: 192.168.0.10 server1c (IP и имя вашего сервера)
  5. 5
    Сохраните файл через Ctrl+S — Блокнот не должен предлагать выбрать место сохранения
  6. 6
    Проверьте результат командой ping server1c в командной строке

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

text
192.168.0.10 server1c
192.168.0.10 server1c.local
192.168.0.15 lic-srv # сервер лицензий 1С

После сохранения новые записи обычно подхватываются сразу. Если имя по-прежнему не разрешается, выполните в командной строке ipconfig /flushdns — это очистит кэш DNS-клиента Windows, где могла остаться старая отрицательная запись.

Проверка результата и диагностика

Основной способ проверки — команда ping имя_сервера. Если в ответе указан тот IP, который вы прописали в hosts, запись работает. Затем стоит проверить доступность портов сервера 1С (по умолчанию агент использует порт 1540, рабочие процессы — диапазон 1560–1591) командой telnet server1c 1540 или через PowerShell: Test-NetConnection server1c -Port 1540.

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

Контрольные точки

Как проверить результат

ping server1c
Норма

Ответы от IP, указанного в hosts

Тревожный признак

«Не удается обнаружить узел» или другой IP

Имя файла в папке etc
Норма

Файл называется hosts без расширения

Тревожный признак

Файл называется hosts.txt — запись не работает

Test-NetConnection server1c -Port 1540
Норма

TcpTestSucceeded: True

Тревожный признак

False — проверяйте брандмауэр и службу агента 1С

Запуск 1С и открытие базы
Норма

База открывается без ошибок соединения

Тревожный признак

Ошибка соединения сохраняется — проблема не в разрешении имён

Типичные ошибки при работе с hosts

Типичные ошибки
01
Сохранение файла как hosts.txt — Блокнот добавляет расширение автоматически, если открыт не с правами администратора через «Все файлы»
02
Перепутанный порядок: имя перед IP вместо «IP имя» — такая строка игнорируется
03
Запись добавлена на сервере, а проблема на клиенте — hosts действует только на той машине, где отредактирован
04
Лишние пробелы или символ # перед строкой — запись закомментирована и не работает
05
Правка hosts вместо устранения реальной причины: недоступного порта, остановленной службы агента сервера или блокировки брандмауэром
06
Старый IP в записи после смены адреса сервера — клиенты «залипают» на недоступный адрес, хотя сеть исправна

Отдельно стоит сказать про антивирусы: некоторые защитные решения контролируют hosts и блокируют его изменение или откатывают правки. Если запись исчезает после перезагрузки, проверьте журнал антивируса и добавьте исключение либо временно отключите защиту файла на время настройки.

Альтернативы: когда hosts — не лучшее решение

Файл hosts удобен для двух-пяти машин, но в сети с десятками клиентов править его на каждом компьютере нерационально: при смене IP сервера придётся обходить все рабочие места. В таких случаях правильнее поднять локальный DNS-сервер (например, на контроллере домена или роутере с поддержкой статических записей) и внести имя сервера 1С туда один раз.

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

Маршрут решения

Как выбрать подход

Клиентов 1–3 и сеть без DNSПропишите запись в hosts на каждом клиенте — это быстрее всего
Клиентов больше десятка или адреса периодически меняютсяНастройте локальный DNS-сервер с записью для сервера 1С
Нужно временно проверить подключение к новому серверуИспользуйте hosts на одной тестовой машине, не трогая остальные
Имя разрешается, но соединения нетHosts не поможет — проверяйте порты 1540–1591, брандмауэр и службу агента сервера 1С
Итог

Что важно запомнить

Файл hosts находится в C:\Windows\System32\drivers\etc (Windows) и /etc/hosts (Linux). Для 1С в него добавляют строку «IP имя_сервера», редактируют с правами администратора, а результат проверяют ping и подключением к порту 1540. При большом числе клиентов вместо hosts используют локальный DNS.

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

Почему после правки hosts 1С всё равно не видит сервер?

Чаще всего файл сохранился как hosts.txt, запись закомментирована символом # или проблема вообще не в разрешении имён. Проверьте ping по имени сервера: если имя разрешается в правильный IP, ищите причину в брандмауэре, закрытых портах 1540–1591 или остановленной службе «Агент сервера 1С:Предприятия».

Нужно ли перезагружать компьютер после изменения hosts?

Нет, перезагрузка не требуется. Файл читается системой при каждом запросе разрешения имени. Если старое имя «залипло», достаточно выполнить ipconfig /flushdns в командной строке, чтобы очистить кэш DNS-клиента Windows.

Можно ли указать в hosts несколько имён для одного сервера 1С?

Да. Перечислите имена через пробел в одной строке: «192.168.0.10 server1c server1c.local srv-1c». Все перечисленные имена будут разрешаться в указанный IP-адрес, что удобно, если разные базы или службы обращаются к серверу по-разному.

Где находится hosts на терминальном сервере с 1С?

Путь тот же — C:\Windows\System32\drivers\etc\hosts.

Влияет ли файл hosts на работу веб-клиента и публикации 1С?

Влияет косвенно. Веб-сервер (IIS или Apache) и браузер используют те же механизмы разрешения имён ОС, поэтому запись в hosts на машине с веб-сервером поможет ему найти кластер 1С по имени. На стороне браузера пользователя hosts тоже работает, если адрес публикации задан именем.

Опасно ли редактировать hosts и можно ли всё сломать?

Сама правка безопасна, если добавлять новые строки и не трогать существующие. Удаление записи «127.0.0.1 localhost» может нарушить работу системных служб и сервера 1С. Перед изменениями сохраните копию файла — тогда откат займёт меньше минуты.