IPv6のカオスもOK!Cloudflare TunnelでNASを外から楽々アクセス

Cloudflare Tunnelについてめっちゃ語る

日本のIPv6環境って、いまだに「ベンダー独自の仕様がゴチャゴチャで、ルーターの設定見ても一体どこに手をつければ……?」みたいな状態ですよね。しかもISPによってはデュアルスタックだったり、IPv6しか割り当てられなかったり、はたまたDS-LiteだのMAP-Eだの、もうハマる人はハマるし、何をどう調べたらいいのか途方に暮れちゃうこともしばしば。
でも「外からNASにアクセスしたいけど、ポート開放したくないし、そもそもルーターのNATの設定が難しい……」みたいなときにかなり使えるのが Cloudflare Tunnel ってやつです。昔は「Argo Tunnel」って呼ばれてたんですけど、要するに「LANの中にトンネル用のコネクタみたいなのを立ち上げて、そのコネクタからCloudflareのネットワークに安全にトンネルを張っちゃおう」という仕組み。

ポート開放しなくても外部アクセスできる

本来なら自宅のルーターで「外部のポート80・443を内側のNASに転送して……」とか設定するじゃないですか。しかもIPv6だと、プロバイダ側が勝手にフィルタリングかけてることもあるし、場合によってはそもそもグローバルIPv6アドレスに直接アクセスできないケースも。
Cloudflare Tunnelを使うと、LAN側(NASがあるネットワーク)からCloudflare側に アウトバウンド通信だけ でトンネルを張るんですよ。ルーターの外に向けて、NAS自身が「Cloudflareさん、俺をここから外に出して~」って感じで接続を作るイメージ。
外からのアクセスは、一度Cloudflareのネットワークに行って、そこから既に張られている安全なトンネル越しにNASへ到達する。だから「ポート開放」という概念自体が不要で、ポート全閉じでもアクセスできる ってわけです。ルーターの構成がどんなに混沌としていようが、これが成立しちゃう。

                      +----------------------+
                      |  External Network   |
                      | (Laptop, Smartphone)|
                      +----------+----------+
                                 |
                                 | (Internet)
                                 |
                      +----------v----------+
                      | Cloudflare Service |
                      +----------+----------+
                                 |
                       (Encrypted Tunnel)
                                 |
            +--------------------v--------------------+
            |        Home Router (LAN Gateway)       |
            +--------------------+--------------------+
                                 |
                      +----------v----------+
                      | NAS (Cloudflare    |
                      |       Tunnel)      |
                      +----------+----------+
                                 |
                      +----------v----------+
                      | Local Devices (PC, |
                      |  Smartphone)       |
                      +--------------------+

構成はこんな感じです

セキュリティ面もバッチリ

「ポート開放なしで外部アクセスできる」って、なんだかすごく危ない雰囲気も漂いますけど、実は逆でかなり安全 です。
なぜかっていうと、基本的にルーターの外から直接NASに向けてコネクションを張る経路が一切ないし、Cloudflare側もZero Trust的なコンセプトでトンネルを管理してるんですよ。
さらにSSL/TLS通信を挟むので、中間者攻撃を防ぎやすいです。外部からNASを見に行こうとしても、いきなりNASのIPを叩くのではなく、必ずCloudflare経由になります。しかも、トンネルへのアクセス自体にログイン認証やアクセス制御を付与できる。例えば「自分のGoogleアカウントで認証済みの人しか入れない」とか、「会社のSSOと連携してセキュリティを強化する」とか、いろいろアレンジ可能。
個人的に「もうポート開放してアクセスする時代じゃないよなあ」と思わされるぐらい、しっかり作り込まれてるなと感じます。

セットアップ手順も意外とカンタン

Cloudflare Tunnelを使うには、まずCloudflareのアカウントを作って「Zero Trust」セクションでトンネルを作るところから始まります。で、トンネルを作成したら、そのトンネルを動かすためのエージェントソフトウェア(cloudflared)をNASか、もしくはNASと同じLAN内のマシンに導入すればOK。SynologyのNASの場合はDockerコンテナで cloudflared を起動して常駐させておけば、あっさり動きます。
Docker環境がない人は、PCやRaspberry Piなんかにcloudflared入れてもいいわけです。要はLAN内で動く何かしらのホストがトンネルを張ってくれればいい。昔はコンソール操作も多かったけど、今はGUIでポチポチ設定できる部分も増えました。

IPv6のカオスでも問題なし

冒頭でも触れたように、日本のIPv6はベンダー依存が強くて「結局ちゃんとグローバルに出せるのこれ?」という疑問が絶えないんですが、Cloudflare Tunnelを使うとそういう細かいところをほとんど意識しなくて良くなります。
NASが外に向けてさえ通信できれば(つまり普通にウェブアクセスできれば)トンネルが張れるので、結果的にIPv4だろうがIPv6だろうが混在してようが、全部クラウド側の転送ルールでやり取りしてくれる。「うわ、ISPがDS-Liteしかサポートしてない……」みたいな環境でも、問題なく外部からNASに繋げるんですよ。

高度な機能もてんこ盛り

Cloudflare Tunnelは単なるトンネル機能だけじゃなくて、アクセス制御(Zero Trust Access)やWAF(Web Application Firewall)の機能とも連携できます。
たとえば、自宅NASの管理画面や特定のウェブアプリに対して「特定のメールアドレスドメインを持つユーザーしかアクセスさせない」とか、「SNSログイン使って2段階認証強制」みたいなガッチリめの対策もできる。
本格的に使うならCloudflareのZero Trustダッシュボードを覗いてみると、そこに「Access」とか「Gateway」といったセクションがあるんで、あれこれ試してみると面白いかと。

まとめると

  • IPv6がカオスでも、ポート開放がなくても外部接続できる
  • セキュリティが高く、アクセス制御も柔軟
  • Dockerなどを使えば導入も比較的簡単
  • Cloudflare Zero Trustの高度機能も使える

こんな感じで「オレ、NASを外からいじりたいけどポート開放はしたくないし、IPv6とかもうゴチャゴチャ分かんねえ!」って方には、まさに救世主みたいな仕組みがCloudflare Tunnelなんですよね。もちろん細かい注意点や設定上の工夫はあるけど、ネットで「NASに外からアクセスしよう!」って検索して出てくる古いポート開放情報とは、ちょっと次元が違うアプローチ。
最近のNASは割とこのあたりの機能を内蔵してたり、公式ドキュメントでVPN設定を推奨してたりと手法は多岐にわたりますが、個人的には「いちばん手間が少なくてセキュリティも高いのってCloudflare経由じゃね?」と思ってます。何かとハマりがちなIPv6環境でもスイスイ動くのが最高に嬉しい。いっぺん試してみると、「あ、もう昔ながらのポート開放には戻れないな……」ってなること請け合いです。

Cloudflare Tunnelを使って外出先でも自宅のNASにSMBで接続する

Tunnelを使えるようにする。

💡
前提としてCloudflareでドメインを所持している必要があります。

基本的にはCloudflareが用意してくれているドキュメントに書かれたインストラクションに従っていけば問題ありません。

SMB · Cloudflare Zero Trust docs
The Server Message Block (SMB) protocol allows users to read, write, and access shared resources on a network. Due to security risks, firewalls and ISPs usually block public connections to an SMB file share. With Cloudflare Tunnel, you can provide secure and simple SMB access to users outside of your network.

ルーターの設定

まずはルーターの管理画面にログインします。

何をするかですが、ルーターにはDHCPといい、接続されている危機にIPアドレスを振る機能があります。これはIPv4での仕様でして、IPアドレスの枯渇を避けるために利用されています(そもそもLANという概念自体IPアドレスの枯渇を避けるために利用されています)。問題はローカルIPアドレスすら枯渇することがあるため、ルーターはそういった事態を避けるためにそれぞれの接続デバイスに割り振っているIPアドレスを適宜変更します。一般的なモバイル端末では問題になりませんが、プリンターやIoTなど一部の機器ではローカルデバイスからのアクセスがあることを前提に動くものがあり、IPアドレスの変更は住所変更により不届きになってしまうわけです。

そうならないようにするために、MACアドレスなどを利用してIPアドレスを紐づけ、固定することが必要です。これは一般的なルーターでしたらどのルーターにもある機能です。

これは各ルーターのメーカーによって設定画面が異なるため、統一した説明をするのが難しいのが現実です。

今回はNASのIPアドレスを192.168.0.50に固定したとします。今後はこのアドレスをNASのIPアドレスと呼びます。

Cloudflareのセットアップ

Zero TrustとTunnelの出口を設定する

CloudflareのZero Trust管理画面にログインします。

初回利用時は個人で無料プランであってもOrganizationと同じように支払い方法などの選択が必要です。噂によれば個人のクレジットカードではうまくいかないようで法人名義が必要だそうです。しかし!!!PayPalを使えば個人名義のクレジットカードでも引き落としに登録できます。ということで、PayPalを使ったことのない人は、海外決済に便利ですしこの際に作ってしまいましょう。

Cloudflare One
Cloudflare One replaces legacy security perimeters with our global edge, making the Internet faster and safer for teams around the world.
かんたん&安全なオンライン決済サービス | PayPal JP
ペイパルの日本語公式ホームページです。ペイパルは、クレジットカードや銀行口座で支払いと受け取りが簡単にできるオンライン決済サービスです。世界2億5000万人以上のユーザーが日々国内外で利用しています。

管理画面には入れたら「ネットワーク」から「Tunnel」に入り新規トンネルを作成します。トンネル種類はcloudflaredを選択し、トンネルにmy-nasとか適当に名前を付けておきましょう。

その後、「Public Hostnames」タブで、使用するドメインをドロップダウンメニューから選択し、任意のサブドメイン(例えばsmb.example.com)を指定します。次に、サービスの種類としてTCPを選択し、SMBがリッスンするポートを入力します。

💡
SMBの選択肢がありますが、選択するのはTCPです

通常、SMBはポート445で動作しているため、localhost:445と設定します。設定が完了したら「Save hostname」をクリックして保存します。さらに、より安全に管理するために、Cloudflare Accessを使用してアクセス管理を設定することを推奨します。これにより、不正アクセスを防ぎつつ、安全にSMBサーバーへ接続できるようになります。

コネクタをインストールして実行する画面まで来たら、環境はDockerを選択し、下に表示されるコマンドをコピーします。

docker run cloudflare/cloudflared:latest tunnel --no-autoupdate run --token <token>

このコマンドをメモ帳とかに貼り付けておきます。

NASで動かすうえではこのコマンドに不要な部分が含まれているため、削除しておきます。削除する部分は冒頭のdocker run cloudflare/cloudflared:latestの部分です。改良後のコマンドは以下のようになっているはずです。

tunnel --no-autoupdate run --token <token>

NASのセットアップ

NASにTunnelの入り口を設定する

NASにはCloudflareと通信をするためのcloudflaredを実行する必要があります。

cloudflaredはDockerコンテナで提供されており、NAS側ではDockerの実行環境さえ入れればポチっとな、で実行できます。らくちんです。

Downloads · Cloudflare Zero Trust docs
Cloudflare Tunnel requires the installation of a lightweight server-side daemon, cloudflared, to connect your infrastructure to Cloudflare. If you are creating a tunnel through the dashboard, you can simply copy-paste the installation command shown in the dashboard.
GitHub - cloudflare/cloudflared: Cloudflare Tunnel client (formerly Argo Tunnel)
Cloudflare Tunnel client (formerly Argo Tunnel). Contribute to cloudflare/cloudflared development by creating an account on GitHub.

NASのDocker実行環境はDSM7.2以降からContainer Managerに代わっています。DSMのパッケージセンターからContainer Managerを探し、インストールしてください。

Container Manager - アドオン パッケージ | Synology Inc.
Container Manager は軽量の仮想化アプリケーションで、世界中のデベロッパーが DSM で作成した何千ものコンテナを実行できます。非常に一般的な組み込みイメージ レポジトリである Docker Hub は、他の有能なデベロッパーが共有しているアプリケーションを探し出すことができます。

Container Managerがインストールできたら開いてください。

画面左にある「レジストリ」タブを開き、検索ボックスにcloudflare/cloudflaredと入力してください。一番上に出てくるであろうcloudflare/cloudflaredを選択し、ダウンロードしてください。途中タグを選択するよう促されますが、latestを選択してください(おそらくデフォルトのままで問題ありません)。

ダウンロードが終わると、cloudflaredが「イメージ」に追加されます。画面左側にある「イメージ」タブからcloudflaredを「起動」してください。

イメージを起動すると設定を行う画面が開かれます。以下の部分を変更してください。

  • 「全般設定」セクションにある、「自動起動を有効にする」にチェックを入れ、有効化する(これにより、NASが再起動した際も自動的にcloudflaredが起動します)
  • 「ネットワーク」セクションにある「同じネットワークをDockerホストとして使う」にチェックを入れ、選択します(これによりlocalhostがNASのIPアドレスを指し示すことになります。すなわち今回の場合、localhost=192.168.0.50となります)
  • 「実行コマンド」セクションにある「コマンド」ボックスに先ほどメモしたコマンドから無駄な部分を取り除いたもの(tunnel --no-autoupdate run --token)を貼り付けます。(これによりcloudflareとNAS間のアクセスが許可されます)

設定を済ませたらコンテナを実行してください。

実行後にCloudflareのTunnel管理画面を見ると、以下の画面のようにNASとの接続が確立されていることが確認できるはずです。

StatusがActiveとなり、接続デバイスを確認することができます

NASがSMBで利用するポートをローカルアクセスに対して許可する

公式ドキュメントを見ると、SMBでは445ポートが利用されるとあるので、localhostに対して445番ポートを許可するように変更しておく。

DSM サービスはどのネットワーク ポートを使用しますか - Synology ナレッジセンター
Synologyナレッジセンターは、総合的なサポートをお届けするもので、よくある質問に対する回答の提供、トラブルシューティング手順、ソフトウェア チュートリアル、そして必要になるすべての技術文書が提供されます。

Windowsパソコンのセットアップをする

これまでNASとCloudflareの通信が安全になるようやってきた。ここからは手元のパソコンとCloudflareの間の通信を安全になるよう設定していく。

WindowsパソコンにCloudflare WARPを導入し、Cloudflare Zero Trustを有効化する

以下のページからCloudflare WARPの安定リリース版をダウンロードする。

Download WARP stable releases · Cloudflare Zero Trust docs
This page contains the stable WARP client releases currently supported by Cloudflare. We recommend using stable releases for production environments. You can download stable releases from the links below after checking requirements.

Cloudflare WARPの設定を開き、Zero Trustにログインします。

ログインをするにはCloudflareに登録したチーム名を入力する必要があります。「チーム名なんて覚えてねえよ」となっても慌てないで下さい。世界中の皆さんが同じような悩みを持っていて、Cloudflareのコミュニティに山のように同じ質問が投稿されています(where can i see my cloudflare team nameなどと調べてくればたくさん質問が出てきます)。team nameはCloudflareのダッシュボードにログインし、Settingsから Custom Pagesを開くことで確認することができます。

Cloudflare One
Cloudflare One replaces legacy security perimeters with our global edge, making the Internet faster and safer for teams around the world.

team nameを確認したからと言ってまだcloudflareの画面を閉じないでください。CloudflareのZero Trustはデフォルトですべてのアクセスをはじく設定になっています。登録すらさせない設定ですので、正しいメールアドレスを登録しているユーザーは通過させるといった許可設定が必要です。ダッシュボードからルールをセットアップする必要があります。ルールをセットアップした後は作成したルールを適用する必要があります。

Manage Access policies · Cloudflare Zero Trust docs
Access policies define the users who can log in to your Access applications. You can create, edit, or delete policies at any time and reuse policies across multiple applications.
Manage Access policies · Cloudflare Zero Trust docs
Access policies define the users who can log in to your Access applications. You can create, edit, or delete policies at any time and reuse policies across multiple applications.

Cloudflaredをインストールする

windowsボタンを押し、検索ボックスにcmdと入力し、コマンドプロンプトを開きます。

コマンドプロンプトに以下のコマンドを入力し、実行してください。

winget install --id Cloudflare.cloudflared
Downloads · Cloudflare Zero Trust docs
Cloudflare Tunnel requires the installation of a lightweight server-side daemon, cloudflared, to connect your infrastructure to Cloudflare. If you are creating a tunnel through the dashboard, you can simply copy-paste the installation command shown in the dashboard.

SMBプロトコルと競合するWindowsサービスを停止する

WindowsでSMBのポートを指定できない場合、ローカルサーバーを無効にする必要があるかもしれません。クライアントマシン上のローカルサーバーは、CIFS/SMBで使用されるデフォルトのポート445を占有しているため、このポートを使ってCloudflare経由でアクセスしようとすると接続がブロックされてしまうことがあります。

⚠ 注意

Windowsの「Server」サービスは、ファイル共有やプリンター共有、名前付きパイプ通信などのネットワーク機能を提供しています。このサービスを無効にすると、これらの機能が動作しなくなる可能性があるので注意してください。

Windowsでローカルサーバーを無効にする方法
  1. Win + R を押して「ファイル名を指定して実行」ウィンドウを開く
  2. services.msc と入力して Enter を押す
  3. 「Server」 というプロセス(または似た名前のもの)を探す
  4. そのサービスを停止し、「スタートアップの種類」「無効」 に設定
  5. 「TCP/IP NetBIOS Helper」 についても、同様にサービスを停止して「無効」に設定

これで、ローカルサーバーがSMBのポートを専有するのを防ぎ、Cloudflare経由での接続が可能になるはずです。

Cloudflaredが自動起動するようにする

Windowsで決まったコマンドを実行するにはタスクスケジューラを利用します。

Windowsボタンを押し、検索ボックスに「タスクスケジューラ」と入力し、タスクスケジューラを起動します。

タスクスケジューラを起動した様子です

「全般」タブは以下のように設定を変更します。

タスクの作成画面です
「タスクの作成」タブは最終的にこうなるはずです
  • 名前:適当に名前を付けます。Windowsではたくさんのタスクがデフォで登録されています。自分のタスクをいじるときに見つけにくいとめっちゃだるいのでわかりやすい名前にしておきましょう。
  • 説明:名前を見て何が何だかわからないものにならないよう簡単な説明を書いておきましょう。
  • セキュリティオプション:
    • 「ユーザーがログオンしているかどうかにかかわらず実行する」にチェックを入れる
      • 「バスワードを保存しない」にチェックを入れる
  • 「最上位の特権で実行する」にチェックを入れる
  • 表示しない:チェックを入れる
  • 構成:Windows 10に変更する

「トリガー」タブで「新規」ボタンをクリックし、新しくトリガーをセットします。

「新規」ボタンをクリックすると、以下のような画面が開き、タスクを実行するトリガーを設定できます。

新しくトリガーを設定します
トリガーが登録された状態
  • タスクの開始:プルダウンから「ログオン時」を選択

「操作」タブで「新規」ボタンをクリックし、タスクで実行する操作を登録します。

「新しい操作」タブは最終的にこうなるはずです
「新しい操作」タブは最終的にこうなるはずです

以下のコマンドを「プログラム/スクリプト」ボックスに入力してください

cloudflared.exe

「引数の追加」ボックスに以下のコマンドを入力してください。

💡
かならず、example.comの部分はCloudflareで設定した(あなたの)URLに置き換えてください

access tcp --hostname smb.example.com --url localhost:445

なお、公式ドキュメントにはlocalhost:8445とありますが、これは誤植と思われます。


「条件」タブで条件を設定します。

初期状態の「条件」タブ
「条件」タブは最終的にこうなるはずです
  • 「コンピューターをAC電源で使用している場合のみタスクを開始する」のチェックマークを外し、無効化します。
  • 「次のネットワーク接続が使用可能な場合のみタスクを開始する」にチェックを入れ、「任意の接続」になっていることを確認します(ネットワークに接続されていない場合、Cloudflareと通信を確立できませんので、ネットワークに接続されている場合のみ実行されるようにします)。

設定ができたらいったんパソコンを再起動してください。

接続!!!!

長かったですが、最後です。

エクスプローラーを開き、​PC​の「​​​​​​ネットワークの場所」の何もない部分を右クリックしてコンテキストメニューを開きます。

コンテキストメニュー

コンテキストメニューの中にある「ネットワークの場所を追加する」をクリックします。

エクスプローラーの接続先は\localhost\homeなどです。デフォルトで生成されるユーザーのディレクトリ名はhomeなので、基本的にはこれで問題ありません。共有フォルダーも追加したい場合は共有フォルダーの名前をDS fileなどから名前を見て後ろに入力すれば問題ありません(例:\localhost\共有フォルダ)。

認証に利用するユーザー名とパスワードはDSMで作成した各ユーザーのユーザー名とパスワードです(二段階認証はありません)。


めちゃめちゃ長かったですね。

お疲れ様でした。


参考サイト

Synology NASをインターネットから安全にアクセスする方法:Cloudflare Tunnelを活用する
我が家では、写真やドキュメントの管理・保管に Synology NAS を利用しています。 これまでインターネットから自宅内のSynologyNASにアクセスするために、DDNS(Dynamic DNS)と呼ばれる仕組みを利用していましたが、セキュリティの向上を目的にCloudflare Tunnelを利用した仕組みに変更しました。 この記事ではCloudflare Tunnelを利用してインターネットから自宅内のSynologyNASにアクセスする方法を紹介します。 はじめに Synology NASへのインターネットからのアクセス方法として、公式にはQuickConnectとDDNSを利用した方法が紹介されています( ドキュメント)。 ざっくりと、QuickConnectは設定は簡単だが低速、DDNSは設定が多少複雑だが高速という特徴があります。 我が家ではこれまでDDNSを利用していましたが、DDNSでは設定したドメイン名に自宅のIPアドレスが直接紐づくため、外部に自宅のIPアドレスが公開されている状況でした。 複数のサーバーを自宅内に持っていることもあり、IPアドレスが公開されていることにセキュリティ面で気になったので、自宅のIPアドレスを隠ぺいできるCloudflareTunnelを利用してみました。 Cloudflare Tunnelについて Cloudflare Tunnelは、Cloudflare社のネットワークとcloudflaredデーモンを利用することで、自宅のIPアドレスを公開しない&インバウンドのポート開けをせずに、インターネットから自宅内のサーバーにセキュアに接続できる仕組みです。(下画像、公式サイトの概要図) Cloudflare Tunnelの仕組み 上画像のように、外部からのリクエストはまずCloudflare社のサーバーに届きます。そして、次にPrivateNetwork内のcloudflaredデーモンを起動しているサーバーに届き、最後に目的のサーバーにリクエストが届きます。 今回のSynology NASの例では、下記によってこの仕組みを実現します。 Synology NASのDockerコンテナ上でcloudflaredデーモンを起動 目的のサーバーをSynology NASのDSMに設定 Synology NAS + Cloudflare Tunnelの設定方法 まず、前提としてCloudflareのアカウント登録と、独自ドメインの取得が必要です。 Cloudflareの公式サイトを参考に、アカウントの作成と独自ドメインの登録/移管を行います。 Cloudflare Tunnelの作成 まず、Cloudflareのポータルサイトから、Tunnelの設定を行います。 Zero Trust > ネットワーク > Tunnelsに移動して、「トンネルを作成する」ボタンを押下します。 トンネルの種類で「Cloudflared」を選択し、トンネルに任意の名前を付けて「トンネルを保存」を押下します。 コネクタをインストールして実行する、という画面でDockerを選択し、コマンドをコピーします。 Dockerを選択して、コマンドをコピーする 1 2 # コピーしたコマンド例 docker run cloudflare/cloudflared:latest tunnel --no-autoupdate run --token <token> このTokenをSynology NASのDockerコンテナで起動するcloudflaredデーモンに引数として渡します。 ※この画面を消さずに、次の「Synology NASでCloudflaredデーモンを起動」を実施してください。下記を実施すると、画面下部に認識されたデーモンが表示されます Synology NASでCloudflaredデーモンを起動 Synology NASに移動して、Container Managerを起動してcloudflare/cloudflared:latestイメージをダウンロードしましょう。(詳細は割愛)
SynologyのWebサーバをCloudflresのDNSにトンネルで接続する方法 | ホームNW研究所ホームNW研究所
SynologyのWebサーバをCloudflareにtトンネルで接続する為には①Cloudflareとサーバ間にトンネルを作成する②トンネルにWebサーバを定義する皇都で行います。
NASを建てて、光クロスな自宅の外からアクセスしたい!

3/5追記

Cloudflare Zero Trustを有効化している際はDavinci Resolveを開けない・クラッシュする問題

CloudflareのWARPを使っているとなぜかDavinci Resolveがクラッシュする、というか開けない。これは公式フォーラムでも取り上げられているが全く対応されない。

Blackmagic Forum • View topic - DRS crashes when CloudFlare WARP VPN is active

Redditではいろいろ試してくれた先人が解決策を見つけてくれた。

Cloudflare crash on startup fixed by removing panel support
by in davinciresolve
「Cloudflareが起動時にクラッシュする問題は、パネルサポートを削除することで解決しました。
解決方法
Cloudflare Warpや特定のVPNサービス(すべてではない)を使用していて、Resolveが起動時にクラッシュする場合は、Resolveをアンインストールし、DaVinci Control Panelsなしで再インストールしてみてください。
かなり調べた結果、Cloudflareとの問題はパネルの検出に関するもので、DaVinci Control Panelsをインストールしないことで問題が解決しました。
パネルを使用している場合、当然これでは解決になりません。
これはCloudflare Zero TrustをWarpとともに使用している場合に動作しますが、標準の消費者向けWarp製品でも動作するはずです。」

より簡単には下のコメントにあるように、単にDaVinci Control Panelsを削除すれば解決します。

「DaVinciを完全に再インストールする代わりに、設定 > アプリ > インストール済みアプリからDaVinci Control Panelsをアンインストールするだけで問題が解決しました。」

ちなみに、Davinci Control PanelはDavinci Resolveで利用可能な外付けの専用デバイスを利用するために必要なアプリケーションです。

DaVinci Resolve 19 – パネル | Blackmagic Design
革命的な新ツールを搭載。編集、カラーコレクション、プロフェッショナルなオーディオ・ポストプロダクションを単一のアプリケーションで実現できます。