Cloudflare Mesh は、耐量子暗号のネットワークでサービスとデバイスを接続します。VPN や踏み台ホストなしで、サーバー、ノート PC、スマートフォンの間でトラフィックをプライベートにルーティングします。
登録したすべてのデバイスとノードはプライベート IP アドレス(Mesh IP)を受け取り、Cloudflare のネットワーク経由で、TCP、UDP、ICMP を使って他の参加者へ IP で到達できます。
Mesh ノードは、ヘッドレスモードの Cloudflare One Client(warp-cli)を動かす Linux サーバーです。クライアントデバイスは、同じクライアントを UI 付きで動かすノート PC とスマートフォンです。
Mesh には 2 種類の参加者がいます。
| Mesh ノード | クライアントデバイス | |
|---|---|---|
| 動作環境 | Linux サーバー、VM、コンテナー | ノート PC、スマートフォン、デスクトップ |
| クライアント | Cloudflare One Client(warp-cli)、ヘッドレス |
Cloudflare One Client(warp-cli)、UI 付き |
| Mesh IP | 登録時に割り当て | 登録時に割り当て |
| サブネットルーティング | CIDR ルートを広告できる | 不可 — クライアントはノード経由でサブネットに到達 |
| 高可用性 | アクティブ / パッシブのレプリカに対応 | 該当なし |
どの参加者も Mesh IP で他の参加者に到達できます。クライアント同士の接続に Mesh ノードのデプロイは不要です。
flowchart LR
subgraph nodes["Mesh ノード"]
A["web-server <br> 100.96.0.1"]
B["db-replica <br> 100.96.0.2"]
end
subgraph devices["クライアントデバイス"]
C["MacBook <br> 100.96.0.10"]
D["iPhone <br> 100.96.0.11"]
end
A <--> CF((Cloudflare <br> ネットワーク))
B <--> CF
CF <--> C
CF <--> D
すべてのトラフィックは Cloudflare を通るため、Gateway ネットワークポリシー、デバイスポスチャチェック、アクセスルールがすべての接続に適用されます。
Cloudflare Mesh では、各 Mesh ノードの デバイスプロファイル が、Cloudflare One Client のデフォルトプロトコルである MASQUE を使う必要があります。ほとんどのデプロイでは変更は不要です。
Mesh ノードのデバイスプロファイルが WireGuard を使う場合、次の機能は動作しません。
すべての参加者には、100.96.0.0/12 範囲のプライベート IP が割り当てられます。Cloudflare One ドキュメントのほかの箇所では、これらのアドレスを デバイス IP と呼びます。
この範囲は CGNAT アドレス空間 ↗ を使い、RFC 1918 のプライベート範囲(10.x、172.16.x、192.168.x)との衝突を避けます。デフォルト範囲がネットワークと衝突する場合は、カスタムサブネットを設定 できます。
デバイスの Mesh IP は、Mesh の概要ページ ↗ またはダッシュボードのノード詳細ページで確認できます。
予約済み範囲の詳細は 予約済み IP アドレス を参照してください。
Cloudflare Mesh と Cloudflare Tunnel はどちらもプライベートなインフラを Cloudflare に接続しますが、解く問題が異なります。
| Cloudflare Mesh | Cloudflare Tunnel | |
|---|---|---|
| トラフィックの方向 | 双方向 — どの参加者からも開始できる | オリジンへのインバウンド — クライアントが公開サービスへ接続 |
| アドレッシング | すべての参加者が Mesh IP を持つ | サーバー側のみ。Mesh IP なし |
| 用途 | デバイスとサーバー間のプライベート IP 接続 | 特定のアプリケーション、ホスト名、または IP ルートの公開 |
| コネクタ | warp-cli |
cloudflared |
| プロトコル | TCP、UDP、ICMP | HTTP/S、TCP、SSH、RDP、SMB(WebSocket 経由でプロキシ) |
デバイス同士がプライベート IP で到達する必要があるとき、または安定した長寿命 TCP 接続(SAP、データベースレプリケーション、ERP システム、RDP セッション)が必要なワークロードでは Mesh を使います。Mesh は L3/L4 で動作し、接続をエンドツーエンドで維持します。接続の中断に弱いトラフィック向けの、推奨ソフトウェアオンランプです。ホスト名でサービスを公開したいとき、または cloudflared 経由で特定の IP 範囲へトラフィックをプロキシしたいときは Tunnel を使います。
ほかのメッシュネットワーキング製品からの移行ですか?
Tailscale、WireGuard、または類似製品を使っていた場合、概念は次のように Cloudflare Mesh へ対応します。
| ほかの製品 | Cloudflare Mesh |
|---|---|
| Tailnet / メッシュネットワーク | Cloudflare アカウントの Mesh ネットワーク |
| ノード / ピア | Mesh ノード(サーバー)またはクライアントデバイス(ノート PC / スマートフォン) |
| サブネットルーター | CIDR ルート 付きの Mesh ノード |
| MagicDNS / カスタム DNS | Local Domain Fallback + Gateway リゾルバーポリシー |
| ACL / アクセスルール | Gateway ネットワークポリシー + デバイスポスチャ |
| 出口ノード | パブリック CIDR を Mesh ノードに付けると、それらの IP 向けトラフィックはそのノードから出ます。より広いインターネットフィルタには Gateway エグレスポリシー を使います。 |
| 管理コンソール | Cloudflare ダッシュボード ↗ の Networking > Mesh |
主な違い:
- 設定は Cloudflare ダッシュボードまたは API からすべて管理します。コマンドラインでの管理は不要です。
- Gateway ポリシー、デバイスポスチャ、ID チェックがプラットフォームに組み込まれています。
- トラフィックはデバイス間の直接経路ではなく、最寄りの Cloudflare データセンターを通ります。
- 最初の Mesh ノードを作成する — ダッシュボードのウィザードがプロビジョニングを扱います。Linux サーバーへのクライアントインストールは 2 コマンドです。
- クライアントデバイスを接続する — ノート PC とスマートフォンに Cloudflare One Client をインストールします。Mesh IP で互いに、また任意の Mesh ノードに到達できます。
- Docker / Kubernetes で動かす — Docker Compose、Kubernetes、CI/CD 環境向けに、Mesh ノードを Docker コンテナーとしてデプロイします。
- ルートを追加する(任意) — Mesh ノードの背後にあるサブネットを、どのデバイスからでも到達できるようにします。
- 高可用性を有効にする(任意) — フェイルオーバー用にノードのレプリカを複数動かします。
- Workers から接続する(任意) — VPC Network バインディングを使い、Cloudflare Workers からプライベートサービスへ到達します。
- アクセスを委任する(任意) — アカウント全体の制御ではなく、特定の Mesh ノードにメンバー権限を絞ります。