本日はネットワーク周りのネタです。
筆者はフロント側ばかりでサーバーサイドはほぼ触ったことがなかったのですが、筆者の開発しているMixedRealityModelingToolsでは通信を使用してBlenderとUnityアプリケーションで通信を行っており、勉強をしています。
今回はVPN環境を構築します。
〇VPNとは?
VPN(Virtual Private Network:仮想プライベートネットワーク)は、インターネットを通じてデータを送受信する際にセキュリティとプライバシーを向上させるための技術およびサービスです
VPNを使用することで、インターネット上で自分の個人情報や機密情報を保護することや、インターネット規制の厳しい国で自由にウェブサイトにアクセスすることができます。
VPNでは通信が暗号化されているため、外部からの盗聴のリスクが少ないことがメリットです。 通常ネットワークに接続したデバイスではルーターによるセキュリティが働いており、外部からのアクセスに関して厳しくはじかれます。
しかしながら、同一ルーターのネットワークに接続しているデバイス同士に関してはある程度ポートの接続などルーターのセキュリティを受けずにアクセスできます。
これをグローバルネットワークで行う場合はルーター側のポート開放を行う必要がありますがセキュリティが絡むためネットワークに強いエンジニア以外は推奨されません。
ここでVPNを用いることで、仮想的に違うネットワークでもローカル通信のようにアクセスを可能とします。
〇Tailscaleを使用したVPN環境の構築
Tailscaleはある程度の条件であれば無料で使用できるVPNサービスです。
対応プラットフォームは次のようになります。
・Mac
・Linax
今回はWindows同士で実行します。
①tailscaleを開き、Try for freeを選択します。
②初回時はログインが必要です。 GoogleアカウントやMicrosoftアカウントなどで登録できます。
③クライアントアプリケーションをダウンロードします。
ダウンロードしたexeファイルを実行します。
④正常にダウンロードされるとWindowsのタスクバーにTailscaleのアイコンが表示されます。
アイコンを選択しConectを選択します。
初回のみログインを求められます。
⑤ブラウザでTailscaleのダッシュボードを開きます。
ここではTailscaleを導入しているPCの確認を行えます。
自身のPCが表示されていれば導入は完了です。
〇Tailscaleを使用して外部PCにアクセスする
今回は筆者のツールMRMTを例にIPとポートを接続して外部ネットー枠に接続しているデバイスと通信を行います。
この場合はクライアントがアクセスるサーバー側のIPアドレスの情報が必要になります。
Tailscaleを使用したアクセスの場合専用のIPアドレスを使用する必要があります。
このIPアドレスはTailscaleのデバイス設定からTailscale IPv4のパラメータになります。
接続したいデバイスのIPアドレスでTailscale IPv4のアドレスを使用することで接続しているネットワークが異なっていたとしても通常通り通信を行うことができます。
本日は以上です。