ZeroTierとは、複数のデバイスでP2P接続し、仮想LANを構築することができるVPNアプリです。この記事では、ZeroTierの仕組みと、よく似たコンセプトであるTailscaleとの違い、実際のインストール方法について、わかりやすく解説しています。
ZeroTierの仕組み
ZeroTierの概要と、料金、基本的な動作、Tailscaleとの違いについて解説します。
ZeroTierとは
「ZeroTier」とは、離れた拠点のにある複数のデバイスを、同じLANに接続されたかのような環境を構築するVPNソフトウェアです。
iOS、Android、Windows、macOS、Linux等の環境で動作します。
ZeroTierは、カリフォルニアにあるZeroTier社によって、2011年から運営されています。
ZeroTier Oneとは
「ZeroTier One」とは、ZeroTier社が提供する一連のシステムのメインコンポーネントです。ただし最近は使われていない言葉です。
以前は、「One(メイン)」「Central(Web管理画面)」「Edge(ゲートウェイ)」などに分けていましたが、最近は全て「ZeroTier」で統一されています。
アプリの名称などに「One」が残っていますが、あまり気にしなくてよいでしょう。
ZeroTierの料金
ZeroTierには無料プランと有料プランがあります。
機能 | Basic | Essential | Premium |
---|---|---|---|
料金 | 無料 | $5/月 | 応相談 |
デバイス数 | 10台まで | 1ユーザー10台 | 無制限 |
ネットワーク数 | 無制限 | 無制限 | 無制限 |
サポート | ー | チケット制 | SLAに基づいたチケット制 |
監査ログ | ー | 30日 | 1年 |
カスタムルート | ー | ◯ | ◯ |
高度なルール設定 | ー | ◯ | ◯ |
DNSフィルター | ー | ◯ | ◯ |
SSO | ー | ◯ | ◯ |
Webhook | ー | ◯ | ◯ |
API | ー | ◯ | ◯ |
個人利用であれば、無料プランでも十分な内容となっています。
ZeroTierの動作
ZeroTierの基本的な動作の流れをご紹介します。
仮想ネットワークの作成
ユーザーは、ZeroTierの管理コンソールにログインし、仮想ネットワークを作成します。
このネットワークには、独自のネットワークIDが割り振られます。
IPアドレスの範囲や、アクセス権限などが設定できます。
クライアントのインストール
各デバイスに、ZeroTierクライアントをインストールすると、仮想ネットワークインターフェースが作成されます。
各デバイスは、ネットワークIDを入力して、仮想ネットワークに接続します。
P2P接続
デバイス同士は、P2Pで直接接続されます。
また、エンドツーエンドで暗号化され、第三者による盗聴や改ざんを防ぎます。
UDPを用いて、NAT超えもできるようになっています。
ネットワークコントローラー
アクセス管理やルーティングは、ネットワークコントローラーによって行なわれます。
ZeroTierが特徴的なのは、ネットワークコントローラーを自分でホスティングすることもできるということです。これにより、外部に依存しないプライベートなネットワークを構築することができ、プライバシーを保護することができます。
ZeroTierでもネットワークコントローラーを用意しており、分散型ネットワークにより、単一障害点が存在しないように設計されています。
ZeroTierの使用例
ZeroTierは、メッシュ型やスター型など、柔軟なネットワークトポロジーを構築することができます。使用目的も様々ですが、代表的な例をご紹介します。
リモートワーク
自宅から会社のネットワークに接続し、ファイルサーバーやイントラネットなどに、安全にアクセスすることができます。
チームのコラボ
地理的に離れた場所にいるチームのメンバーが、同じネットワーク上にいるかのように作業することができます。
クラウド統合
オンプレミスなデータセンターや、クラウドサービスを、シームレスに統合することができます。
IoTネットワーク
異なる場所にあるIoTデバイスを統合的に管理することができます。
ゲームのホスティング
ゲームサーバーをたて、友人たちとマルチプレイで楽しむことができます。
ZeroTierとTailscaleの比較
ZeroTierと似たようなコンセプトで開発されているVPNサービスに、Tailscaleがあります。
ZeroTierとTailscaleの比較をしてみましょう。
歴史とコミュニティ
ZeroTierの開発は2011年に始まり、2014年頃から普及しています。
Tailscaleの開発は2019年に始まり、2020年頃から普及しています。
そのため、ZeroTierの方がコミュニティが大きいです。ただしTailscaleの方が、勢いはあります。
プロトコル
ZeroTierは、独自プロトコルを使用しています。
Tailscaleは、最新のWireGuardプロトコルを使用しています。
WireGuardは広く普及しており、情報も豊富にあるため、WireGuardの方を好むという人もいます。
セルフホスティング
ZeroTierとTailscaleは両方とも、デバイス同士がP2P接続しますが、調整用の管理サーバーが必要となります。
ZeroTierは管理サーバーをユーザーが自分でホスティングし、完全に独立したネットワークを構築することができます。
Tailscaleは、Tailscale社が管理するサーバーを通過する必要があります。ただし、通信内容はTailscaleでも把握できません。
プライバシー保護という観点から、ZeroTierの方を好む人もいます。
機能
ZeroTierは柔軟なネットワーク設計を目指しています。
Tailscaleは簡単なネットワーク設計を目指しています。
Tailscaleの方が導入が簡単である一方、複雑なことをしようとすると、ZeroTierの方に分があるという場面があります。
まとめ
いろいろなレビューサイトを見て回りましたが、どちらが優れているという意見はまったくなく、かなり細かな仕様の違いが議論されているのみでした。
一般的なユーザーが使う分には、ほとんど違いはないと思われます。
私の個人的な感想としては、Tailscaleの方が簡単であることを目指しているがゆえに、逆に難しくなっている印象を受けました。
ただしどちらも、慣れ程度の問題であるため、好みで選んでしまってよいのではないかと思います。
Tailscaleとは何? 普通のVPNとは何が違う?
一般的にVPNは、単一のゲートウェイに複数のノードが接続する、ハブ型の構成が多いですが、ゲートウェイがボトルネックになったり、単一障害点になったりする問題があります。Tailscaleは、P2Pのメッ ...
ZeroTierの使い方
ZeroTierの基本的な使い方について、アカウント作成からインストールの流れを解説します。
アカウント作成
ブラウザで「https://www.zerotier.com/」を開き、「Sign Up」をクリックします。
「Login」と「Sign Up」という2つのボタンがあるのですが、どちらもログインページにリンクされています。(間違い?)
そういう訳で、もう一度「Sign Up」をクリックします。
メールアドレスとパスワードを登録するか、Googleアカウント、GitHubアカウント、Microsoftアカウントでサインインします。
利用規約を読み、「Accept」をクリックします。
プランを「Basic」か「Essential」から選びます。
「Start Using ZeroTier!」をクリックします。
「Create A Network」をクリックします。
ネットワークが登録されました。この「NETWORK ID」は後ほど使用します。
インストール
Windows、Android、iOSでのZeroTierクライアントのインストール方法をご案内します。
Windows
「公式サイト」からアプリをダウンロードします。
ダウンロードしたファイルを実行し、「Install」をクリックします。
「Finish」をクリックします。
通知領域のアイコンから「Join New Network」をクリックします。
「Network ID」を入力し、「Join」をクリックします。
Android
「Play Store」からアプリをダウンロードします。
アプリを起動し、「Add Network」をタップします。
「Network ID」を入力します。16文字もあって大変なので、カメラを起動して管理画面のQRコードを読むことでも入力できます。
「Add」をタップします。
登録されたNetwork IDのスイッチをオンにします。
初回は接続リクエストが表示されるので、「OK」をタップします。
iOS
「App Store」からアプリをダウンロードします。
アプリを起動し、利用規約を読み、「Accept」をタップします。
画面右上の「+」をタップします。
Network IDを入力します。カメラを起動してQRコードを読むこともできます。
「Enable Default Route」をオンにします。
「Add Network」をタップします。
VPN構成の追加を求められるので、「許可」をタップします。
登録されたネットワークのスイッチをオンにします。
デバイスの承認
アプリで登録しただけでは、VPN接続されておらず、管理画面で承認する必要があります。
「Refresh」をクリックして、最新情報を反映させます。
ネットワークに追加するデバイスにチェックを入れ、「Authorize」をクリックします。
これで、各デバイスが同一ネットワークに接続されたことになります。