MikroTik: проброс broadcast и менеджера лицензий HASP (UDP 475)
Проблема поиска аппаратных USB-ключей HASP между подсетями
Клиентские приложения 1С:Предприятие используют аппаратные USB-ключи защиты Sentinel HASP (Aladdin). По умолчанию менеджер лицензий (HASP License Manager — hasplmv.exe) ищет ключи в локальной сети, рассылая широковещательные Broadcast-запросы на порт UDP 475. Маршрутизаторы по умолчанию не пересылают широковещательный трафик между разными VLAN и подсетями, поэтому клиенты из других офисов или подсетей не видят лицензии.
| Схема сети | Статус ключа HASP | Причина |
|---|---|---|
| Клиент и сервер в одной подсети (L2) | Лицензия найдена успешно | Broadcast пакеты UDP 475 свободно доходят до сервера лицензий |
| Клиент в VLAN 10, Сервер в VLAN 20 (L3) | Ошибка: Не обнаружен ключ защиты программы (H0007) | Маршрутизатор MikroTik отбрасывает L3 широковещательные пакеты |
| Подключение через VPN (L2TP/WireGuard) | Ключ не найден | Туннели 3-го уровня не передают широковещательный трафик без ретрансляции |
Варианты решения проблемы HASP на сетевом оборудовании MikroTik
- Вариант 1 (Рекомендуемый, без изменения сетевой маршрутизации): Настройка nethasp.ini: самый надежный способ — исключить отправку широковещательного трафика и перевести клиентов 1С на прямой Unicast IP-опрос сервера лицензий. Отредактируйте файл
nethasp.iniна клиенте (C:\Program Files\1cv8\conf\nethasp.ini):[NH_COMMON]NH_TCPIP = Enabled[NH_TCPIP]NH_SERVER_ADDR = 192.168.20.50 ; Статический IP-адрес сервера с HASP LMNH_PORT_NUMBER = 475 ; Стандартный порт UDP/TCP 475NH_USE_BROADCAST = Disabled ; Отключение броадкаста - Вариант 2: Проброс и трансляция UDP 475 через DST-NAT в RouterOS: если клиенты жестко шлют запросы на широковещательный адрес своей подсети:
/ip firewall natadd chain=dstnat action=dst-nat to-addresses=192.168.20.50 to-ports=475 protocol=udp dst-address=192.168.10.255 dst-port=475 comment="Redirect HASP Broadcast to Unicast Server"add chain=dstnat action=dst-nat to-addresses=192.168.20.50 to-ports=475 protocol=tcp dst-address=192.168.10.255 dst-port=475 comment="Redirect HASP TCP" - Вариант 3: Объединение удаленных сетей в единый L2-домен через EoIP (Ethernet over IP): для прозрачного прохождения любого броадкаста через туннели:
# На обоих роутерах MikroTik создается туннель EoIP и добавляется в локальный Bridge:/interface eoip add name=eoip-hasp remote-address=X.X.X.X tunnel-id=10/interface bridge port add bridge=bridge-local interface=eoip-hasp - Разрешение правил межсетевого экрана (Forward Filter):
/ip firewall filteradd chain=forward action=accept protocol=udp dst-port=475 comment="Allow HASP UDP 475"add chain=forward action=accept protocol=tcp dst-port=475 comment="Allow HASP TCP 475"
Рекомендация: Всегда отдавайте предпочтение редактированию конфигурационного файла nethasp.ini. Проброс широковещательного L2-трафика через каналы связи и туннели EoIP засоряет полосу пропускания сетевым мусором (ARP, NetBIOS) и снижает стабильность работы удаленных офисов.
Частые вопросы (FAQ)
Какой транспортный протокол использует HASP License Manager: TCP или UDP?
Служба HASP LM использует оба протокола: порт UDP 475 для поиска сервера и передачи первичных контрольных сумм лицензии, и порт TCP 475 для непрерывного удержания сессии клиента.
Что означает ошибка H0007 в 1С?
Код H0007 (HASP LM not found) свидетельствует о том, что клиентская платформа отправила поисковые пакеты, но ни один хост в сети не ответил по порту 475.
Поможет ли настройка DHCP-Option для HASP?
Драйвер Sentinel HASP не поддерживает автоматическое получение адреса сервера лицензий через специализированные опции DHCP, поиск идет только через Broadcast или ini-файл.
Можно ли развернуть два HASP License Manager в одной подсети?
Да, однако для предотвращения конфликтов ключей одинаковой серии (например, двух сетевых ключей на 10 пользователей) каждому серверу необходимо задать уникальное имя в файле nhsrv.ini.