NetBirdとTailscaleの比較、どちらを選ぶ?
NetBirdとTailscaleはどちらもWireGuardを使います。違いは制御プレーンの運用者、アクセスルールの書き方、リレーの仕組み、NetBirdのセルフホストに必要な作業です。
NetBird と Tailscale の比較: 要点
NetBird と Tailscale の選択は、コントロールプレーンに関するものです。どちらのメッシュ VPN も WireGuard でパケットを転送するためです。Tailscale は調整サーバーを運用し、そのサーバーはクローズドソースです。NetBird も同様のホスティングサービスを提供しています。また、管理サーバーをオープンライセンスで公開しているため、システム全体を 1 台の VPS で運用できます。自分の側でサーバーを運用する人がいない場合は Tailscale を選びます。コントロールプレーン自体を自分で管理するハードウェア上で実行する必要がある場合は NetBird を選びます。
2 つを超えるツールをまだ比較している場合は、Tailscale の代替製品を広く比較した一覧から始めてください。以下のセクションでは、この 2 つのツールが実際に異なる 4 つの点を直接比較します。
共通点: WireGuard が基盤
メッシュ VPN(仮想プライベートネットワーク)は、すべてのデバイスを他のすべてのデバイスへ直接接続します。トラフィックは、1 つの中央ゲートウェイを経由しません。どちらのツールも、各デバイスに WireGuard の鍵ペアを割り当てます。秘密鍵はデバイス上で生成され、デバイス外へ出ることはありません。どちらも、2 つのピア間に直接トンネルを構築しようとします。直接経路を確立できない場合だけ、リレーを使用します。
つまり、ネットワーク上の暗号化には、どちらの製品でも同じプロトコルが使われます。どちらのシステムでも、リレーは復号できない WireGuard パケットを転送します。リレーが秘密鍵を保持することはないためです。制御プレーンをまったく使用しない場合の基準として、プレーンな WireGuard に Tailscale が追加する機能を参照してください。
データパスには、1 つ違いがあります。Tailscale は wireguard-go を通じて userspace で WireGuard を実行します。NetBird の README には、Linux では kernel WireGuard を使用すると記載されています。この違いだけで選択しないでください。自分の VPS で、トンネル経由で iperf3 を実行してください。通常、先に上限へ達するのは CPU、帯域幅の上限、またはピア間のネットワーク経路です。
制御プレーンを運用するのは誰ですか?
制御プレーンは、すべてのデバイスの公開鍵とトンネルアドレスを把握するサーバーです。各デバイスに存在するピアと、接続を許可するピアを通知します。ネットワークトラフィックは転送しません。
Tailscale。 コーディネーションサーバーはクローズドソースです。Tailscale のホスティングサービスとしてのみ動作します。クライアントはオープンソースです。すべてのプラットフォーム向けのコアデーモンに加え、Linux および Android 向けの完全なクライアントが含まれます。Windows と macOS 向けのグラフィカルアプリはクローズドソースです。Tailscale のリレーサーバーである DERP のコードはオープンソースです。独自のサーバーで Tailscale 互換の制御プレーンを運用する必要がある場合は、Headscale を使用できます。Tailscale は、これを独立したコミュニティ運営のプロジェクトであり、自社が指揮するものではないと説明しています。設定方法は 自己ホスト型 Tailscale 制御サーバーとして Headscale を運用する で説明しています。
NetBird。 app.netbird.io にはホスティング型のクラウドサービスがあり、同じコードが GitHub で公開されているため、自分で実行できます。2026 年 10 月時点で、リポジトリの README にはライセンスが明記されています。クライアントとリポジトリの大部分は BSD-3-Clause です。management/、signal/、relay/ ディレクトリは AGPLv3(GNU Affero General Public License, version 3)です。AGPL には条件が 1 つ追加されています。これらのサーバーを変更し、そのサーバーをネットワーク経由で他の人に使用させる場合は、変更したソースコードをその利用者に提供する必要があります。
NetBird のサーバー側は 3 つの部分で構成されます。management サービスはネットワークの状態を保持します。ピアの鍵、IP アドレスの割り当て、アクセス制御、DNS 設定が含まれます。signal サービスは、2 つのピアが接続候補を交換できるようにします。これらのメッセージはピア間で暗号化されるため、signal は内容を読み取れません。relay サービスは、直接接続経路が存在しない場合にトラフィックを転送します。
各製品ではアクセスルールをどのように記述しますか?
どちらの製品も、allow-all ルールを設定した状態で新しいネットワークを開始します。変更するまで、すべてのデバイスが相互に通信できます。重要なデータを保持するサーバーを追加する前に、このルールを置き換えてください。
Tailscale: 1 つのポリシーファイル
Tailscale は、すべてのアクセスルールを tailnet のポリシーファイルに保存します。このファイルは HuJSON(human JSON)形式です。JSON を基本とし、コメントと末尾のカンマも使用できます。管理コンソールで編集するか、API 経由で適用します。現在のルールは grants として記述します。このファイルでは、1 つのグループからタグ付きの本番サーバーへ、SSH と HTTPS だけでアクセスできるようにしています。テストも含まれています。
{
"groups": {
"group:engineering": ["alice@example.com", "bob@example.com"]
},
"tagOwners": {
"tag:production": ["group:engineering"]
},
"grants": [
{
"src": ["group:engineering"],
"dst": ["tag:production"],
"ip": ["tcp:22", "tcp:443"]
}
],
"tests": [
{
"src": "alice@example.com",
"accept": ["tag:production:22"]
}
]
}tests セクションが重要です。ここに記述したアサーションは、ポリシーファイルが変更されるたびにチェックとして実行されるため、不正な編集を適用前に検出できます。新しい tailnet のデフォルトポリシーは、"src": ["*"] と "dst": ["*:*"] を含む単一の acls エントリです。acls フィールド全体を省略した場合も、すべての通信を許可する設定になります。許可ルールを設定したら、このエントリを削除してください。2026 年 10 月時点で、無料の Personal プランでは 3 個の ACL グループを利用できます。
NetBird: ダッシュボードでグループとポリシーを設定
NetBird では、グループとポリシーを使ってアクセス制御を構成します。グループはピアの集合です。ピアは手動でグループに追加できます。また、setup key に関連付けたグループや、identity provider のユーザーグループを通じて追加することもできます。ポリシーでは、送信元グループと宛先グループを指定します。一方向または双方向に設定できます。プロトコルとポートを制限することもでき、ポート範囲は 8000-9000 の形式で記述します。ポリシーには posture check も設定できます。posture check は、接続を許可する前にピアが満たす必要がある条件です。
これらはすべてダッシュボードで設定します。新しいアカウントには Default というポリシーが用意されており、すべてのピア間の通信を許可します。まず独自のポリシーを追加し、その後で Default を無効にしてください。ルールをテキストで管理したい場合、NetBird には公開 REST API があります。また、NetBird Cloud と self-hosted management server の両方で使用できる公式の Terraform provider(netbirdio/netbird)も提供されています。NetBird の access-control ドキュメントには、Tailscale の tests セクションのような組み込みのテストアサーションは記載されていません。Terraform を使う場合は、plan の出力を確認します。
直接経路がない場合、ネットワークトラフィックはどのように中継されますか?
どちらのツールも、最初に直接接続を試みます。STUN(NAT のセッション経路探索ユーティリティ)を使用して、各ピアのパブリックアドレスを確認します。次に、双方の NAT(ネットワークアドレス変換)を通過する経路の確立を試みます。厳格なファイアウォールや一部のモバイルネットワークではこれがブロックされるため、どちらのツールにもフォールバックが必要です。
Tailscale は、DERP(パケット用の指定暗号化リレー)サーバーにフォールバックします。Tailscale は多数のリージョンで DERP サーバーを運用し、HTTPS 経由でトラフィックを中継します。追加料金はかかりません。Tailscale にはピアリレーもあります。ピアリレーは、自分のデバイスの 1 台をリレーとして使用する機能です。Tailscale は DERP より先にピアリレーを試します。Tailscale のドキュメントでは、DERP より低レイテンシーかつ高スループットが必要な場合の選択肢として、ピアリレーを案内しています。ピアリレーは 2026 年 2 月 18 日に、無料プランを含むすべてのプランで一般提供になりました。任意の UDP ポートで有効化し、ポリシーファイルの grant で許可します。
sudo tailscale set --relay-server-port=40000接続で使用されている経路を確認するには、ピアに対して tailscale ping を実行します。via DERP(fra) と表示された応答は、中継経路を使用しています。IP アドレスとポートを示す応答は、直接接続です。接続が中継状態のままの場合は、Tailscale の中継リンクが遅い理由と直接接続にする方法で原因を確認できます。
NetBird は、以前のリリースでは coturn TURN サーバーを介してトラフィックを中継していました。Version 0.29.0 で NetBird Relay が導入され、その後、リレー接続では coturn に代わって使用されています。リレーは /relay パスで WebSocket 接続を受け付けるほか、UDP port 33080 で QUIC を受け付けます。現在の推奨構成では、STUN もリレーサービスに移します。NetBird Cloud では、NetBird がリレーを運用します。self-hosted server では、利用者がリレーを運用します。中継された各バイトは VPS の帯域幅を消費します。また、中継経路はすべて、その VPS の所在地を経由します。各ピアの経路を次のコマンドで確認します。
netbird status -d各ピアには、P2P(直接接続)または Relayed の接続タイプが表示されます。
1 台の VPS で NetBird をセルフホストするには何が必要ですか?
公式のクイックスタートでは、1 つのスクリプトでサーバー側全体を構築します。2026 年 10 月時点では、1 CPU 以上と 2 GB のメモリを備えた Linux マシンが必要です。また、VPS を指すパブリックドメイン名、compose plugin を含む Docker、jq、curl も必要です。VPS のファイアウォールで TCP 80、TCP 443、UDP 3478 を開放します。多くの管理パネルでは別の設定となるため、プロバイダーのネットワークファイアウォールでも同じポートを開放してください。
export NETBIRD_DOMAIN=netbird.example.com; curl -fsSL https://github.com/netbirdio/netbird/releases/latest/download/getting-started.sh | bashこのスクリプトは、次の 4 種類のサービスをデプロイします。
- Let's Encrypt の TLS(transport layer security)証明書を使用するリバースプロキシとしての Traefik。
- Identity provider として組み込まれた Dex server。外部のログインシステムなしで、ダッシュボードからユーザーを作成できます。
- 前述の management、signal、relay services。
- オプションの追加機能: NetBird Proxy service と CrowdSec IP reputation filtering。
これらの各要素は、以後、自分で運用します。Identity provider が、ログインしてデバイスを追加できるユーザーを決定します。小規模なチームであれば Dex で十分です。後から、セルフホストの Authentik SSO server などの外部 single sign-on provider に接続できます。TLS の発行には順序があります。Let's Encrypt はこの VPS に接続してドメインを検証するため、スクリプトを実行する前に DNS レコードを作成し、ポートを開放してください。ドメインがまだ VPS を指していない場合、検証に失敗して証明書は発行されません。バックアップとアップグレードも自分で行います。各手順の後に確認を行う完全なインストール手順は、NetBird VPN server をセルフホストするガイドにあります。
各サービスへの Linux サーバーの登録
メッシュに参加するにはコントロールプレーンへの外向きネットワークアクセスが必要です。そのため、次のコマンドは自分のマシンで実行します。サーバーにはブラウザーがないため、どちらのツールも対話的なログインではなく、事前に作成した key を使用します。
管理コンソールで作成した auth key を使用して Tailscale を登録します。
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up --auth-key=YOUR_AUTH_KEY
tailscale statustailscale status を実行すると、このマシンが 100.x.y.z アドレスで表示され、tailnet 内のほかのデバイスも一覧表示されます。有効期限を設定していない auth key は 90 日後に期限切れになります。90 日が最長です。すでに登録済みのサーバーは登録状態のままです。新しいサーバーを登録するスクリプトには、新しい key が必要です。
dashboard で作成した setup key を使用して NetBird を登録します。
curl -fsSL https://pkgs.netbird.io/install.sh | sh
netbird up --setup-key YOUR_SETUP_KEY
netbird statusセルフホストのサーバーでは、netbird up 行に --management-url https://netbird.example.com を追加します。これがない場合、クライアントは NetBird Cloud に接続します。NetBird Cloud は、自分のサーバーで作成した setup key を認識できません。netbird status を実行すると、management サービスと signal サービスが connected として表示されます。
無料プランと料金(2026年10月時点)
これらの金額は、2026年10月2日に両社の料金ページで確認したものです。料金は変更されるため、契約前に再度確認してください。
Tailscale Personal は、最大 6 ユーザーまで無料で、ユーザーが使用できるデバイス数に制限はありません。個人ではなくタグに属するサーバーである、タグ付きリソースを 50 個まで登録できます。また、ACL グループを 3 個利用できます。有料プランは、Standard が 1 ユーザーあたり月額 $8、Premium が $18 です。Enterprise の料金は要問い合わせです。家庭や小規模チームが Tailscale に実際に支払う金額では、特殊なケースも説明しています。
NetBird Cloud は、最大 5 ユーザー、100 マシンまで無料です。Team は 1 ユーザーあたり月額 €6、Business は €12 です。Enterprise の料金は要問い合わせです。有料プランには 100 マシンに加えて、ユーザー 1 人あたり 10 マシンが含まれます。追加のマシンには、1 台あたり月額 €0.50 がかかります。Self-hosted NetBird にライセンス料はかかりません。VPS の料金と、運用にかかる時間を負担します。
Tailscale を選ぶケース
- チーム内に、制御サーバーの運用、パッチ適用、バックアップを担当したい人がいない。
- アクセスルールを 1 つのテキストファイルで管理し、適用前に不正な変更を検出するテストを実行したい。
- ユーザーが出張し、ホテルやモバイルネットワークから接続する。こうした環境では、多数のリージョンにある Tailscale の DERP サーバーが、設定不要で近隣のフォールバック接続を提供する。
- 6-user の無料プランに収まるか、ユーザー単位の料金を許容できる。
NetBird を選ぶケース
- コントロールプレーンを自分で所有するインフラ上で運用し、別の再実装ではなく公式プロジェクトを使用したい場合。
- ユーザー単位の料金なしで、6 人を超えるユーザーが参加するセルフホストネットワークが必要な場合。
- チームでダッシュボードを使ってグループとポリシーを管理したい場合、または他のすべての環境ですでに Terraform を使用している場合。
- NetBird Cloud で開始し、同じクライアントを使ったまま自分のサーバーへ移行できる選択肢を残したい場合。
各製品にないもの
ここに挙げる項目はすべて、2026年10月2日に確認した各ベンダーの公式ドキュメントまたは料金ページに基づいています。
Tailscale にないもの:
- 公式のセルフホスト型コントロールサーバー。コーディネーションサーバーはクローズドソースであり、Headscale は別個のコミュニティプロジェクトです。
- Windows と macOS 向けのオープンソース GUI クライアント。基盤となるデーモンはオープンソースですが、アプリはオープンソースではありません。
NetBird にないもの:
- アクセスポリシー向けの組み込みテストアサーション。アクセス制御のドキュメントにその説明はなく、ポリシーのレビューは利用者自身または Terraform の plan に依存します。
- セルフホスト時に他者が運用するリレー。リレーは自身の VPS 上に配置されます。その VPS から遠いピアは、長いリレー経路を通ることになり、帯域幅の料金も利用者が負担します。
どちらも allow-all ポリシーから始まるため、ルールを作成するまで、新しいネットワークは完全に開放された状態です。ホスト型環境における完全な脅威モデルについては、ホスト型コントロールプレーンから見えるものと見えないものを参照してください。
FAQ
NetBird は完全にオープンソースですか?
はい。ただし、2 つのライセンスが適用されます。2026 年 10 月時点で、NetBird の README には、クライアントとリポジトリの大部分が BSD-3-Clause であると記載されています。management/、signal/、relay/ ディレクトリは AGPLv3 です。これらのサーバーコンポーネントを変更し、ネットワーク経由で他の人に使用させる場合、AGPL により、変更したソースコードをその利用者に提供する必要があります。
NetBird のように Tailscale のコントロールサーバーをセルフホストできますか?
いいえ。Tailscale のコーディネーションサーバーはクローズドソースで、ホステッドサービスとしてのみ動作します。一般的なセルフホスト代替手段は Headscale です。Headscale は独立したオープンソースのコーディネーションサーバーで、公式 Tailscale クライアントと連携します。Tailscale は Headscale の主要メンテナーを雇用していますが、プロジェクトを指揮していないと説明しています。
NetBird または Tailscale では、リレーが通信を読み取れますか?
いいえ。どちらの製品でも、WireGuard の秘密鍵はデバイス上で生成され、デバイスの外部に出ません。Tailscale の DERP サーバー、Tailscale のピアリレー、NetBird のリレーは、暗号化された WireGuard パケットのみを転送します。ただし、リレーは接続先のピアと、ピア間で転送されたデータ量を確認できます。
NetBird をセルフホストするには、どのような VPS が必要ですか?
2026 年 10 月時点で、公式のクイックスタートでは、少なくとも 1 CPU と 2 GB のメモリが必要です。また、VPS を指すパブリックドメイン、compose plugin 付きの Docker、TCP 80、TCP 443、UDP 3478 の開放も必要です。リレーされる通信に備えて、帯域幅も確保してください。セルフホストサーバーでは、リレーされる接続がすべて VPS を経由します。
無料プランの規模が大きいのはどちらですか?
2026 年 10 月時点で、Tailscale Personal では最大 6 ユーザーまで、ユーザーあたりのデバイス数は無制限です。無料の NetBird Cloud プランでは、最大 5 ユーザー、100 台のマシンまで利用できます。セルフホストの NetBird サーバーにはユーザー数の制限もライセンス料金もありません。ただし、VPS の料金を支払い、自分で運用する必要があります。