Cloudflare でプライベートネットワーク ‐ 内部ドメインの DNS 解決(WARP クライアント編)
はじめに
Cloudflare でプライベートネットワークを作るための Tips を書いていこうと思います。
まずは内部ドメイン の DNS で。
- ネットワークを繋ぐ部分は準備済みの前提でここでは解説しません
- エンタープライズプラン(Contract Plan)での機能も記載します
- Magic WAN の契約があると追加で設計が必要なので分けて書きます
- この記事で対象とする DNS クライアントは WARP クライアントです
設計のポイント
設計の際は下記がポイントになります。
- 内部ドメイン用の権威 DNS サーバ(あるいはリゾルバー)をどこに置くか
- そこへの到達を Gateway の Resolver(DNS Policies または Resolver Polices)経由にするかしないか
実装方法

内部ドメイン名の DNS 解決には大きく 4 つの方法があります。(Magic WAN 併用時は後述)
| 図中の番号 | DNS リソースの場所 | 備考 |
|---|---|---|
| 1 | Gateway の DNS Policies に記載 | Gateway DNS Policies(Override) |
| 2 | WARP トンネルの外にある DNS サーバー | WARP Local Domain Fallback |
| 3 | WARP トンネルの先にある DNS サーバー (cloudflared 経由) |
Gateway Resolver Policies(カスタム IP) または WARP Local Domain Fallback |
| 4 | Cloudflare の DNS サーバー | Gateway Resolver Policies(DNS ビュー) と Internal DNS エンタープライズのみ (2025 7月時点 closed beta) |
DNS クライアント
この記事での DNS クライアントは WARP クライアント Gateway with WARP モードです。

1. Gateway(DNS Policies)
DNS Policies の Override で応答を返します。
ゾーンを持つわけではなく、単にルールのとおりに応答します。

設定
- リクエストを Gateway Resolver に誘導するか( YES )
Local Domain Fallback
デフォルトでは localdomain は Local Domain Fallback の対象となっています。
そのままでは localdomain のクエリーが Gateway Resolver に届きません。
このような場合は Fallback domains から削除し、 Gateway Resolver に誘導します。

- DNS Policies
hoge.localdomainのクエリーに対し、172.16.0.252を返す(Override)ダッシュボード

結果
warp-cli
Fallback domains
PS C:\Users\AdeleVance> warp-cli settings
Merged configuration:
(network policy) Fallback domains:
** 宛先ドメインがマッチするドメインなし **
hoge.localdomain
PS C:\Users\AdeleVance> Resolve-DnsName hoge.localdomain
Name Type TTL Section IPAddress
---- ---- --- ------- ---------
hoge.localdomain A 60 Answer 172.16.0.252
2. WARP トンネルの外にある DNS
WARP トンネルからはアクセスできないプライベートネットワークで DNS 解決ができるケースです。

設定
- リクエストを Gateway Resolver に誘導するか( NO )
Local Domain Fallback
Local Domain Fallback に
local.oymk.workと DNS サーバー192.168.88.253を指定

- DNS サーバーは WARP トンネルの先にいるか( NO )
Split Tunnels
192.168.88.253/32(ここではそれを含む 192.168.88.0/24)を Split Tunnels で WARP トンネルの外に転送(Exclude モード)

結果
warp-cli
Exclude mode Fallback domains
PS C:\Users\AdeleVance> warp-cli settings
Merged configuration:
(network policy) Exclude mode, with hosts/ips:
192.168.88.0/24
(network policy) Fallback domains:
local.oymk.work -> [192.168.88.253]
local.oymk.work
PS C:\Users\AdeleVance> Resolve-DnsName pi.local.oymk.work
Name Type TTL Section IPAddress
---- ---- --- ------- ---------
pi.local.oymk.work A 60 Answer 192.168.88.253
PS C:\Users\AdeleVance> Resolve-DnsName -TYPE NS local.oymk.work
Name Type TTL Section NameHost
---- ---- --- ------- --------
local.oymk.work NS 60 Answer ns.local.oymk.work
3. WARP トンネルの先にある DNS
DNS サーバーが cloudflared の先にあるケースです。
Resolver Policies または Local Domain Fallback のどちらかで実装が可能です。
併用の場合は Local Domain Fallback が先に行われます。
ここでは Resolver Policies で実装します。

設定
- リクエストを Gateway Resolver に誘導するか( YES )
- Resolver Policies
intra.oymk.workドメインは172.16.0.253:53に問い合わせダッシュボード


結果
warp-cli
Exclude mode Fallback domains
PS C:\Users\AdeleVance> warp-cli settings
Merged configuration:
(network policy) Exclude mode, with hosts/ips:
** 宛先 DNS サーバー IP がマッチするサブネットなし **
(network policy) Fallback domains:
** 宛先ドメインがマッチするドメインなし **
intra.oymk.work
PS C:\Users\AdeleVance> Resolve-DnsName tun1.intra.oymk.work
Name Type TTL Section IPAddress
---- ---- --- ------- ---------
tun1.intra.oymk.work A 60 Answer 172.16.0.147
PS C:\Users\AdeleVance> Resolve-DnsName -TYPE NS intra.oymk.work
Name Type TTL Section NameHost
---- ---- --- ------- --------
intra.oymk.work NS 60 Answer ns.intra.oya.ma
4. Cloudflare の DNS
Cloudflare の提供する Internal DNS を利用するパターンです。(2025 年 7 月時点 closed beta)
Internal DNS を作成し Resolver Policies から参照します。

設定
- リクエストを Gateway Resolver に誘導するか( YES )
- Internal DNS
内部 zonecorp.oymk.workを 設定ダッシュボード


- Internal DNS
view 名Internalを 設定し、zone と関連付けダッシュボード

- Resolver policies
corp.oymk.workドメインの検索は view 名Intrenalを参照ダッシュボード


結果
warp-cli
Fallback domains
PS C:\Users\AdeleVance> warp-cli settings
Merged configuration:
(network policy) Fallback domains:
** 宛先ドメインがマッチするドメインなし **
corp.oymk.work
PS C:\Users\AdeleVance> Resolve-DnsName tun1.corp.oymk.work
Name Type TTL Section IPAddress
---- ---- --- ------- ---------
tun1.corp.oymk.work A 300 Answer 172.16.0.147
Magic WAN 併用時
WARP クライアント と Magic WAN との通信には下記の特徴があります。
- デフォルトの状態では WARP クライアントと Magic WAN 配下の通信は Gateway を経由せず、Magic WAN 内で閉じる
- Magic WAN との通信は Magic Firewall でのアクセスコントロールが可能

| 図中の番号 | DNS リソースの場所 | 備考 |
|---|---|---|
| 5 | Magic WAN の先にある DNS サーバー | WARP Local Domain Fallback |
5. Magic WAN の先にある DNS
Magic WAN の先にある DNS サーバーで内部ドメイン名の解決ができるケースです。
設定
- リクエストを Gateway Resolver に誘導するか( NO )
Local Domain Fallback
Local Domain Fallback に
wan.oymk.workと DNS サーバー172.16.1.254を指定

- DNS サーバーは WARP トンネルの先にいるか( YES )
Split TunnelsExcludeモードの場合、DNS サーバーの IP が のリストに無いことを確認
結果
warp-cli
Exclude mode Fallback domains
PS C:\Users\AdeleVance> warp-cli settings
Merged configuration:
(network policy) Exclude mode, with hosts/ips:
** 宛先 DNS サーバー IP がマッチするサブネットなし **
(network policy) Fallback domains:
wan.oymk.work (dns server behind Magic WAN) -> [172.16.1.254]
wan.oymk.work
PS C:\Users\AdeleVance> Resolve-DnsName rt.wan.oymk.work
Name Type TTL Section IPAddress
---- ---- --- ------- ---------
rt.wan.oymk.work A 60 Answer 172.16.1.254
PS C:\Users\AdeleVance> Resolve-DnsName -TYPE NS wan.oymk.work
Name Type TTL Section NameHost
---- ---- --- ------- --------
wan.oymk.work NS 60 Answer ns.wan.oymk.work
改造
例題
Q. hoge.internal ドメインを解決させたい。
A. この場合、現時点でのベストプラクティスは
-
hoge.internalを解決できる DNS サーバー(権威またはリゾルバー)を cloudflared トンネルの背後に設置 - Gateway で Resolver Policies を
hoge.internalに適用- 当該 DNS サーバーに転送 3
になるかと思います。
- Internal DNS に転送(エンタープライズプランが必要)4
も素敵ですが、 GA を期待しましょう。
おわりに
次回はエージェントレスでの接続を考えます。


Discussion