Утилита мониторинга состояний УТМ ЕГАИС для маршрутизаторов Mikrotik



Программа позволяет контролировать подключение и работоспособность службы транспорта клиентов (магазинов с УТМ ЕГАИС)  для маршрутизатора, коммутатора Mikrotik под управлением RouterOS

    Идея написания данной программы возникла после внедрения в нашу розничную сеть торговлей алкогольной продукцией (АП) системы ЕГАИС.

    Задача такова. У нас имеется сеть розничных магазинов с установленнными УТМ и ОС Windows.  Было решено, что подтверждение, отказ или расхождение закупок АП производится не в самом магазине оператором, приемщиком или продавцом, а в центральном офисе фирмы. Магазин сообщает центру что не доехало, какая разбилась бутылка и т.д. и центр принимает решение что делать дальше и совершает соответствующую операцию в ЕГАИС. Операции с ЕГАИС решили не доверять сотрудникам подразделения. С 01.07.2024 их задача сведется только к продаже АП через 2D сканер.  Центральный офис должен получить доступ к каждому УТП магазина.

    Так кто же подключился? У кого работает или остановилась служба транспорта?

    Согласно требованиий Росалкогольрегулирования для ЕГАИС УТМ должно быть установлено в каждом обособленном подразделении. Таким образом у центру должены быть подключены все торговые точки. В центре установлена конфигурация 1С: Управление торговлей алкогольной продукцией, в которой заведено n-количество транспортных модулей магазинов и все операции  подтверждения/расхождения совершаются через нее.  Какая управляющая система не имеет никакого значения.

     Подключение к центру магазинов было решено с использованием технологии VPN. Торговая точка самостоятельно или в автоматическом режиме подключается к центру. Маршрутизацию трафика для VPN в каждой торговой точке придется настраивать (это отделная публикация и в ней нет ничего сложного). Также необходимо в брандмауре windows открыть порт (по умолчанию 8080) .

     В техническом плане имеется коммутатор 3-го уровня CRS125-24G-1S-RM  с операционной системой RouterOS. Модель коммутатора не имеет значение как я думаю, главное что ОС RouterOS. У коммутаторов Mikrotik имеется замечательная функция как PPTP-сервер, к которой мы и будем подключаться. В процессе изучения коммутатора выяснилось, что у него имеется API, которое по умолчанию выключено. Т.е. через API можно контролировать подключения VPN-клиентов.

     Исходя из задач, была написана данная утилита. Что она делает? Она хранит список торговых точек с УТМ и получает посредством  API коммутатора список активных VPN-подключений. Также утилита контролирует работоспособность службы транспорта. Остановлена она или нет. 

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

     В настройке нет ничего сложного. Устанавливаем параметры подключения к коммутатору. Не забываем включить API на Mikrotik’e. Добавляем новую УТМ, указываем ip-адрес клиента VPN и порт.

     Мониторим и радуемся.

     P.S. Это моя первая публикация. Не судите строго. Принимаются все пожелания и вопросы. 

4 Comments

  1. shibanovan

    Расскажите, почему выбрали pptp?

    Просто тоже решали задачу связи филиалов, от pptp отказались по причине уязвимости протокола

    Reply
  2. popovalex

    Использование протокола pptp у нас «исторически сложилось». Согласен что он уязвим. В ближайшем будущем переведу на L2TP или OpenVPN. Mikrotik эти протоколы также поддерживает.

    Reply
  3. Green87

    Добрый день! Вы не могли бы дать небольшую инструкцию по настройке утилиты

    Reply
  4. popovalex

    1) Для начала нужно включить API на Mikrotike. Заходим через WinBox IP->Services->API-Enable.

    2) Настраиваем подключения pptp. Активируем pptp-сервер РРР->Intrface нажимаем кнопку РРTP Server — Enabled.

    В закладке Secrets добавляем пользователей. Name- это логин, password-пароль, service- pptp, Local address например 192.168.5.1 (указываем для всех пользователей ), Remote address — это уникальный IP который будет назначаться подключившемуся клиенту т. е. они будут для 1-ого пользователя 192.168.5.2, 192.168.5.3 для 2-го, 192.168.5.4 для 3-го и т.д. Эти IP-адреса мы будем указывать для каждого УТМ к настройке утилиты.

    Также необходимо разрешить использование порта 1723 в закладке Firewall.

    3) Настраиваем стандартное подключение VPN в Windows в каждой удаленной точке. Необходимо знать ip-адрес вашего микротика в сети интернет. Указываем адрес сервера, логин и пароль. Подключаемся. В настройке VPN подключения можно указать что тип VPN PPTP. Также рекомендую пустить внешний трафик мимо VPN. Вот здесь написано как это сделать http://elwood.su/2013/07/%d0%bf%d1%83%d1%81%d0%ba%d0%b0%d0%b5%d0%bc-%d0%b2%d0%bd%d0%b5%d1%88%d0%bd%d0%b8%d0%b9-%d1%82%d1%80%d0%b0%d1%84%d1%84%d0%b8%d0%ba-%d0%bc%d0%b8%d0%bc%d0%be-vpn/

    4) Во встроенном брандмауре виндовс разрешаем входящие и исходящие подключения по порту 8080 (если УТМ работает на стандартном порту 8080) .

    5) Проверяем подключение. В центре на сервере при вводе в браузере вводим адрес удаленного подключенного компьютера, например, 192.168.5.2:8080 и видим страницу соответствующего транспортного модуля.

    6) Настраиваем саму утилиту. Запускаем ее. При первом запуске предлагается ввести параметры подключения к маршрутизатору. Указываем IP mikrotika логин и пароль. Интервалы оставьте пока как есть. Потом можете с ними «поиграться» . Если подключение произошло успешно, то откроется главное окно. Сверху есть кнопка добавления УТМ. Добавляем УТМы. Вводим наименование , адрес (например 192.168.5.2) и порт (стандартный 8080).

    Должно все работать. Я у себя тестирую — работает.

    Есть замечания по поводу безопасности — это верно. Принимаю замечания.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *