Как правильно настроить трехсерверную архитектуру: MS SQL, Сервер 1С и Сервер RDP

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

При построении отказоустойчивой и производительной инфраструктуры часто используется классическая трехзвенная схема с физическим разделением ролей: отдельный сервер баз данных под управлением MS SQL Server, выделенный сервер приложений 1С и терминальный сервер RDP для работы пользователей. Разберем по шагам, какие компоненты платформы необходимо установить на терминальном сервере, как распределить ключи аппаратной защиты HASP, какие порты брандмауэра открыть для корректного взаимодействия и как настроить раздачу клиентских лицензий.

1. Установка компонентов платформы на RDP-сервере

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

  1. Клиентские приложения: при установке платформы 1С:Предприятие выбираем только компоненты клиентской части — «1С:Предприятие 8» (толстый клиент) и «Тонкий клиент».
  2. Исключаемые компоненты: снимаем отметки с установки сервера 1С:Предприятия, модулей расширения веб-сервера, утилит администрирования кластера и сервера хранилища конфигураций. Они на терминале не нужны.
  3. Драйвер аппаратной защиты: устанавливать HASP Device Driver на сервере RDP не требуется. Драйвер защиты необходим только на том физическом или виртуальном компьютере, куда физически подключен USB-ключ или проброшен USB-порт. Поскольку на терминальном сервере ключи отсутствуют, драйвер не выполняет никаких функций.

2. Физическое размещение аппаратных ключей защиты HASP

Проанализируем специфику ключей защиты 1С:Предприятия. В наличии имеются серверная лицензия и многопользовательская клиентская лицензия.

  1. Ключ сервера 1С:Предприятия: данный ключ является строго локальным. Служба кластера серверов (в частности, рабочий процесс rphost) опрашивает его напрямую через установленный локально драйвер HASP. Этот ключ физически подключается непосредственно в USB-порт сервера приложений 1С. По сети серверная лицензия не транслируется.
  2. Сетевой клиентский ключ: подключается также в сервер приложений 1С (либо на любой другой выделенный сервер в локальной сети). На этой машине обязательно устанавливается и запускается служба HASP License Manager (HASP LM).
  3. Совместимость ключей: установка серверного USB-ключа (серия ENSR8) и клиентского сетевого USB-ключа (серия ORGL8) в один физический сервер абсолютно безопасна и поддерживается штатно. Аппаратный конфликт возникает исключительно при одновременной установке двух ключей одной и той же серии (например, двух сетевых клиентских ключей).

3. Настройка сетевого взаимодействия и брандмауэра

Выясним причину возможных сбоев сетевого взаимодействия при изоляции серверов. В трехзвенной архитектуре потоки данных распределяются строго по уровням.

  1. Взаимодействие «RDP-сервер → MS SQL»: прямой трафик полностью отсутствует. Клиентское приложение на терминале никогда не обращается к серверу баз данных напрямую — все операции с СУБД выполняет исключительно сервер 1С. Открывать доступ от терминала к SQL Server не требуется.
  2. Взаимодействие «Сервер 1С → MS SQL»: сервер приложений обращается к порту экземпляра СУБД. На сервере MS SQL необходимо открыть входящий TCP-порт 1433 (для экземпляра по умолчанию). Если используется именованный экземпляр с динамическими портами, также требуется открыть UDP-порт 1434 для службы SQL Server Browser.
  3. Взаимодействие «RDP-сервер → Сервер 1С»: на стороне сервера 1С необходимо открыть главный порт агента кластера TCP 1540, порт главного менеджера кластера TCP 1541, а также диапазон портов для рабочих процессов rphost — TCP 1560:1591. Если клиенты будут получать лицензии напрямую от HASP License Manager, дополнительно открываем TCP и UDP порт 475.
  4. Разрешение сетевых имен (DNS/NetBIOS): при подключении к кластеру клиент сначала опрашивает менеджер, который сообщает сетевое имя (hostname) сервера для подключения к процессу rphost. На сервере RDP обязательно должно работать прямое разрешение имени сервера 1С в правильный IP-адрес через DNS или локальный файл hosts. При ошибках разрешения имен клиенты не смогут подключиться к базам.

4. Варианты и тонкости раздачи клиентских лицензий

Рассмотрим два доступных способа раздачи клиентских лицензий и выберем оптимальный вариант для терминальной среды.

Способ 1. Получение лицензии напрямую клиентом через HASP LM (Рекомендуемый для RDP)

При прямом сетевом запросе к HASP LM один сетевой ключ закрепляется за всей сессией пользователя на терминальном сервере. Пользователь в рамках своего терминального сеанса может запускать неограниченное количество баз и окон 1С, расходуя при этом строго одну клиентскую лицензию.

Чтобы ускорить запуск 1С и исключить зависания при поиске ключа широковещательным запросом по подсети, настроим конфигурационный файл nethasp.ini. Файл размещается в каталоге платформы на RDP-сервере (например, C:\Program Files\1cv8\conf\nethasp.ini или в подпапке конкретного релиза bin\conf).

Отредактируем параметры подключения:

В секции [NH_COMMON] отключаем неиспользуемые сетевые протоколы, оставив только TCP/IP:

NH_TCPIP = Enabled
NH_IPX = Disabled
NH_NETBIOS = Disabled

В секции [NH_TCPIP] отключаем широковещательную рассылку и явно указываем IP-адрес сервера 1С, на котором работает служба HASP LM:

NH_USE_BROADCAST = Disabled
NH_SERVER_ADDR = 192.168.1.10

Где 192.168.1.10 — реальный IP-адрес сервера приложений 1С с установленным сетевым ключом.

Способ 2. Раздача лицензий сервером приложений 1С

Этот способ активируется в свойствах информационной базы в консоли администрирования кластера («Разрешить выдачу лицензий сервером 1С:Предприятия» = «Да»). В этом случае клиент не ищет HASP LM, а запрашивает лицензию у сервера приложений.

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

← На главную