Как настроить сервер 1С для доступа к нему из локальной сети и из интернета одновременно

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

В практике системного администрирования 1С часто возникает ситуация, когда сотрудники должны иметь возможность работать с базой данных как в офисе (через локальную сеть), так и удаленно (из дома или командировки), используя один и тот же ноутбук. При стандартной настройке проброса портов на роутере администраторы часто сталкиваются с ошибкой: server_addr=SERVER descr=11001(0x00002AF9): Этот хост неизвестен. Рассмотрим подробно, почему это происходит и как правильно сконфигурировать систему для стабильной работы в обоих сценариях.

Анализ проблемы: почему прямого проброса портов недостаточно

Проанализируем механизм подключения клиента 1С к серверу. Когда мы указываем в настройках базы адрес сервера (например, внешний IP-адрес роутера), происходит следующее:

  1. Клиентское приложение обращается к менеджеру кластера 1С (обычно порт 1541) по указанному адресу.
  2. Менеджер кластера принимает запрос и «отвечает» клиенту: «Рабочий процесс для этой базы запущен на сервере с именем SERVER, подключайся к нему».
  3. Клиент получает это имя (SERVER) и пытается разрешить его в IP-адрес.

Внутри локальной сети DNS-сервер или файл hosts легко справляются с этой задачей. Однако, когда пользователь находится в интернете, его компьютер ничего не знает об имени SERVER, которое существует только внутри офисного контура. В результате мы получаем ошибку 11001. Нам необходимо добиться того, чтобы имя сервера было одинаково доступно и понятно клиенту в любой точке мира.

Решение 1: Использование FQDN в консоли администрирования

Разберем основной способ решения задачи без использования VPN. Нам нужно использовать «Полное доменное имя» (FQDN), которое будет зарегистрировано в глобальной сети Интернет или имитироваться через DNS-настройки.

Шаг 1. Регистрация доменного имени. Вам потребуется доменное имя, например, 1c.mycompany.ru. На внешнем DNS-сервере (у вашего регистратора) создайте A-запись, указывающую на ваш внешний статический IP-адрес роутера.

Шаг 2. Настройка внутри сети. Чтобы это же имя работало внутри офиса, на локальном DNS-сервере создайте аналогичную зону или запись 1c.mycompany.ru, но укажите для нее внутренний IP-адрес сервера (например, 192.168.1.10). Это называется Split-DNS.

Шаг 3. Изменение имени в кластере 1С. Теперь самое важное. Откроем консоль «Администрирование серверов 1С Предприятия». Перейдем в ветку «Рабочие серверы». В свойствах сервера вместо локального имени SERVER впишем наше новое полное имя 1c.mycompany.ru. После этого перезапустим службу 1С:Предприятия.

Теперь менеджер кластера будет передавать клиенту не короткое имя, а 1c.mycompany.ru. Клиент успешно разрешит это имя в IP-адрес в любой сети и сможет продолжить соединение.

Решение 2: Тонкий клиент через веб-сервер (HTTP/HTTPS)

Если вы не хотите открывать в интернет широкий диапазон портов (1540, 1541, 1560-1591), проанализируем альтернативный и более современный вариант — публикацию базы на веб-сервере (Apache или IIS). Важно понимать, что работа через Тонкий клиент по протоколу HTTP — это не то же самое, что работа в браузере. Пользователь будет видеть привычное окно 1С.

Рассмотрим преимущества этого метода:

  1. Минимум портов: Вам нужно пробросить только один порт (80 для HTTP или 443 для HTTPS).
  2. Безопасность: При использовании HTTPS трафик шифруется сертификатом, что защищает данные от перехвата.
  3. Отсутствие проблем с именами: Тонкий клиент взаимодействует только с веб-сервером. Веб-сервер сам общается с кластером 1С локально, поэтому проблема «неизвестного хоста» SERVER исчезает полностью.

Для реализации этого метода выполните публикацию информационной базы на веб-сервере через конфигуратор (Меню «Администрирование» — «Публикация на веб-сервере»). В строке подключения у клиента теперь будет указываться URL вида https://1c.mycompany.ru/my_base.

Решение 3: Настройка NAT Loopback (Hairpin NAT)

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

Выясним, поддерживает ли ваш роутер функцию NAT Loopback (или Hairpin NAT). Если да, включите её. Это позволит пользователям в офисе обращаться к серверу 1c.mycompany.ru, пакеты будут доходить до роутера и перенаправляться на сервер 1С по правилам Forwarding, как если бы запрос пришел извне.

Дополнительные настройки: nethasp.ini для ключей защиты

При работе через интернет часто возникают задержки с получением лицензии, если используются аппаратные ключи HASP. Посмотрим на пример настройки файла nethasp.ini на стороне клиента для ускорения поиска ключа:


[NH_TCPIP]
NH_SERVER_ADDR = 1c.mycompany.ru
NH_TCPIP_METHOD = TCP
NH_USE_BROADCAST = Disabled

Прописывание конкретного адреса и отключение широковещательного поиска (Broadcast) существенно сокращает время запуска программы при нестабильном интернет-соединении.

Безопасность при прямом доступе

Выставлять порты 1540-1541 напрямую в интернет крайне небезопасно. Проанализируем риски: злоумышленники могут использовать уязвимости протокола 1С для подбора паролей или проведения DoS-атак. Если вы все же используете этот метод, обязательно:

Подводя итог, можно сказать, что наиболее стабильным и правильным решением является либо использование VPN-соединения, либо публикация базы через веб-сервер по протоколу HTTPS. Прямой проброс портов с использованием FQDN допустим только как временная мера или в очень ограниченных условиях эксплуатации.

← На главную