Многие системные администраторы и специалисты 1С сталкиваются с ситуацией, когда инфраструктура компании «перерастает» простые решения. Использование файла hosts для прописывания статических IP-адресов серверов — это классический пример временного решения, которое становится обузой при масштабировании сети. Рассмотрим ситуацию: у вас есть более 50 ноутбуков, разбросанных по городу, и на каждом из них в Windows\system32\drivers\etc\hosts жестко прописан адрес сервера 1С. При переезде сервера или смене провайдера вам придется вручную или через удаленный доступ заходить на каждый компьютер. Разберем, как уйти от этой практики и сделать систему гибкой и управляемой.
Проанализируем самый правильный и профессиональный подход — использование системы доменных имен (DNS). Вместо того чтобы заставлять каждый компьютер хранить локальную таблицу соответствия имен и адресов, мы можем делегировать эту задачу глобальной сети.
Для этого выполним следующие шаги:
server1c.vasha_kompaniya.ru, которая будет указывать на текущий внешний IP-адрес вашего сервера.hosts. В списке баз 1С адрес сервера меняется с Server1C на server1c.vasha_kompaniya.ru.В чем преимущество? Когда сервер переедет на другой IP, вы просто измените одну запись в панели управления доменом. В течение короткого времени (зависит от параметра TTL) все 50 ноутбуков автоматически узнают новый адрес сервера без вашего вмешательства.
Посмотрим на ситуацию со стороны безопасности. Прямая публикация портов 1С (обычно это 1540, 1541, 1560-1591) в интернет — это риск безопасности. Организация VPN (OpenVPN, WireGuard или L2TP) решает сразу две задачи: защиту данных и управление именами.
Разберем процесс:
Server1C) так же, как если бы он находился в офисе.В этом случае файл hosts также становится не нужен, а смена внешнего IP сервера будет волновать только администратора VPN-шлюза.
Если ваша конфигурация работает на управляемых формах, наиболее эффективным методом будет публикация базы на веб-сервере (Apache или IIS). Выясним, почему это удобно:
При использовании веб-сервера клиент 1С обращается к базе не по проприетарному протоколу 1С, а по стандартному протоколу HTTP/HTTPS. Для пользователя адрес базы будет выглядеть как https://1c.kompaniya.ru/my_base.
Рассмотрим использование Reverse Proxy (например, Nginx) в связке с публикацией. Это позволит вам гибко перенаправлять трафик внутри сети. Даже если физический сервер 1С сменит адрес внутри сети, вы просто поправите конфиг Nginx, а внешние пользователи ничего не заметят.
Важно помнить о техническом нюансе работы кластера 1С. Когда клиент подключается к серверу, кластер «отвечает» ему и передает имя рабочего сервера для дальнейшего взаимодействия. Если в консоли администрирования кластера сервер прописан как MainServer (NetBIOS-имя), то удаленный клиент, подключившись по IP, получит команду переключиться на MainServer и «потеряет» связь, так как вне локальной сети это имя не резолвится.
Чтобы решить эту проблему, проанализируем файл 1cv8wsrv.lst (обычно находится в C:\Program Files\1cv8\srvinfo\). В настройках кластера необходимо указывать FQDN-имя (полное доменное имя), которое будет одинаково доступно и изнутри, и снаружи. Либо использовать hosts как временную меру, но уже понимая, что там должно быть прописано именно то имя, которое отдает кластер.
Если вы пока не готовы к переходу на DNS или VPN, разберем способ массового обновления файлов hosts. Вместо ручного обхода можно разослать пользователям простой PowerShell-скрипт, который нужно запустить от имени администратора.
Посмотрим на пример логики такого скрипта:
$hostsPath = "C:\Windows\System32\drivers\etc\hosts"
$oldIp = "123.123.123.123"
$newIp = "124.124.124.124"
$hostName = "Server1C"
$content = Get-Content $hostsPath
$newContent = foreach ($line in $content) {
if ($line -match "$hostName") {
"$newIp`t$hostName"
} else {
$line
}
}
$newContent | Set-Content $hostsPath
Этот скрипт найдет строку с именем вашего сервера и заменит старый адрес на новый. Это значительно быстрее, чем ручная правка текста в блокноте.
Еще один способ управления подключениями — использование общего файла со списком баз. Вы можете разместить файл bases.v8i на веб-сервере. В настройках запуска 1С на ноутбуках укажите ссылку на этот файл. В самом файле .v8i можно указать строку соединения:
Connect=Srvr="server1c.vasha_kompaniya.ru";Ref="base_name";
Если вы измените адрес сервера в этом центральном файле на веб-сервере, при следующем запуске 1С все пользователи автоматически получат обновленные параметры подключения.
Подведем итог: Для 50+ удаленных пользователей оптимальным решением является покупка домена и настройка DNS или использование VPN. Это избавляет от зависимости от файла hosts и позволяет администрировать подключения из одной точки. Публикация через веб-сервер также является современным стандартом для управляемых форм, обеспечивая стабильность и простоту доступа.