ゼロティア・ローカルエリアネットワーク

オフィスに新たにミニPCを入手し、環境構築を兼ねて便利に考えたのですが、自宅でも時折アクセスする必要があるため、一時的に社内ネットワークのトンネリングを実施することになりました。これまでの経験から、frpサービスをデプロイしてポートフォワーディングを設定する方法を選びましたが、公衆回線上のサーバーの帯域品質に依存するため、接続品質が不安定になる可能性があります。そこで、少し新鮮なZerotier仮想マシンを使ったローカルエリアネットワーク(LAN)を構築してみることにしました。これはVPNと似ており、ローカルで仮想ネットワークインターフェースを作成し、すべてのマシンを1つの仮想ネットワークに参加させます。

Zerotierとは

ZeroTierは、ソフトウェア定義の広域ネットワーク(SD-WAN)ソリューションであり、ユーザーが異なる地理的な場所にあるデバイス間で安全な仮想ネットワークを作成することを可能にします。ZeroTierを使用すると、複数のコンピューター、サーバー、およびデバイスを、まるで同じローカルネットワーク上にいるかのように、1つの仮想化された暗号化されたネットワークに簡単に接続できます。これにより、開発者やIT専門家が異なる場所でデータを共有したりリソースを利用したりする際に、複雑なネットワーク設定やVPN構成なしで安全に作業できるようになります。

  1. Zerotierネットワーク: Zerotierネットワークは、異なるデバイスをインターネット経由で接続し、まるで同じ物理ネットワーク上にいるかのように動作する仮想的なグローバルローカルエリアネットワーク(LAN)です。このネットワークには複数のサブネットを含めることができ、すべてのデバイスがZeroTierの技術を使用して互いに接続されます。 惑星サーバー: 惑星サーバーはZerotierネットワークの重要なコンポーネントの一つです。グローバルなもので、Zerotierネットワーク全体のトポロジー、ルーティング情報、およびネットワークの状態を維持・管理します。惑星サーバーはグローバルなネットワーク制御センターとして機能しますが、直接データ転送は行いません。ユーザーのデバイスは少なくとも1つの惑星サーバーに接続してZerotierネットワークに参加する必要があります。

Zerotierとは

  1. 転送サーバー: 転送サーバーはZerotierネットワークにおける補助ノードであり、デバイス間の直接接続を確立するのを支援します。デバイス間で直接接続できない場合、これらのデバイスは転送サーバーを経由してデータを送信できます。これにより、ネットワークの到達性およびパフォーマンスが向上します。転送サーバーは通常、世界中に配置され、データ転送の中継点として機能します。

総じて、Zerotierは惑星サーバーと転送サーバーの協力を通じて、デバイスがグローバルな範囲で仮想的なローカルネットワークを作成し、安全かつ高速なデバイス間の通信を実現します。惑星サーバーはグローバルネットワーク管理を担当し、転送サーバーは必要に応じて接続を確立するのに役立ちます。

インストールと展開

  1. https://www.zerotier.com/ の公式ウェブサイトにアクセスし、インストールファイルとドキュメントを入手してください。
  2. お使いのオペレーティングシステムに応じて、ZeroTier One クライアントをダウンロードしてインストールします。Windows、macOS、Linux など、多くのプラットフォームに対応しています。
  3. インストールが完了したら、ZeroTier One クライアントを起動します。
  4. ZeroTier アカウントを作成(まだ持っていない場合)します。クライアント内でアカウントを作成できます。
  5. ZeroTier アカウントにログインし、新しいネットワークを作成します。ネットワークには一意の16桁IDが割り当てられ、これを覚えておく必要があります。
  6. デバイスをこのネットワークに参加させます。クライアント内でネットワークIDを入力するか、QRコードスキャン機能を使用します。
  7. 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について詳しく説明します。

  1. dpkgを使用してzerotier-oneサービスを削除する
  2. zerotier-oneフォルダを削除する(このフォルダにはaddressアドレスが保存されており、削除後に再インストールすると新しいaddressアドレスを取得できます)

終わりに

元々、すでにアンインストールされていたものですが、サーバーが到着し、適切なプロキシノードが提供されず、阿里云が営業活動を行い、開発用の専用サーバーを提供しました。構成は低く、1999年で、価格も手頃で、2年間運用しました。主な理由はサーバーから提供される帯域幅でした。

参考資料

金融ITプログラマーのいじくり回しと日常のつぶやき
Hugo で構築されています。
テーマ StackJimmy によって設計されています。