Skip to content

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

任意の TCP

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

Cloudflare Access を使うと、エンドユーザーはシングルサインオン(SSO)プロバイダーで認証し、仮想プライベートネットワーク(VPN)に接続せずに、任意の TCP 経由でリソースへ接続できます。

要件

  • Cloudflare アカウント
  • Cloudflare 上で有効なサイト
  • ホストとクライアントの各マシンにインストールした cloudflared デーモン

Cloudflare Access を使うには、先に Cloudflare へ サイトを追加 する必要があります。登録済みの任意のサイトを使えます。顧客向けトラフィックと同じサイトである必要はなく、内部 DNS のサイトと一致している必要もありません。

サイトを Cloudflare に追加するには、ドメインの権威 DNS を Cloudflare のネームサーバーへ向ける必要があります。設定後、そのホスト名へのリクエストは先に Cloudflare のネットワークへ送られ、そこで Access ポリシーを適用できます。

ホストを Cloudflare に接続する

1. ホストマシンに Cloudflare デーモンをインストールする

Cloudflare デーモンの cloudflared は、マシンから Cloudflare へ、安全で永続的な、送信のみの接続を維持します。任意の TCP トラフィックは、この接続上で Cloudflare Tunnel を使ってプロキシされます。

リソースをホストするマシンへ cloudflared をダウンロードしてインストールするには、こちらの手順 に従います。

2. Cloudflare デーモンを認証する

次のコマンドを実行し、cloudflared を Cloudflare アカウントに認証します。

cloudflared tunnel login

cloudflared はブラウザーウィンドウを開き、Cloudflare アカウントへのログインを求めます。ブラウザーのないマシンで作業している場合、またはウィンドウが開かない場合は、コマンドライン出力の URL をコピーし、任意のマシンのブラウザーで開きます。

ログインすると、アカウントに追加したサイトが一覧表示されます。リソースを表すサブドメインを作成するサイトを選びます。たとえば、サービスを tcp.site.com で共有する予定なら、一覧から site.com を選びます。

選ぶと、cloudflared はそのサイトのワイルドカード証明書をダウンロードします。この証明書により、cloudflared はそのサイトのサブドメイン用 DNS レコードを作成できます。

3. Cloudflare Access でサブドメインを保護する

次に、登録予定のサブドメインを Cloudflare Access ポリシーで保護します。こちらの手順 に従い、リソースへの接続を制御する新しいポリシーを作成します。

たとえば、リソースを tcp.site.com で共有する場合は、チームメンバーだけがそのサブドメインへ接続できるポリシーを作成します。

4. リソースを Cloudflare に接続する

cloudflared は、標準以外のポートへの接続もプロキシできます。

次のコマンドを実行し、リソースを Cloudflare に接続します。tcp.site.com7870 は、自分のサイトとポートに置き換えます。

cloudflared tunnel --hostname tcp.site.com --url tcp://localhost:7870

cloudflared は接続の確立を確認します。このプロセスは常時稼働し、自動起動するように設定する必要があります。プロセスが終了すると、エンドユーザーは接続できなくなります。

クライアントマシンから接続する

1. クライアントマシンに Cloudflare デーモンをインストールする

上記と同じ手順で、リソースへ接続するクライアントデスクトップに cloudflared をダウンロードしてインストールします。接続する各ユーザーデバイスに cloudflared をインストールする必要があります。

2. リソースに接続する

次のコマンドを実行し、デバイスから Cloudflare への接続を作成します。利用可能な任意のポートを指定できます。

cloudflared access tcp --hostname tcp.site.com --url localhost:9210

このコマンドはデスクトップショートカットにまとめて、エンドユーザーがコマンドラインを使わずに済むようにできます。

クライアントアプリケーションを、選んだポートに向けます。

クライアントが起動すると、cloudflared はブラウザーウィンドウを開き、SSO プロバイダーでの認証を求めます。

よくある問題

  • マシンのファイアウォールがポート 80 と 443 の送信を許可していることを確認してください。許可されていないと、cloudflared はエラーを返します。

役に立ちましたか?