Распределенное развертывание¶
Иногда вы можете столкнуться с ситуацией, когда ваш телефон находится дома, а вы — в другом месте. Как им пользоваться? Вы можете использовать встроенный в FIRERPA клиент Frp или OpenVPN для реализации распределенного развертывания, что позволит вам подключаться к распределенным устройствам из любого места. Оба этих решения требуют наличия у вас публичного сервера и настройки соответствующего серверного программного обеспечения для корректной работы. В последующей документации описано, как развернуть серверы Frp и OpenVPN.
Опасно
В этой главе мы не будем затрагивать базовые операции, такие как открытие и закрытие портов брандмауэра. Мы предполагаем, что вы понимаете и уже выполнили необходимые настройки, а также имеете представление о Frp и OpenVPN. Подробное описание развертывания этих двух типов серверов приведено в этой статье и в последующих главах. Если вы решите развертывать самостоятельно, мы настоятельно рекомендуем использовать метод организации сети через OpenVPN.
Через платформу FireRPA Hub¶
Вы также можете самостоятельно развернуть firerpa/hub + firerpa/hub-bridge для реализации P2P-доступа между устройствами. За подробными инструкциями обратитесь к документации проекта.
Проброс на внутренний порт через Frp¶
Вам необходимо сначала загрузить серверную программу fatedier/frp и запустить ее, строго следуя приведенной ниже команде. Вы можете изменить порт и токен по своему усмотрению. Требуется версия frps > v0.45.0.
Опасно
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, чтобы поместить устройство и ваш компьютер в один и тот же сетевой сегмент для доступа.
Опасно
Если вы все же собираетесь использовать вышеописанный метод с 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 для подключения к той же сети.