Ваш первый туннель за 5 минут

Время · ~5 мин Уровень · Начальный Понадобится · аккаунт + машина, к которой нужен доступ

К концу этого гайда вы получите доступ к сервису — веб-панели администратора, демону SSH, базе данных — работающему на удалённой машине, прямо со своего компьютера. Без входящих портов, без проброса портов, без VPN. Удалённой машине достаточно обычного исходящего доступа в интернет.

Два агента, две роли

Туннель всегда соединяет двух агентов LRO, и важно, какую роль играет каждый из них:

Поток такой: вы → локальный порт агента-саппорта → ядро LRO → агент-клиент → целевой сервис. То есть машина, с которой вы подключаетесь, работает в роли Support, а машина, в которую вы заходите, — в роли Client. Обе машины устанавливают исходящее соединение к LRO; реле между ними зашифровано end-to-end.
  1. Создайте аккаунт

    Откройте app.lro.link/signup. Используйте Create account (создать аккаунт) со своим email или By invite (по приглашению), если коллега прислал вам код. Примите Условия и войдите.

    LRO sign-up form with Create account and By invite tabs
    Рис. 1. Форма регистрации — email, пароль и необязательный реферальный код.
  2. Установите агента на обеих машинах

    На Linux или macOS выполните однострочную команду на каждой машине — на удалённой, где размещён сервис, и на компьютере, с которого вы будете подключаться:

    $ curl -fsSL https://lro.link/install.sh | sh

    Откроется интерактивное меню. Выберите 1) Install / update binary. (Для Windows или офлайн-установки скачайте архив для вашей платформы из панели — раздел Download agent.)

    The install.sh interactive menu in a terminal
    Рис. 2. Меню установщика. Это же меню регистрирует агента и устанавливает его как службу.
  3. Зарегистрируйте клиента и саппорта

    В панели перейдите в Agents (агенты) и нажмите Register (зарегистрировать). Назовите агента и выберите его mode (режим):

    • На удалённой машине, где размещён сервис, выберите Client (remote network).
    • На своём компьютере выберите Support (tech specialist).

    (Доступен также режим Dual, когда одна машина должна играть обе роли.)

    Register new agent dialog with name and mode fields
    Рис. 3. Регистрация нового агента — задайте имя и выберите Client, Support или Dual.

    Нажмите Get token (получить токен). Панель покажет короткий регистрационный токен и будет ждать, пока агент выйдет на связь.

    Registration token dialog showing a numeric token and Waiting for agent registration
    Рис. 4. Одноразовый регистрационный токен. Панель ждёт, пока агент отметится.

    На машине вставьте токен в меню установщика — 2) Register agent — или из командной строки:

    $ lro -t <your-token>

    Если вместо консольного агента вы используете десктоп-приложение, вставьте токен в Settings → Registration (настройки → регистрация) и нажмите Register:

    LRO desktop agent Settings dialog with a token field and Register button
    Рис. 5. Десктоп-агент — вставьте тот же токен в Settings → Registration.

    Сделайте это на обеих машинах, каждая со своим токеном. После этого оба агента появятся в Agents как Connected (подключены), один в режиме Client, другой в режиме Support.

    Agents table showing a Client agent and a Support agent, both Connected
    Рис. 6. Оба агента онлайн — хост сервиса в режиме Client, ваш компьютер в режиме Support.
  4. Оформите подписку для агента-клиента

    Клиентскому агенту — той стороне, которая открывает туннели и за чей трафик начисляется оплата — нужна активная подписка; у только что созданного агента отображается No subscription (нет подписки), и он не может открывать туннели, пока её не получит. Пополните баланс в разделе My balance (мой баланс), откройте клиентского агента, перейдите на его вкладку Billing (биллинг), выберите Subscribe to plan (подписаться на тариф), выберите тариф и подтвердите списание. Агенту-саппорту собственная подписка не нужна.

    Подписка поддерживает клиентского агента активным и включает небольшой пакет трафика. Трафик сверх пакета тарифицируется побайтно (примерно 0.1 coin за ГБ). Интерактивный SSH или веб-панель практически бесплатны; на счёт заметно влияют только крупные передачи.
  5. Опишите сервис как эндпоинт — на клиенте

    Перейдите в Endpoints → Create endpoint (эндпоинты → создать эндпоинт). Выберите клиентского агента (удалённую машину), задайте имя и укажите target (цель) и port (порт) — адрес, на котором сервис слушает с точки зрения этой машины (для сервиса на той же машине это обычно 127.0.0.1).

    Add endpoint dialog with agent, name, target and port fields
    Рис. 7. Эндпоинт — это «какой сервис, на каком клиентском агенте» — здесь веб-приложение на 127.0.0.1:8000.
  6. Откройте туннель и подключитесь

    Перейдите в Tunnels → Add tunnel (туннели → добавить туннель). Выберите саппорт-агента (ваш компьютер — сторону, которая открывает локальный слушатель), затем эндпоинт из предыдущего шага и listen port (локальный порт). Нажмите Create (создать); туннель станет Active (активен), как только обе стороны завершат обмен ключами.

    Tunnels table showing an active tunnel with a client agent and a support agent
    Рис. 8. Активный туннель — Agent это клиент (с целью), Support — ваша машина, Listening — локальный порт, который она открывает.

    Теперь направьте свой инструмент на адрес прослушивания на машине-саппорте (вашем компьютере). Если эндпоинтом было веб-приложение, а локальным портом — 5000:

    $ curl http://127.0.0.1:5000/

    Для SSH это будет ssh user@127.0.0.1 -p 5000, для базы данных — ваш обычный клиент, направленный на 127.0.0.1:5000, и так далее — туннель является сырым TCP-каналом и никогда не разбирает протокол поверх него. Каждый поток отображается вживую в разделе Streams (потоки), с указанием клиентского и саппорт-агентов и переданных байт.

    Stream log showing live streams with client agent, support agent, source, destination and traffic
    Рис. 9. Потоки вживую — для каждого указаны клиентский и саппорт-агент, целевой сервис и трафик, обновляются в реальном времени.

Вот и весь туннель: зашифрованный путь от вашего компьютера к сервису на удалённой машине, без единого элемента, открытого в публичный интернет. Закройте его в любой момент на странице Tunnels; агенты остаются подключёнными и готовыми к следующему туннелю.

Готовы открыть свой?

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