Cloudflare Tunnel

このCloudflare Tunnelは、ポートフォワーディングや公開IPアドレスが必要なく、インターネット経由でローカルサービスに安全なリモートアクセスを可能にします。接続はローカルシステムからCloudflareに構築されます。これにより、CG-NATまたは制限的なインターネット接続の背後にあるネットワークも安全に到達可能になります。

注意: Cloudflare TunnelはCore 2以降でのみ利用可能です。

注意: アントカスコントロールは、独自のTunnel経由での接続をサポートしており、設定なしでもビジュアライゼーションを公開できます。

前提条件

利用にはCloudflareアカウントと管理ドメインが必要です。管理はCloudflare API経由で自動的に行われます。使用するAPIトークンには適切な権限が必要です。詳細は後述の設定を参照してください。

サーバーが制限的なファイアウォールの背後にある場合、Cloudflareへの接続可能性を確保する必要があります。特にポート7844へのアクセスが許可されている必要があります。詳細については以下のリンクを参照してください:
https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-tunnel/troubleshoot-tunnels/connectivity-prechecks/

動作原理

Cloudflare Tunnelは、外部ユーザーが設定されたドメイン経由でビジュアライゼーションや他のアプリケーションにアクセスできるようにするため、Cloudflareへの暗号化された接続を構築します。この接続はCloudflareインフラを介して仲介され、ルーターでの受信ポートを開く必要がありません。

アプリケーションのポートは仮想ローカルネットワークインターフェースに割り当てられ、Tunnel経由で安全に公開されます。

設定

さまざまな設定方法があります。以下の章では、異なる設定と用途ごとの手順を説明します。

ローカル管理された設定

この設定では、Tunnel設定がアントカスコントロールに保存され、その後クラウドと同期されます。この方法の利点は、Tunnelを簡単に設定および管理できることです。ただし、サーバーの設定権限を持つすべてのユーザーがクラウド内のTunnel設定に変更を加えることができると注意してください。

Cloudflareアカウントのユーザープロフィールで新しいAPIトークンを作成します。このトークンには必ず以下の権限が必要です:

タイプ 対象 権限
アカウント Cloudflare Tunnel 編集
ゾーン DNS 編集

注意: DNSゾーンは少なくともアカウントに割り当てられている必要があり、アカウントを特定できるようにするためです。

その後、新しいCloudflare Tunnelインフラ構造サーバー ネットワーク VPNとTunnelに追加されます。各Tunnelは、例:cf-tunnel0のような仮想ネットワークインターフェースを作成します。まずTunnelの設定を完了し、その後アプリケーションを設定することをお勧めします。

注意: 既存のTunnelが選択された場合、接続を確立するためにTunnelの認証情報が上書きされる可能性があります。アントカスコントロールは、Cloudflareへの同時接続で1つのTunnelのみをサポートしています。

自動設定にはCloudflare APIトークンが必要です。このトークンを使用して、アントカスコントロールは必要なDNSレコードとTunnel設定を自動的に取得、作成、管理できます。APIトークンの作成方法については、以下のCloudflareヘルプを参照してください:
https://developers.cloudflare.com/fundamentals/api/get-started/create-token/

APIトークンが有効になった後、アカウントとTunnelを選択できます。新しいTunnelを作成することも可能で、その場合はサーバー名とインターフェース名が組み合わされた名前が付けられます。例:オフィスビル - cf-tunnel0

注意: Tunnelの設定は完全にAPI経由で自動的に行われます。サーバーがCloudflareと接続できるように、設定時に確保してください。

Tunnelが作成されたら、Tunnel経由でアクセスを受ける必要があるすべてのビジュアライゼーションにネットワークインターフェースを割り当てます。その後、これらはアプリケーションとしてTunnelに追加できます。アプリケーションは、設定されたTunnelよりも1レベル上にあります。

設定でドメインを選択し、サブドメインの名前を指定します。その後、エンドポイントを選択します。

注意: 名前が他のTunnelで既に使用されている場合、割り当てられず、従来通り接続が構築されます。名前が変更された場合、Antcas Controlはサブドメインを削除します。ただし、TunnelのIDがAntcasによって管理されている必要があります。

Zero Trust設定

ローカル管理された設定の代替案として、Zero Trust設定があります。この方法では、設定はCloudflareコンソールで行われ、その後アントカスコントロールと同期されます。この方法の利点は、Antcas Control経由でCloudflare設定にアクセスできないことです。

この設定では、インターフェースに必ずしもポートを割り当てる必要はありません。エンドポイントとしてネットワーク内の任意のアドレスを使用できます。これにより、例としてメインコネクタのポートやネットワーク内の他のサービスを開放できます。ただし、通常の設定とは異なり、localhostはエンドポイントとして使用できません。

接続が暗号化されていない場合、CloudflareコンソールでオプションnoTLSVerifyTRUEに設定する必要があります。ただし、サーバー外部のサービスへの暗号化されていない接続は、セキュリティ上の理由から推奨されません。

設定には、新しいCloudflare Tunnelインフラ構造サーバー ネットワーク VPNとTunnelに追加されます。各Tunnelは、例:cf-tunnel0のような仮想ネットワークインターフェースを作成します。設定にはZero Trust Tunnelのトークンのみが必要です。このトークンはCloudflareコンソールから直接コピーして貼り付けることができます。挿入されたテキストに完全なインストールコマンドが含まれている場合、自動的に削除され、トークンのみが保存されます。