При построении отказоустойчивой и производительной инфраструктуры часто используется классическая трехзвенная схема с физическим разделением ролей: отдельный сервер баз данных под управлением MS SQL Server, выделенный сервер приложений 1С и терминальный сервер RDP для работы пользователей. Разберем по шагам, какие компоненты платформы необходимо установить на терминальном сервере, как распределить ключи аппаратной защиты HASP, какие порты брандмауэра открыть для корректного взаимодействия и как настроить раздачу клиентских лицензий.
Рассмотрим состав компонентов, необходимых для запуска 1С в терминальной сессии. На RDP-сервере работают исключительно пользовательские приложения, поэтому перегружать операционную систему лишними службами не следует.
HASP Device Driver на сервере RDP не требуется. Драйвер защиты необходим только на том физическом или виртуальном компьютере, куда физически подключен USB-ключ или проброшен USB-порт. Поскольку на терминальном сервере ключи отсутствуют, драйвер не выполняет никаких функций.Проанализируем специфику ключей защиты 1С:Предприятия. В наличии имеются серверная лицензия и многопользовательская клиентская лицензия.
rphost) опрашивает его напрямую через установленный локально драйвер HASP. Этот ключ физически подключается непосредственно в USB-порт сервера приложений 1С. По сети серверная лицензия не транслируется.HASP License Manager (HASP LM).ENSR8) и клиентского сетевого USB-ключа (серия ORGL8) в один физический сервер абсолютно безопасна и поддерживается штатно. Аппаратный конфликт возникает исключительно при одновременной установке двух ключей одной и той же серии (например, двух сетевых клиентских ключей).Выясним причину возможных сбоев сетевого взаимодействия при изоляции серверов. В трехзвенной архитектуре потоки данных распределяются строго по уровням.
1433 (для экземпляра по умолчанию). Если используется именованный экземпляр с динамическими портами, также требуется открыть UDP-порт 1434 для службы SQL Server Browser.1540, порт главного менеджера кластера TCP 1541, а также диапазон портов для рабочих процессов rphost — TCP 1560:1591. Если клиенты будут получать лицензии напрямую от HASP License Manager, дополнительно открываем TCP и UDP порт 475.rphost. На сервере RDP обязательно должно работать прямое разрешение имени сервера 1С в правильный IP-адрес через DNS или локальный файл hosts. При ошибках разрешения имен клиенты не смогут подключиться к базам.Рассмотрим два доступных способа раздачи клиентских лицензий и выберем оптимальный вариант для терминальной среды.
Способ 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.