Доступ к веб-панели устройства за NAT

Время · ~5 мин Уровень · Начальный Для · роутеров / NAS / IoT / BMC

Роутеры, коммутаторы, NAS, IP-камеры, ПЛК, принтеры, BMC/IPMI серверов — почти у каждого устройства есть веб-админка, и почти ни одну из них не стоит выставлять в интернет. С LRO вы добираетесь до этой панели из своего браузера, через зашифрованный туннель, а устройство остаётся там, где ему и место: в своей частной сети, невидимое снаружи.

Само устройство обычно не может запустить агент — поэтому агент Client запускается на любой машине в той же сети, что и устройство (небольшой сервер, Raspberry Pi, NAS), и добирается до устройства по локальной сети. Ваш компьютер — это сторона Support. Впервые здесь? Начните с вашего первого туннеля; не уверены, какая сторона есть какая — см. выбор роли агента.
  1. Узнайте адрес устройства с машины в его сети

    С машины, на которой будет работать агент-клиент, убедитесь, что она дотягивается до веб-панели устройства. Адрес устройства — это тот, по которому к нему обращается эта машина: LAN-IP устройства (например, 192.168.1.1) или 127.0.0.1, если панель работает на самой машине с агентом.

    $ curl -sI http://192.168.1.1/ # the router admin, reachable on the LAN

    Эта машина запускает агент LRO в режиме Client; ваш компьютер запускает его в режиме Support.

  2. Добавьте эндпоинт устройства на агенте-клиенте

    В панели: Endpoints → Create endpoint (Эндпоинты → Создать эндпоинт). Выберите агента-клиента, назовите его, например Edge Router admin, и задайте target как адрес устройства с точки зрения агента — LAN-IP устройства или 127.0.0.1, когда панель на самой машине с агентом — и port панели (80, 443, 8080…).

    Endpoints list with an Edge Router admin endpoint on the client agent pointing at 127.0.0.1:8080
    Рис. 1. Эндпоинт устройства на агенте-клиенте — здесь панель работает на самой машине с агентом (127.0.0.1:8080); для отдельного устройства используйте его LAN-IP.
  3. Откройте туннель со своей машины

    Tunnels → Add tunnel (Туннели → Добавить туннель). Выберите свой компьютер как агента support, укажите эндпоинт Edge Router admin и задайте локальный порт (например, 8080). Создайте его; через мгновение он станет Active.

    Tunnels table with an active tunnel from lab-server to admin-laptop listening on 0.0.0.0:8080
    Рис. 2. Активный туннель — ваша машина слушает на 8080 и пересылает на панель устройства.
  4. Откройте панель в своём браузере

    Перейдите на http://127.0.0.1:8080 на своём компьютере. Админка устройства загрузится через туннель, полностью интерактивная — войдите, меняйте настройки, читайте статус, ровно так, будто вы в его локальной сети:

    A device admin web panel (EdgeNode router) loaded in the browser through the LRO tunnel, showing system status and interfaces
    Рис. 3. Веб-панель удалённого устройства, в вашем браузере через туннель — её веб-порт ни разу не покинул частную сеть.

    HTTPS-панели работают так же — перейдите на https://127.0.0.1:<port> (возможно, придётся принять самоподписанный сертификат устройства, как и в его локальной сети).

Заметки

Управляйте каждым устройством на удалённой площадке — из одного браузера, ничего не выставляя наружу.

Создать аккаунт →