オフィスに新たにミニPCを入手し、環境構築を兼ねて便利に考えたのですが、自宅でも時折アクセスする必要があるため、一時的に社内ネットワークのトンネリングを実施することになりました。これまでの経験から、frp
サービスをデプロイしてポートフォワーディングを設定する方法を選びましたが、公衆回線上のサーバーの帯域品質に依存するため、接続品質が不安定になる可能性があります。そこで、少し新鮮なZerotier
仮想マシンを使ったローカルエリアネットワーク(LAN)を構築してみることにしました。これはVPN
と似ており、ローカルで仮想ネットワークインターフェースを作成し、すべてのマシンを1つの仮想ネットワークに参加させます。
Zerotierとは
ZeroTier
は、ソフトウェア定義の広域ネットワーク(SD-WAN)ソリューションであり、ユーザーが異なる地理的な場所にあるデバイス間で安全な仮想ネットワークを作成することを可能にします。ZeroTier
を使用すると、複数のコンピューター、サーバー、およびデバイスを、まるで同じローカルネットワーク上にいるかのように、1つの仮想化された暗号化されたネットワークに簡単に接続できます。これにより、開発者やIT専門家が異なる場所でデータを共有したりリソースを利用したりする際に、複雑なネットワーク設定やVPN構成なしで安全に作業できるようになります。
- Zerotierネットワーク: Zerotierネットワークは、異なるデバイスをインターネット経由で接続し、まるで同じ物理ネットワーク上にいるかのように動作する仮想的なグローバルローカルエリアネットワーク(LAN)です。このネットワークには複数のサブネットを含めることができ、すべてのデバイスがZeroTierの技術を使用して互いに接続されます。 惑星サーバー: 惑星サーバーはZerotierネットワークの重要なコンポーネントの一つです。グローバルなもので、Zerotierネットワーク全体のトポロジー、ルーティング情報、およびネットワークの状態を維持・管理します。惑星サーバーはグローバルなネットワーク制御センターとして機能しますが、直接データ転送は行いません。ユーザーのデバイスは少なくとも1つの惑星サーバーに接続してZerotierネットワークに参加する必要があります。
Zerotierとは
- 転送サーバー: 転送サーバーはZerotierネットワークにおける補助ノードであり、デバイス間の直接接続を確立するのを支援します。デバイス間で直接接続できない場合、これらのデバイスは転送サーバーを経由してデータを送信できます。これにより、ネットワークの到達性およびパフォーマンスが向上します。転送サーバーは通常、世界中に配置され、データ転送の中継点として機能します。
総じて、Zerotierは惑星サーバーと転送サーバーの協力を通じて、デバイスがグローバルな範囲で仮想的なローカルネットワークを作成し、安全かつ高速なデバイス間の通信を実現します。惑星サーバーはグローバルネットワーク管理を担当し、転送サーバーは必要に応じて接続を確立するのに役立ちます。
インストールと展開
- https://www.zerotier.com/ の公式ウェブサイトにアクセスし、インストールファイルとドキュメントを入手してください。
- お使いのオペレーティングシステムに応じて、ZeroTier One クライアントをダウンロードしてインストールします。Windows、macOS、Linux など、多くのプラットフォームに対応しています。
- インストールが完了したら、ZeroTier One クライアントを起動します。
- ZeroTier アカウントを作成(まだ持っていない場合)します。クライアント内でアカウントを作成できます。
- ZeroTier アカウントにログインし、新しいネットワークを作成します。ネットワークには一意の16桁IDが割り当てられ、これを覚えておく必要があります。
- デバイスをこのネットワークに参加させます。クライアント内でネットワークIDを入力するか、QRコードスキャン機能を使用します。
- ZeroTier クライアントで設定されたデバイスはすべて同じ仮想ネットワークに接続されます。
インストールとデプロイ(Moon)
国内の多くのキャリアが UDP のトンネリングを禁止しているため、frp サービスは安定しており、TCP プロトコルを使用するため、Zerotier 中継サーバーも同様の効果を実現できます。ファイアウォールで UDP 9993 を開通する必要があります。
インストールが成功したか確認する ローカルネットワークに参加する Moon の作成 stableEndpoints ノードを調整するために構成ファイルを開き編集し、“サーバーのパブリック IP/9993” とする 署名構成を生成し、moons.d フォルダを作成し、前のファイルをすべて移動してサービスを再起動する クライアントノードが Moon サーバーに参加し、id は前の JSON 設定ファイル内の id フィールドから取得する
Windows プラットフォームでは管理者権限でターミナルを起動し、zerotier-cli.bat コマンドラインを使用して操作します。Linux プラットフォームでは zerotier-cli を使用して操作します。peers サブコマンドは接続を表示し、listpeers はすべてのノードを表示します。Moon ノードが正常に表示される場合は、参加が成功したことを示します
アンインストール方法
Windowsプラットフォームのアンインストール方法は後述します。一般的な操作で、コントロールパネルからアンインストールしてください。ここではUbuntuについて詳しく説明します。
- dpkgを使用してzerotier-oneサービスを削除する
- zerotier-oneフォルダを削除する(このフォルダにはaddressアドレスが保存されており、削除後に再インストールすると新しいaddressアドレスを取得できます)
終わりに
元々、すでにアンインストールされていたものですが、サーバーが到着し、適切なプロキシノードが提供されず、阿里云が営業活動を行い、開発用の専用サーバーを提供しました。構成は低く、1999年で、価格も手頃で、2年間運用しました。主な理由はサーバーから提供される帯域幅でした。