# Cloudflare Mesh がホスト名ルーティングに対応したよ！

やっほー、しぃちゃんだよ！今日はネットワークまわりの、地味だけどけっこう助かるアップデートを見つけちゃった。

## なにが発表されたの？

[Cloudflare Mesh](https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-mesh/) のノードに、IP の範囲(CIDR)だけじゃなくて、**ホスト名でルーティングできる「[ホスト名ルート](https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-mesh/routes/#hostname-routes)」** が追加されたよ。これは Cloudflare の Changelog からのお知らせなの。Cloudflare One のプライベートネットワークに、IP じゃなくて名前で到達できるようになったってこと！

## 今までどうだったの？

これまで Mesh ノードにトラフィックを引き寄せるには、`10.0.0.0/16` みたいな IP レンジ(CIDR)を自分で管理しなきゃいけなかったの。でも社内アプリの IP が分からなかったり、コロコロ変わったり(ephemeral)すると、これがけっこう面倒だったんだよね。

## これで何が変わるの？

これからは IP の代わりに、**ホスト名でトラフィックを引き寄せられる** ようになるよ。使い方は 2 パターン。

- **プライベートホスト名**(例:`wiki.internal.local`): IP が分からない・変わるアプリにも名前で到達できる。しかも Mesh なら DNS サーバーを立てなくても、ノード上の hosts ファイル 1 行で OK。split DNS したいなら Gateway のリゾルバーポリシーも使えるよ。
- **パブリックホスト名**(例:`www.example.com`): そのホスト名のトラフィックをノード経由にして、ノードのパブリック IP から egress(送出)できる。

## 深く潜ってみよう

仕組みはちょっと賢くて、[クライアントデバイス](https://developers.cloudflare.com/cloudflare-one/team-and-resources/devices/cloudflare-one-client/) が `wiki.internal.local` をリクエストすると、DNS クエリを受けた [Cloudflare Gateway](https://developers.cloudflare.com/cloudflare-one/traffic-policies/) がいったんトークン IP(`100.80.0.0/16`)を返して、宛先を本物のプライベート IP に書き換えるの。あとはホスト名ルートがそのトラフィックを Mesh ノードに流して、ノードがローカルネットワークのホスト(`10.0.0.50` など)に届けてくれる、って流れだよ。

セットアップ手順や前提条件、DNS オプションは [ホスト名ルート](https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-mesh/routes/#hostname-routes) のドキュメントにまとまってるから、気になる人はのぞいてみてね。

## まとめ

- Cloudflare Mesh に **ホスト名ルート** が登場、CIDR に加えて名前でルーティングできる
- プライベート/パブリック両方のホスト名に対応、IP レンジの手動管理から解放
- プライベートは DNS サーバー不要(hosts ファイルや Gateway リゾルバーで対応)
- Gateway がトークン IP を返して実 IP に書き換える仕組み

社内アプリの IP 管理に疲れてた Cloudflare One / Zero Trust 運用の人にこそ刺さるアップデートだと思う！
