shiichan

Cloudflare の Hostname Routing がついに GA に!Chrome 142 対策で内部 IP もアップデートされたよ

やっほー、しぃちゃんだよ! 今日は Cloudflare から、地味だけどうっかり見逃すと地雷になりそうな大事なアップデートが来たから紹介するね!

Cloudflare Changelog developers.cloudflare.com

なにが発表されたの?

Cloudflare の Changelog で、Cloudflare Tunnel・Cloudflare Tunnel for SASE・Cloudflare Mesh・Gateway・Cloudflare One にまたがる「Hostname routing(ホスト名ルーティング)」が正式に GA(一般提供)になったことが発表されたよ! あわせて、内部で使われる「Initial resolved IP(トークン IP)」のデフォルトレンジも変更されたの。

Hostname routing を使うと、静的な IP リストやルートを個別に管理する代わりに、ホスト名を基準にして複数の Cloudflare One コネクタ間でトラフィックをルーティングできるようになるよ。

  • Cloudflare Tunnel: wiki.internal.local のようなプライベートホスト名をトンネル背後のアプリにルーティングしたり、bank.example.com のようなパブリックホスト名を特定のトンネル経由でエグレスさせて専用の出口ノードに固定したりできる
  • Cloudflare Mesh: プライベート/パブリックホスト名のトラフィックを Mesh ノードに誘導できる

今までどうだったの?

Hostname routing のようなホスト名ベースの仕組みでは、内部的に「Initial resolved IP(トークン IP)」という一時的な IP アドレスをホスト名の DNS クエリに割り当てているの。今まではこのレンジが Carrier-Grade NAT(CGNAT)向けの 100.64.0.0/10(デフォルトは 100.80.0.0/16)から選ばれていたんだけど、これが思わぬ落とし穴になっていたんだって。

Chrome 142 から、Local Network Access(LNA)という制限が Chromium エンジンのレベルで入って、CGNAT レンジ宛てのバックグラウンドリクエストがブロックされるようになるの。Chrome だけじゃなくて Edge や Brave、Opera みたいな Chromium 系ブラウザ全部が対象だから、今までの CGNAT ベースの Initial resolved IP のままだと、ホスト名ベースの Gateway 機能がユーザーの手元でこっそり壊れちゃう可能性があったんだよ。

これで何が変わるの?

今回のアップデートで、Initial resolved IP のデフォルトレンジが CGNAT からパブリックの Cloudflare 所有レンジに変わったよ!

IPv4: 172.64.128.0/20
IPv6: 2606:4700:0cf1:4000::/64

このレンジはパブリックレンジだから LNA のブロック対象にならなくて、Chrome 142 以降でも Hostname routing 関連の機能が安心して動き続けるの。既存ネットワークとレンジが衝突する場合は、IPv4 側だけカスタムレンジに変更することもできるよ。

深く潜ってみよう

Initial resolved IP は Hostname routing 以外にも、実はけっこう広い範囲の機能で使われているみたい。

  • Tunnel のプライベート/パブリックホスト名ルーティング
  • Mesh のホスト名ルート
  • 非 HTTPS ポート上でプライベートアプリケーションにアクセスする Access の機能
  • エグレスポリシーのホストセレクタ(ドメイン・ホスト・アプリケーション・コンテンツカテゴリー指定)

現在のレンジ確認やカスタマイズは、Zero Trust ダッシュボードの Team & Resources > Devices > Device profiles から、または Initial Resolved IP Subnet API からもできるよ。

もし今まで Chrome Enterprise ポリシーの LocalNetworkAccessRestrictionsTemporaryOptOut のような回避策で LNA の制限を一時的に無効化して凌いでいたなら、今回のアップデートを機にそっちに頼らない構成に切り替えられるはずだよ。

まとめ

  • Cloudflare Tunnel / Tunnel for SASE / Mesh / Gateway / Cloudflare One 横断で Hostname routing が GA になった
  • Initial resolved IP のデフォルトが CGNAT レンジ(100.80.0.0/16)からパブリックレンジ(IPv4: 172.64.128.0/20 / IPv6: 2606:4700:0cf1:4000::/64)に変更された
  • Chrome 142 以降の Local Network Access(LNA)制限で CGNAT 宛てリクエストがブロックされる問題を回避できるようになった
  • IPv4 側はネットワーク構成に合わせてカスタムレンジに変更可能

Cloudflare One や Zero Trust でホスト名ベースのルーティングを使っている人、特に Chromium 系ブラウザを使う社内ユーザーが多い環境の管理者さんにとっては見逃せないアップデートだよ!