分散デプロイ¶
自宅にスマートフォンを置いたまま、外出先から使用したいという状況に遭遇することがあるかもしれません。FIRERPAに内蔵されているFrpまたはOpenVPNクライアントを利用することで、分散デプロイを実現し、どこからでも分散デプロイされたデバイスに接続できます。これら2つのソリューションでは、パブリックIPを持つサーバーが必要であり、サーバー側の関連ソフトウェアを設定する必要があります。FrpおよびOpenVPNサーバーのデプロイ方法については、後続のドキュメントで説明します。
危険
本章では、ファイアウォールのポートを開閉するなどの基本的な操作については触れません。これらの設定については、お客様が理解し、要件に従って完了していることを前提とします。また、FrpおよびOpenVPNについての基本的な知識をお持ちであることも前提とします。これら2つのサーバーのデプロイ方法については、本文書および後続の章で詳しく説明します。ご自身でデプロイする場合は、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関連機能を使用して、デバイスとPCを同じネットワークセグメントに配置してアクセスする方法をお勧めします。
危険
それでも上記frpの方法でどこからでもアクセスしたい場合は、まずFIRERPAサービスがサービス証明書を使用して起動されていることを確認し、上記のfrps起動コマンドの --proxy_bind_addr 127.0.0.1 を --proxy_bind_addr 0.0.0.0 に変更してください。これにより、上記の例の 12345 ポートが直接パブリックネットワークにバインドされます。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でネットワークを構築した後のデバイスの利用方法は、通常の使用方法と変わりありません。ご自身のPCもこのOpenVPNネットワークに参加させるだけで、デバイスのOpenVPNプライベートアドレスを通じて直接アクセスできます。OpenVPNの公式サイト openvpn.net/client から OpenVPN Connect クライアントをダウンロードして、同じネットワークに接続できます。