Распределенное развертывание

Иногда вы можете столкнуться с ситуацией, когда ваш телефон находится дома, а вы — в другом месте. Как им пользоваться? Вы можете использовать встроенный в FIRERPA клиент Frp или OpenVPN для реализации распределенного развертывания, что позволит вам подключаться к распределенным устройствам из любого места. Оба этих решения требуют наличия у вас публичного сервера и настройки соответствующего серверного программного обеспечения для корректной работы. В последующей документации описано, как развернуть серверы Frp и OpenVPN.

Опасно

Операции, описанные в этой главе, могут сделать ваш телефон доступным из публичной сети, что повышает риски безопасности. Пожалуйста, прочтите внимательно.

В этой главе мы не будем затрагивать базовые операции, такие как открытие и закрытие портов брандмауэра. Мы предполагаем, что вы понимаете и уже выполнили необходимые настройки, а также имеете представление о Frp и OpenVPN. Подробное описание развертывания этих двух типов серверов приведено в этой статье и в последующих главах. Если вы решите развертывать самостоятельно, мы настоятельно рекомендуем использовать метод организации сети через OpenVPN.

Через платформу FireRPA Hub

Вы также можете самостоятельно развернуть firerpa/hub + firerpa/hub-bridge для реализации P2P-доступа между устройствами. За подробными инструкциями обратитесь к документации проекта.

Проброс на внутренний порт через Frp

Вам необходимо сначала загрузить серверную программу fatedier/frp и запустить ее, строго следуя приведенной ниже команде. Вы можете изменить порт и токен по своему усмотрению. Требуется версия frps > v0.45.0.

Опасно

Проброс портов в публичную сеть — это очень опасное действие. Не надейтесь на удачу и не думайте, что IP-адрес и порт надежно скрыты. Обязательно включите проверку сертификатов для сервиса!
frps --token lamda --bind_addr 0.0.0.0 --bind_port 6009 --proxy_bind_addr 127.0.0.1 --allow_ports 10000-15000

В соответствии с командой, напишите следующие параметры конфигурации в properties.local:

fwd.host=Публичный IP-адрес вашего сервера
fwd.port=6009

fwd.rport=Порт назначения для проброса (должен быть в диапазоне allow_ports)
fwd.token=lamda

fwd.protocol=tcp
fwd.enable=true

Добавьте или запишите приведенную выше конфигурацию в properties.local и перезапустите сервис FIRERPA.

Проброс на публичный порт через Frp

Если вы хотите иметь возможность подключаться к устройству из любого места, мы не рекомендуем этого делать из соображений безопасности. Если такая необходимость все же есть, рекомендуется использовать функционал OpenVPN, чтобы поместить устройство и ваш компьютер в один и тот же сетевой сегмент для доступа.

Опасно

Проброс портов в публичную сеть — это очень опасное действие. Не надейтесь на удачу и не думайте, что IP-адрес и порт надежно скрыты. Обязательно включите проверку сертификатов для сервиса!

Если вы все же собираетесь использовать вышеописанный метод с frp для произвольного доступа, сначала убедитесь, что сервис FIRERPA запущен с использованием сертификата службы, и измените в команде запуска frps параметр --proxy_bind_addr 127.0.0.1 на --proxy_bind_addr 0.0.0.0. Это приведет к тому, что порт из приведенного выше примера будет напрямую привязан к публичному IP-адресу. Если вы не используете сертификат службы при запуске FIRERPA, доступ сможет получить кто угодно, что очень и очень опасно. Будьте готовы к тому, что ваши данные могут быть злонамеренно доступны и уничтожены.

Подключение к устройству, проброшенному через Frp

Поскольку в приведенной выше документации проброшенный порт привязан к 127.0.0.1 сервера, следующие действия необходимо проверять на самом публичном сервере, где развернут frps. Предположим, что ваш fwd.rport — это порт 12345. Ниже показано, как подключиться к устройству с помощью библиотеки Python.

from lamda.client import *
d = Device("127.0.0.1", port=12345)

Вы также можете открыть http?s://127.0.0.1:12345 в браузере на сервере, чтобы получить доступ к удаленному рабочему столу устройства.

Реализация через организацию сети OpenVPN

Пожалуйста, обратитесь к соответствующим главам о развертывании сервера OpenVPN, чтобы узнать, как подключить устройство к сети OpenVPN.

Подключение к устройству в сети OpenVPN

После объединения в сеть OpenVPN работа с устройством ничем не отличается от обычного использования. Вам просто нужно добавить ваш персональный компьютер в эту же сеть OpenVPN, чтобы получить прямой доступ к устройству по его приватному адресу OpenVPN. Вы можете загрузить клиент OpenVPN Connect с официального сайта OpenVPN openvpn.net/client для подключения к той же сети.