Компания «МониторингПро» занимается удалённым мониторингом промышленного оборудования: датчики температуры, давления, вибрации на предприятиях клиентов. У них 200+ устройств (Raspberry Pi 4 и Orange Pi 5), установленных в сетях заказчиков.
Главная проблема: устройства находятся за NAT клиентских сетей, и «МониторингПро» не контролирует сетевую инфраструктуру. Получить белый IP или проброс порта — переговоры на недели, а у некоторых клиентов сеть за CG-NAT оператора.
Типы NAT, с которыми мы столкнулись:
- Full Cone NAT (15% клиентов) — самый простой: любой внешний хост может отправить пакет на открытый порт. UDP hole punching работает тривиально.
- Restricted Cone NAT (40%) — внешний хост должен совпадать с тем, куда отправлялся исходящий пакет. Hole punching работает при координации через сервер.
- Port Restricted Cone NAT (30%) — проверяется и IP, и порт. Hole punching работает, но сложнее.
- Symmetric NAT (15%) — для каждой пары (внутренний, внешний) создаётся уникальный mapping. Hole punching не работает. Нужен relay.
Задача: обеспечить стабильный SSH-доступ к каждому устройству и передачу телеметрии (MQTT) с минимальной задержкой, без требований к сетевой инфраструктуре клиента.
Оставить комментарий