Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

Private DNS

最終更新 Markdown で表示Agent セットアップ

デフォルトでは、ユーザーデバイス上のすべての DNS リクエストは、ローカル解決でよく使うトップレベルドメイン(localhost など)を除き、Cloudflare の パブリック DNS リゾルバー で解決されます。内部 DNS リゾルバーを Cloudflare に接続し、公開ルーティングされないドメインの解決に使えます。

プライベート DNS を設定する

プライベート DNS クエリを解決するには:

  1. Cloudflare Tunnel で プライベートネットワークを接続 します。

  2. Networking > Routes で、内部 DNS リゾルバーの IP アドレスがトンネルに含まれていることを確認します。

    Routes を開く ↗
  3. 次のいずれかの方法で、特定の DNS クエリを内部 DNS リゾルバーへルーティングします。

    • 内部 DNS リゾルバーを指す Local Domain Fallback エントリを作成 します。たとえば、myorg.privatecorp へのリクエストをすべて、公開解決せず内部リゾルバー 10.0.0.25 で解決するよう、Cloudflare One Client に指示できます。
    • または、内部 DNS リゾルバーを指す リゾルバーポリシーを作成 します。

      リゾルバーポリシー は Local Domain Fallback と似た機能を提供しますが、ローカルデバイスではなく Cloudflare Gateway で実行されます。プライベート DNS 解決をより細かく制御したい場合に推奨します。たとえば、特定の地域のユーザー全員が最も近いプライベート DNS サーバーを使うようにしたり、プライベート DNS トラフィックを解決する前に特定の条件を満たすようにしたり、プライベート DNS トラフィックに Gateway の DNS ポリシー を適用したりできます。

  4. TCP と UDP 向けに Gateway プロキシを有効化 します。

  5. 最後に、トンネルのデフォルト トランスポートプロトコル が QUIC であることを確認します。これにより、cloudflared が UDP ベースのトラフィックをプロキシできます。ほとんどの場合、DNS クエリの解決に必要です。

Cloudflare One Client は、解決のために内部 DNS リゾルバーへ DNS クエリを送るようになります。詳細は Cloudflare One Client が DNS リクエストを処理する方法 を参照してください。

セットアップをテストする

テストとして、内部 DNS サービスに対して dig コマンドを実行します。

dig AAAA www.myorg.privatecorp

myorg.privatecorp をフォールバックドメインとして上で設定したため、この dig コマンドは動作します。そのステップを省略した場合でも、プライベート DNS リゾルバーを使うよう dig を強制できます。

dig @10.0.0.25 AAAA www.myorg.privatecorp

エンドユーザーのデバイスで Cloudflare One Client が無効な場合、どちらの dig コマンドも失敗します。

トラブルシューティング

Cloudflare Tunnel でプライベート DNS を設定するときに問題が起きたら、次の切り分けを試してください。

  • Cloudflare ダッシュボードの Networking > Tunnels を開き、cloudflared が Cloudflare に接続されていることを確認します。

  • cloudflaredquic プロトコルで動作していることを確認します(ログで Initial protocol quic を探します)。

  • cloudflared を実行しているマシンが、Cloudflare への通信のため UDP ポート 7844 での送信を許可されていることを確認します。

  • エンドユーザーのデバイスが Cloudflare One Client に登録されていることを、https://help.teams.cloudflare.com で確認します。

  • Gateway ネットワークポリシー優先順位 を再確認します。より広い Block または Allow ポリシーが、アプリケーション固有のポリシーより優先されていないことを確認します。

  • Gateway ネットワークログ で、UDP の DNS 解決が許可されているかブロックされているかを確認します。

  • 内部 DNS リゾルバーが、ルーティング可能なプライベート IP アドレスで利用できることを確認します。cloudflared を実行しているマシンで dig コマンドを試して確認できます。

  • dig ... +tcp を使い、DNS 解決を UDP ではなく TCP に強制してセットアップを確認します。

役に立ちましたか?