Работа с контрольно-кассовой техникой (ККТ) в терминальной среде часто сопряжена с техническими сложностями, особенно когда речь идет о современных аппаратах «Штрих-М», использующих технологию RNDIS. Этот метод эмулирует сетевое подключение через USB-кабель, что позволяет передавать данные по протоколу TCP/IP. Однако такая связка часто оказывается нестабильной: проброс портов «отваливается», IP-адреса меняются, а служба общего доступа Windows (ICS) перестает транслировать пакеты на сервер.
В данной статье мы подробно разберем, как настроить стабильную работу одной или нескольких касс, подключенных к локальному компьютеру и проброшенных на сервер терминалов под управлением Windows Server 2016 или аналогичных систем. Мы проанализируем причины сбоев и внедрим пошаговые решения для обеспечения бесперебойной печати чеков.
Когда мы подключаем ККТ «Штрих-М» через USB в режиме RNDIS, в системе появляется новый сетевой адаптер. По умолчанию Windows пытается использовать службу Internet Connection Sharing (ICS) для предоставления этому адаптеру доступа к сети. Рассмотрим стандартную схему: касса получает виртуальный адрес (обычно из диапазона 192.168.137.x), а компьютер выступает в роли шлюза. Основная проблема заключается в том, что после перезагрузки компьютера или сервера настройки «шаринга» (общего доступа) часто сбрасываются, хотя визуально в интерфейсе галочка может стоять.
Если к одному компьютеру подключено несколько касс, операционная система может запутаться в распределении адресов. Разберем по шагам, как правильно развести устройства:
192.168.137.111, для второй — 192.168.137.112.255.255.255.0, а шлюз — 192.168.137.1 (это будет адрес вашего локального ПК).192.168.137.2, для второй — 192.168.137.3 и так далее. Это предотвратит самопроизвольное изменение адресов при перезагрузке.Выясним причину, по которой «расшаривание» порта перестает работать через некоторое время. В Windows Server 2016 и Windows 10 служба SharedAccess (Общий доступ к подключению к Интернету) часто инициализируется раньше, чем успевают подняться виртуальные USB-адаптеры. Рассмотрим, как принудительно заставить систему сохранять настройки.
Для этого нам потребуется внести изменения в системный реестр. Проанализируем следующие параметры:
Win + R, введите regedit.HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\SharedAccess.EnableRebootPersistConnection и установите значение 1.Кроме того, рекомендуется изменить тип запуска службы. Зайдем в services.msc, найдем «Общий доступ к подключению к Интернету (SharedAccess)» и установим тип запуска «Автоматически (отложенный запуск)». Это даст время USB-устройствам определиться в системе.
Если стандартный механизм Windows «Разрешить другим пользователям сети использовать подключение» работает нестабильно, рассмотрим более профессиональный метод — использование команды netsh. Этот способ позволяет жестко перенаправить трафик с порта локального компьютера на IP-адрес кассы.
Допустим, адрес вашей кассы 192.168.137.111, а порт по умолчанию 7778. Мы хотим, чтобы сервер терминалов обращался к вашему ПК по его физическому адресу (например, 192.168.1.50) на порт 7778, а запрос уходил на кассу. Выполним команду в командной строке от имени администратора:
netsh interface portproxy add v4tov4 listenaddress=192.168.1.50 listenport=7778 connectaddress=192.168.1.111 connectport=7778
Преимущество этого метода в том, что он работает на более низком уровне системы и не зависит от графического интерфейса «общего доступа» сетевых подключений.
Часто проброс порта перестает работать из-за того, что сервер или ПК «усыпляет» USB-порт для экономии энергии. Проанализируем состояние диспетчера устройств:
Проанализируем ситуацию, когда физически связь есть, но пакеты блокируются. При использовании RNDIS Windows часто классифицирует новое подключение как «Общественная сеть» (Public), где порты закрыты по умолчанию.
Необходимо создать явное правило для входящих соединений:
7778 (или того порта, который вы указали в таблицах ККТ).Если вышеописанные методы кажутся слишком сложными или не обеспечивают нужной стабильности, рассмотрим использование специализированного ПО. Компания «Штрих-М» разработала компоненту RDP Extension. Она работает по аналогии с пробросом принтеров: на локальный ПК устанавливается клиентская часть, на сервер — серверная. Касса пробрасывается внутри RDP-канала, что полностью снимает вопросы с IP-адресацией и настройкой ICS. Это наиболее современный и рекомендуемый способ для работы в терминальных сессиях.
Подведем итог: для стабильной работы необходимо обеспечить статичность IP-адресов в таблицах ККТ и настройках Windows, применить твик реестра для службы SharedAccess и отключить экономию энергии на USB-портах. Совместное применение этих мер позволит забыть о проблемах с «отвалами» касс в начале рабочего дня.