Что это за чушь?


Наверняка задались Вы вопросом при прочтении заголовка. Признаюсь, меня посетили точно такие же мысли при прочтении документации от Штриха к весам Штрих-Принт С.

А случай состоит в следующем, магазин пожаловался, что не идет выгрузка на некоторые весы. Не буду говорить сколько я потратил времени на решение этой проблемы, просто опишу под катом вводные данные и то, что привело к решению проблемы.

Вводные данные


Что мы имеем из исходного? Схема с сетевой точки зрения абсолютно банальная.

  • Подсеть магазина 192.168.1.0/24 с устройствами и маршрутизатором 192.168.1.254 и весами 192.168.1.200
  • Подсеть терминального сервера 192.168.2.0/24 с терминальным сервером 192.168.2.10 и шлюзом для него 192.168.2.254
  • Между роутерами, у которых локальные адреса 192.168.1.254 и 192.168.2.254, поднят туннель на публичных интерфейсах и взаимные статические маршруты на интересующие нас подсети в эти туннели.
  • С терминального сервера 192.168.2.10 не выгружаются данные на 192.168.1.200

Ну что ж. Первым делом проверяю пинг до весов с терминального. Не пингуется. Проверяю доступность весов из сегмента 192.168.1.0/24. Пингуются. Бааа, да тут все банально — шлюз на весах не прописан, вот и не работает ничего.

Необъяснимо, но факт


Захожу в меню весов, и тут меня постигает первый пункт удивления — а там нет настроек шлюза. Совсем нет. Да не может такого быть, открываем документацию:



ARP есть, но устройство пассивное (что такое пассивное устройство с поддержкой IP/UDP вообще?). Но ведь работало. И работает в других магазинах с маршрутизацией. Оказывается, эти весы еще и пингуются и с маршрутизатора 192.168.2.254. И из сегмента 192.168.0.0/24, подключенного тоже к маршрутизатору 192.168.2.254. Таким образом, весы знают MAC маршрутизатора, кадры формируют правильные, но они почему-то теряются именно на пути к терминальному серверу 192.168.2.10.

Что было опробовано? Перезагружались задействованные промежуточные свитчи (неуправляемые, без L3 естественно) сегмента 192.168.2.0/254. Перезагружался роутер 192.168.2.254. Менялся IP адрес на весах на заведомо маршрутизируемый до терминального сервера.

А решается проблема очень просто — перезагрузкой собственно весов.

P.S. Интересно, как ребята из Штриха сделали поддержку в прошивке отправки в другие подсети пакетов, они просто берут тот src MAC, который им пришел и выставляют его как dst? А вся поддержка ARP — это в том смысле, то весы умеют на ARP-запросы отвечать, но не генерировать их?

Комментарии (1)


  1. TeiSinTai
    13.08.2017 14:18

    Я всего раз сталкивался с похожим устройством, у которого то ли не было шлюза по умолчанию, то ли его админ не мог его прописать — но именно тогда я узнал про технологию Proxy arp. Включение её на интерфейсе маршрутизатора, связанного с тупым устройством, решает подобную проблему.