言語を切り替える
テーマを切り替える

Cloudflare Tunnel 入門:公網 IP なしでも内網サービスに安全アクセス

自宅 NAS のファイルにアクセスしたいのに接続できない。友人にローカルプロジェクトを見せたいのにリンクを共有できない——原因は同じ:公網 IP がない。ISP は公網 IP を割り当てないか、追加料金がかかる。動的 IP なら DDNS 設定も必要で、安定性も低い。frp や ngrok などの内網穿透ツールを試しても、クラウドサーバーが必要でコストがかかるか、無料版の制限が多い。

Cloudflare Tunnel は完全無料。公網 IP もクラウドサーバーも不要。ルーターのポート転送すら設定不要。HTTPS 暗号化と Cloudflare の DDoS 防御付き。この記事では Cloudflare Tunnel で内網穿透を実現する方法を解説します。NAS へのリモートアクセス、ローカルプロジェクトの共有、自宅サーバーへの SSH 接続——30 分で設定完了。

一、Cloudflare Tunnel とは?なぜ選ぶのか?

内網穿透が解決すること

まず、なぜ内網穿透が必要かを整理しましょう。

通常、自宅のデバイスはすべて内網にあり、プライベート IP(例:192.168.1.100)を持っています。デバイス同士は相互アクセスできますが、外網からは入ってこれません。会社やカフェから自宅 NAS にアクセスしたいなら、内網と外網をつなぐ「橋」が必要です。

従来の方法はポート転送:ルーターでポートを開き、外網リクエストを内網デバイスへ転送。ただし前提条件がある——公網 IP が必要。問題は、多くの家庭向け回線では公網 IP が割り当てられないか、キャリアグレード NAT で外から接続できないこと。

内網穿透が解決するのは、公網 IP がなくても外網から内網サービスにアクセスできるようにすることです。

Cloudflare Tunnel の仕組み

Cloudflare Tunnel の発想は巧妙で、従来の「外から穴を開ける」方式ではなく、内側から能動的に接続する

具体的な流れ:

  1. 内網デバイスで cloudflared という小さなプログラム(デーモン)を実行
  2. このプログラムが Cloudflare のグローバルネットワークに接続し、暗号化トンネルを確立
  3. 設定したドメイン(例:nas.yourdomain.com)にアクセスすると、リクエストはまず Cloudflare の CDN へ
  4. Cloudflare がこの暗号化トンネル経由で内網サービスに転送
  5. 内網サービスが処理後、データはトンネル経由で返る

こうすることで、内網サービスは外から完全に「見えない」——ポートを開放せず、公網 IP も不要。内→外の暗号化接続だけが存在する。セキュリティの観点では Zero Trust(ゼロトラスト) アーキテクチャの考え方:デフォルトですべての接続を信頼せず、すべてのトラフィックを認証・暗号化する。

たとえば言うなら、自宅と Cloudflare の間に専用線を引いたようなもの。自分だけが使え、外からはサーバーの場所が見えない。

なぜ Cloudflare Tunnel を選んだのか

内網穿透の選択肢は多い。いくつか試した結果、Cloudflare Tunnel を使い続けています。主な理由は以下のとおり。

frp(最も一般的な選択肢)との比較:

frp は確かに使いやすく設定も難しくない。ただしクラウドサーバーと公網 IP が必須。毎月サーバー代がかかり、設定・メンテナンスも手間。Cloudflare Tunnel ならそのコストが不要。Cloudflare の CDN と DDoS 防御も無料で使える。

ngrok(海外で人気)との比較:

無料版はランダムドメインが割り当てられ、再起動のたびに変わる。流量制限もある。独自ドメインを使うには有料版が必要。Cloudflare Tunnel は完全無料。カスタムドメインも自由に使え、流量制限なし。

Tailscale/ZeroTier(P2P ネットワーク)との比較:

仮想 LAN 方式で、考え方が異なる。スマホ・PC・サーバー間の相互アクセス向き。誰でもアクセスできる Web サイトを公開したい場合は Tailscale には不向き。Cloudflare Tunnel は「サービスを外部公開する」シーンに適している。

まとめると、Cloudflare Tunnel の強みは 3 つ:無料、安全、シンプル

ただし完璧ではない。最大の課題は 国内からのアクセス速度。Cloudflare の CDN ノードは主に海外にあり、遅延が高く、たまに断流もある。主に国内ユーザー向け、またはリアルタイム性が重要な用途なら他案を検討した方がよい。個人利用や非リアルタイム用途なら十分。

二、準備:必要なもの

設定を始める前に、準備するものを確認しましょう。どれも複雑ではなく、ほとんど無料です。

1. Cloudflare アカウント(無料)

cloudflare.com でアカウント登録。完全無料。すでに Cloudflare の DNS や CDN を使っているなら、既存アカウントで OK。

2. 独自ドメイン

唯一、少額の費用がかかる部分。ドメインが必要で、Cloudflare に DNS を委任する必要があります。

なぜドメインが必要か:Cloudflare Tunnel はドメインでトラフィックをルーティングする。nas.yourdomain.com にアクセスしたとき、Cloudflare がどのトンネルに転送するか判断できる。

ドメインは高くない。国内の Alibaba Cloud、Tencent Cloud などで .com.top を年間数十元で購入可能。購入後、DNS サーバーを Cloudflare に変更するだけ(Cloudflare に詳しいチュートリアルあり)。

追加のメリット:ドメインを Cloudflare に委任すれば、CDN とファイアウォール機能も使える。

3. Cloudflare Zero Trust 無料プラン

少し注意が必要。Cloudflare Tunnel は Cloudflare Zero Trust サービスの一部で、Zero Trust を有効化する必要があります。

無料プランで十分。最大 50 ユーザーまで(個人利用なら余裕)。

有効化手順:

  1. Cloudflare コンソールにログイン
  2. 左メニューから Zero Trust を選択
  3. 無料プラン(Free Plan) を選択
  4. 支払い方法を登録(クレジットカードまたは PayPal)

ここで躊躇するかもしれません——無料プランなのにカード登録?

正直、最初は不安でした。ただし 課金されません。Cloudflare がこうしているのは悪用防止(大量アカウント登録など)のため。国内のデュアル通貨カードも使えます。登録後、一度も課金されたことはありません。

4. 内網デバイス 1 台

2 つの条件を満たす必要があります:

  1. ネット接続可能(当然、接続できなければトンネルは張れない)
  2. 常時起動(または必要なときに起動)

具体例:

  • 自宅 PC(Windows/Mac/Linux いずれも可)
  • NAS(Synology、QNAP など。Docker 対応ならさらに便利)
  • Raspberry Pi やその他の開発ボード
  • ソフトルーター

筆者は NAS 上で Docker デプロイ。非常に楽。

5. 公開したい内網サービス

最後に、外に公開したいサービスが必要。例:

  • NAS の Web 管理画面(一般的なポート 5000、5001)
  • Home Assistant スマートホームコンソール(ポート 8123)
  • 自分で立てたブログや Web サイト(ポート 80、8080 など)
  • SSH サービス(ポート 22)

サービスの 内網 IP アドレスとポート番号 を把握しておく。筆者の NAS は 192.168.1.100:5000

準備は以上。聞こえは多いですが、追加費用がかかるのはドメインだけ。他はすべて無料。

三、実践:Tunnel を一歩ずつ構築

ここから実践編。設定は 3 ステップ:Tunnel 作成、cloudflared インストール、ドメイン設定。聞こえは多いですが、実際はすぐ終わります。

ステップ 1:Cloudflare コンソールで Tunnel 作成

  1. Cloudflare アカウントにログインし、Zero Trust コンソールへ
  2. 左メニュー NetworksConnectorsCloudflare Tunnels
  3. 右上の Create a tunnel をクリック
  4. コネクタタイプ:Cloudflared(デフォルト)
  5. Tunnel に名前を付ける

命名は意味のある名前を推奨。home-nasdev-server など。将来複数 Tunnel がある場合、一目でわかる名前が管理しやすい。

Save tunnel をクリックすると、Cloudflare が Token(トークン) を生成。

重要:この Token は超重要! Tunnel の鍵のようなもの。cloudflared インストール時に使います。長い文字列が表示されるので、コピーして保存するか、ページを閉じないでください。

ステップ 2:cloudflared デーモンをインストール

内網デバイスに cloudflared をインストール。OS によって手順が異なります。Docker 方式(最も簡単)を中心に解説します。

方式一:Docker デプロイ(推奨)

Docker 対応デバイス(NAS、Linux サーバーなど)なら、これが最も楽。コマンド 1 本:

docker run -d --restart=always \
  --name cloudflared \
  cloudflare/cloudflared:latest \
  tunnel --no-autoupdate run --token <あなたのTOKEN>

<あなたのTOKEN> を先ほどコピーした長い文字列に置き換えて実行。

数秒でコンテナが起動。--restart=always でデバイス再起動後も Tunnel が自動復旧。

方式二:Linux に直接インストール

Docker を使わない場合。Ubuntu/Debian の例:

# インストールパッケージをダウンロード
wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb
# インストール
sudo dpkg -i cloudflared-linux-amd64.deb
# Tunnel を実行
sudo cloudflared service install <あなたのTOKEN>

CentOS/RHEL ユーザーは .deb.rpm に変更。

方式三:Windows インストール

Windows ユーザーは MSI インストーラーをダウンロード:

https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-windows-amd64.msi

ダブルクリックでインストール後、管理者権限でコマンドプロンプト(CMD)を開き:

cloudflared.exe service install <あなたのTOKEN>

方式四:macOS インストール

Mac ユーザーは Homebrew が最も簡単:

brew install cloudflared
cloudflared service install <あなたのTOKEN>

いずれの方式でも、インストール後 Cloudflare コンソールを確認。Tunnel ステータスが HEALTHY(正常) になれば接続成功。cloudflared と Cloudflare の間に暗号化トンネルが確立されています。

ステップ 3:パブリックホスト名(Public Hostname)を設定

トンネルは張れましたが、Cloudflare はまだトラフィックの転送先を知りません。「nas.yourdomain.com にアクセスが来たら、内網の 192.168.1.100:5000 に転送して」と教える必要があります。

同じ Tunnel ページで:

  1. Public Hostname タブをクリック
  2. Add a public hostname をクリック
  3. 設定を入力:
    • Subdomain(サブドメイン):例 nas。完全なドメインは nas.yourdomain.com
    • Domain(ドメイン):ドロップダウンから選択(Cloudflare に委任済みであること)
    • Path(パス):通常は空。/api などでパスを分けたい場合のみ入力
    • Type(タイプ)HTTP を選択
    • URL:内網サービスのアドレス。形式 http://内網IP:ポート。例:http://192.168.1.100:5000

疑問:Type は HTTP でよいのか?HTTPS の方が安全では?

心配不要。Cloudflare が自動で HTTPS を提供します。流れは:

  • アクセス者 → Cloudflare:HTTPS 暗号化(Cloudflare が証明書を自動発行)
  • Cloudflare → 内網サービス:暗号化トンネル経由

内網サービス自体に HTTPS がなくても、ユーザーアクセスは全程暗号化。証明書設定の手間も省けます。

Save hostname をクリックすれば設定完了。

ステップ 4:アクセスを検証

テストの時間です。

ブラウザで設定したドメインにアクセス。例:https://nas.yourdomain.com

順調なら内網サービスが表示される。アドレスバーの鍵アイコンは HTTPS 証明書が有効であることを示します。

初回アクセスは DNS 反映に数分かかることがあります。アクセスできない場合:

  1. 5〜10 分待って再試行
  2. Tunnel ステータスが HEALTHY か確認
  3. 内網サービスが正常稼働か確認(内網から http://192.168.1.100:5000 にアクセスしてみる)

1 つの Tunnel に複数サブドメインを設定可能

実用的なテクニック:1 つの Tunnel に複数のパブリックホスト名を追加し、異なる内網サービスに対応できます。

筆者の設定例:

  • nas.mydomain.comhttp://192.168.1.100:5000(NAS 管理画面)
  • blog.mydomain.comhttp://192.168.1.100:8080(個人ブログ)
  • ha.mydomain.comhttp://192.168.1.101:8123(Home Assistant)

サービスごとに Tunnel を作る必要はなく、管理が非常に楽。

四、応用設定とベストプラクティス

基本設定はここまで。さらに踏み込みたい方向けの応用も紹介します。

設定ファイルで複数サービスを管理

先ほどは Dashboard でクリック設定。少数サービスなら便利。サービスが多い場合や、コードで管理したい(バージョン管理など)場合は設定ファイル方式が向いています。

cloudflared を実行するデバイスで config.yml を作成:

tunnel: <あなたのTunnel UUID>
credentials-file: /path/to/<UUID>.json
ingress:
  - hostname: nas.yourdomain.com
    service: http://192.168.1.100:5000
  - hostname: blog.yourdomain.com
    service: http://192.168.1.100:8080
  - hostname: ha.yourdomain.com
    service: http://192.168.1.101:8123
  - service: http_status:404

最後の service: http_status:404 はフォールバックルール。マッチしなかったリクエストはすべて 404。必須で、必ず最後に置く。

この設定ファイルで cloudflared を起動:

cloudflared tunnel --config /path/to/config.yml run

設定が明確になり、Git リポジトリでバージョン管理も可能(Token はコミットしないこと!)。

SSH と RDP に対応

Cloudflare Tunnel は HTTP だけでなく SSH、RDP などにも対応。リモートサーバー管理に特に有用。

SSH 設定例

config.yml に追加:

- hostname: ssh.yourdomain.com
  service: ssh://localhost:22

ローカル PC で cloudflared 経由の SSH 接続:

# SSH config を設定
cat >> ~/.ssh/config << EOF
Host ssh.yourdomain.com
  ProxyCommand cloudflared access ssh --hostname %h
EOF
# その後そのまま SSH 可能
ssh [email protected]

RDP 設定(Windows リモートデスクトップ)も同様。プロトコルを rdp:// に変更するだけ。

SSH/RDP ポートを公網に公開する必要がなく、セキュリティが大幅に向上。

Cloudflare Access でセキュリティを強化

ここまでの設定では、ドメインを知っていれば誰でもアクセス可能。公開 Web サイトなら問題ないが、NAS 管理画面など機密サービスには認証を追加した方がよい。

Cloudflare Access が Tunnel の前段にログインゲートを設置できます。

設定手順:

  1. Zero Trust コンソール → AccessApplications
  2. Add an applicationSelf-hosted を選択
  3. アプリ情報を入力:
    • Application name:例 “My NAS”
    • Application domain:例 nas.yourdomain.com
  4. 認証ポリシーを設定:
    • メールホワイトリスト(指定メールのみログイン可)
    • Google/GitHub OAuth ログイン
    • MFA(多要素認証)も可能

設定後、nas.yourdomain.com にアクセスすると、まず Cloudflare のログインページへ。認証通過後にサービスへ入れます。

個人ユーザーでも完全無料。機密サービスには強く推奨。

パフォーマンス最適化とモニタリング

日常使用のテクニック。

Tunnel 稼働状態の確認

Zero Trust コンソールの Tunnels ページで確認できる情報:

  • Tunnel がオンラインか(HEALTHY または DOWN)
  • トラフィック統計
  • 接続クライアント数

Tunnel が突然 DOWN になったら、内網デバイスのネット断や電源オフ、cloudflared プロセスの停止を確認。

ログでトラブルシュート

Docker 方式なら docker logs cloudflared でログ確認。

よくあるエラー:

  • Token 無効:コピーミスを確認
  • 接続失敗:内網サービスの稼働を確認
  • 証明書エラー:通常、数分待てば自動修復

cloudflared を定期更新

Cloudflare は不定期に cloudflared を更新。新機能追加やバグ修正。Docker なら最新イメージを pull してコンテナ再起動:

docker pull cloudflare/cloudflared:latest
docker restart cloudflared

Cloudflare 公式は直近 1 年バージョンの互換性のみ保証。古すぎるバージョンは強制オフラインになることも。定期更新を推奨。

五、よくある質問と注意点

Cloudflare Tunnel を使い続けて分かった、よくある質問と注意点を共有します。

速度と安定性について

最も気になる点。国内からのアクセス速度は、正直なところ速くはない

筆者の実測:

  • 遅延:300〜800ms(国内アクセス)
  • 帯域:ダウンロード速度は一般的に 1〜5MB/s。時間帯や地域による
  • 安定性:たまに短い断流があるが、大半は問題なし

なぜ遅いか:Cloudflare の CDN ノードは主に海外。国内トラフィックは遠回り。無料ユーザーの優先度も相対的に低く、ピーク時に帯域制限されることも。

向いている用途

  • たまに NAS にリモートアクセスしてファイルをダウンロード
  • 友人に個人プロジェクトを見せる
  • リモート SSH でサーバー管理(遅延の影響は小さい)

向いていない用途

  • ストリーミング再生(カクつく)
  • ゲームサーバー(遅延が高すぎる)
  • 大容量ファイルの頻繁な転送
  • 国内ユーザー向け本番環境

速度重視なら frp + 国内クラウドサーバー、または Tailscale など P2P 方式を検討。

セキュリティについて

Cloudflare Tunnel 自体は非常に安全

  • 全程 HTTPS 暗号化
  • インバウンドポート不要
  • Zero Trust アーキテクチャ、デフォルトですべて拒否
  • Cloudflare 標準の DDoS 防御

ただし、サービスを漫然と公開してはいけません。強く推奨

  1. データベースを公開しない:MySQL、Redis などを直接 Tunnel 経由で公開しない
  2. 機密サービスに Access 認証を追加:NAS、SSH、管理画面など
  3. ログを定期確認:異常アクセスがないか
  4. OS とソフトウェアを更新:内網だから安全、と油断しない

とはいえ、公網ポートを直接開くより Tunnel ははるかに安全。

利用制限について

Cloudflare 無料プランの制限:

  • 最大 50 ユーザー(個人利用には十分)
  • 流量無制限
  • UDP プロトコルは非対応(TCP は問題なし)
  • 国内では HTTP/3 QUIC 非対応

必須条件:ドメインが必要で、Cloudflare に DNS を委任すること。ドメインを Cloudflare に置きたくない場合は Tunnel は使えない。

代替案の比較

Cloudflare Tunnel が合わない場合の選択肢:

方案強み弱み向いている用途
frp速度が速く安定クラウドサーバーが必要、コストあり本番環境、国内ユーザー
TailscaleP2P 直結、速度が速い自分だけ、外部公開不可個人デバイス間の相互接続
ngrok設定が簡単無料版制限多、カスタムドメインは有料一時的なデモ
DDNSTO国内チーム、速度が良い無料版はデバイス数制限国内ユーザー

ニーズに合わせて選べばよい。絶対に最良の方案はない。

実用的なテクニック

最後にいくつか:

1. 短いドメインを使う

nas.yourdomain.commynas.yourdomain.com より覚えやすい。ドメイン自体が短ければ(例:abc.com)、nas.abc.com はさらに便利。

2. サービスごとにサブドメインを計画

意味のあるサブドメインを推奨:

  • nas. — NAS 管理
  • blog. — ブログ
  • dev. — 開発環境
  • ssh. — SSH アクセス

URL を見ればサービスがわかり、管理も明確。

3. Token をバックアップ

Tunnel の Token は必ず保存。パスワードマネージャー(1Password、Bitwarden など)に保管。紛失したら Tunnel を削除して再作成するしかない。

4. Tunnel ステータスをモニタリング

Cloudflare の Webhook やメール通知で、Tunnel オフライン時に即座に通知。Zero Trust コンソールの Settings で設定。

結論

まとめると:

Cloudflare Tunnel は 無料、安全、使いやすい 内網穿透方案。個人開発者やホームサーバー利用者に特に向いています。公網 IP 不要、クラウドサーバー不要、ルーターのポート転送も不要。30 分で設定完了。

コア強み

  • 完全無料、流量無制限
  • Zero Trust セキュリティアーキテクチャ
  • HTTPS と DDoS 防御付き
  • HTTP/SSH/RDP など複数プロトコル対応
  • 1 つの Tunnel で複数サービスを公開可能

欠点も認めておく:

  • 国内アクセス速度は一般的、遅延が高め
  • たまに断流
  • ドメイン必須で Cloudflare に DNS 委任が必要
  • UDP プロトコル非対応

たまのリモートアクセスや海外ユーザー向けなら Cloudflare Tunnel で十分。国内本番や速度重視なら他案を。

大多数の個人ユーザーにとって、Cloudflare のインフラを無料で使えるのは相当な選択肢。筆者は frp とクラウドサーバーに半日かけた後、Tunnel なら 10 分で済んだ——「最初からこれにすれば」と感じるはず。

今すぐ試してみてください。問題があればコメント欄で教えてください。見つけ次第返信します。

Cloudflare Tunnel で内網穿透を実現する完全設定フロー

Tunnel 作成からパブリックホスト名設定までの全手順。30 分で無料内網穿透を実現。HTTP/SSH/RDP など複数プロトコル対応

Estimated time: PT30M

  1. 1

    Step 1: 準備:Cloudflare アカウントとドメインを登録

    Cloudflare アカウント登録:
  2. 2

    Step 2: Cloudflare コンソールで Tunnel 作成

    操作手順:
  3. 3

    Step 3: cloudflared デーモンをインストール

    Docker デプロイ(推奨):
  4. 4

    Step 4: パブリックホスト名(Public Hostname)を設定

    操作手順:
  5. 5

    Step 5: アクセス検証と応用設定

    アクセス検証:

FAQ

Cloudflare Tunnel と frp、ngrok の違いは?なぜこれを選ぶのか?
frp(最も一般的な選択肢)との比較:
• frp は確かに使いやすく設定も難しくないが、クラウドサーバーと公網 IP が必須
• 毎月サーバー代がかかり、設定・メンテナンスも手間
• Cloudflare Tunnel ならそのコストが不要。Cloudflare の CDN と DDoS 防御も無料で使える

ngrok(海外で人気)との比較:
• 無料版はランダムドメインが割り当てられ、再起動のたびに変わる。流量制限もある
• 独自ドメインを使うには有料版が必要
• Cloudflare Tunnel は完全無料。カスタムドメインも自由に使え、流量制限なし

Tailscale/ZeroTier(P2P ネットワーク)との比較:
• 仮想 LAN 方式で、考え方が異なる
• スマホ・PC・サーバー間の相互アクセス向き
• 誰でもアクセスできる Web サイトを公開したい場合は Tailscale には不向き
• Cloudflare Tunnel は「サービスを外部公開する」シーンに適している

まとめると、Cloudflare Tunnel の強みは 3 つ:無料、安全、シンプル。
Cloudflare Tunnel の仕組みは?なぜより安全なのか?
Cloudflare Tunnel の発想は巧妙で、従来の「外から穴を開ける」方式ではなく、内側から能動的に接続する。

具体的な流れ:
1) 内網デバイスで cloudflared という小さなプログラム(デーモン)を実行
2) このプログラムが Cloudflare のグローバルネットワークに接続し、暗号化トンネルを確立
3) 設定したドメイン(例:nas.yourdomain.com)にアクセスすると、リクエストはまず Cloudflare の CDN へ
4) Cloudflare がこの暗号化トンネル経由で内網サービスに転送
5) 内網サービスが処理後、データはトンネル経由で返る

こうすることで、内網サービスは外から完全に「見えない」——ポートを開放せず、公網 IP も不要。内→外の暗号化接続だけが存在する。

セキュリティの観点では、Zero Trust(ゼロトラスト)アーキテクチャの考え方:デフォルトですべての接続を信頼せず、すべてのトラフィックを認証・暗号化する。

たとえば言うなら、自宅と Cloudflare の間に専用線を引いたようなもの。自分だけが使え、外からはサーバーの場所が見えない。
Cloudflare Tunnel の国内アクセス速度は?どんな用途向き?
国内からのアクセス速度は、正直なところ速くはない。

実測データ:
• 遅延 300〜800ms(国内アクセス)
• 帯域:ダウンロード速度は一般的に 1〜5MB/s。時間帯や地域による
• 安定性:たまに短い断流があるが、大半は問題なし

なぜ遅いのか:
• Cloudflare の CDN ノードは主に海外。国内トラフィックは遠回りになる
• 無料ユーザーの優先度は相対的に低く、ピーク時に帯域制限されることも

向いている用途:
• たまに NAS にリモートアクセスしてファイルをダウンロード
• 友人に個人プロジェクトを見せる
• リモート SSH でサーバー管理(遅延の影響は小さい)

向いていない用途:
• ストリーミング再生(カクつく)
• ゲームサーバー(遅延が高すぎる)
• 大容量ファイルの頻繁な転送
• 国内ユーザー向け本番環境

速度重視なら frp + 国内クラウドサーバー、または Tailscale など P2P 方式を検討。たまのリモートアクセスや海外ユーザー向けなら Cloudflare Tunnel で十分。国内本番や速度重視なら他案を。
Cloudflare Tunnel の設定方法は?何を準備する?
準備するもの:

1) Cloudflare アカウント(無料。cloudflare.com で登録)
2) 独自ドメイン(少額の費用。国内の Alibaba Cloud、Tencent Cloud などで .com や .top を年間数十元で購入。購入後 DNS サーバーを Cloudflare に変更)
3) Cloudflare Zero Trust 無料プラン(Cloudflare コンソールにログイン → 左メニュー Zero Trust → 無料プラン選択。支払い方法の登録が必要だが課金されない)
4) 内網デバイス 1 台(ネット接続可能で、常時起動または必要時に起動。自宅 PC、NAS、Raspberry Pi など)
5) 公開したい内網サービス(内網 IP とポート番号を把握。例:192.168.1.100:5000)

設定手順:

1) Cloudflare コンソールで Tunnel 作成:
• Zero Trust コンソール → Networks → Connectors → Cloudflare Tunnels → Create a tunnel
• Token を取得

2) cloudflared デーモンをインストール(Docker が最も簡単):
docker run -d --restart=always --name cloudflared cloudflare/cloudflared:latest tunnel --no-autoupdate run --token <あなたのTOKEN>

3) パブリックホスト名を設定:
• Public Hostname タブ → Add a public hostname
• Subdomain、Domain、URL などを入力

全体の設定は 30 分程度で完了。
Cloudflare Tunnel はどのプロトコルに対応?SSH と RDP の設定方法は?
Cloudflare Tunnel は HTTP、SSH、RDP など複数プロトコルに対応。

HTTP 設定:
• Public Hostname で Type を HTTP、URL に http://内網IP:ポート
• 内網サービス自体に HTTPS がなくても、Cloudflare が自動で HTTPS を提供。ユーザーアクセスも全程暗号化

SSH 設定:
• config.yml に追加:
hostname: ssh.yourdomain.com
service: ssh://localhost:22
• ローカル PC で SSH config を設定:
cat >> ~/.ssh/config << EOF
Host ssh.yourdomain.com
ProxyCommand cloudflared access ssh --hostname %h
EOF
• その後そのまま SSH 可能:ssh [email protected]

RDP 設定(Windows リモートデスクトップ)も同様。プロトコルを rdp:// に変更するだけ。

SSH/RDP ポートを公網に公開する必要がなく、セキュリティが大幅に向上。1 つの Tunnel に複数サブドメインを設定可能:
• nas.mydomain.com → http://192.168.1.100:5000
• blog.mydomain.com → http://192.168.1.100:8080
• ssh.mydomain.com → ssh://localhost:22
Cloudflare Access でセキュリティを強化する方法は?利用制限は?
Cloudflare Access でセキュリティ強化:
• Zero Trust コンソール → Access → Applications
• Add an application → Self-hosted を選択
• アプリ情報を入力(Application name 例:My NAS、Application domain 例:nas.yourdomain.com)
• 認証ポリシーを設定(メールホワイトリスト、Google/GitHub OAuth ログイン、MFA 多要素認証も可能)

設定後、アクセス時にまず Cloudflare のログインページへリダイレクト。認証通過後にサービスへ入れる。個人ユーザーでも完全無料。機密サービスには強く推奨。

利用制限:
• Cloudflare 無料プランの制限:
- 最大 50 ユーザー(個人利用には十分)
- 流量無制限
- UDP プロトコルは非対応(TCP は問題なし)
- 国内では HTTP/3 QUIC 非対応
• 必須条件:ドメインが必要で、Cloudflare に DNS を委任すること。ドメインを Cloudflare に置きたくない場合は Tunnel は使えない

セキュリティについて:
• Cloudflare Tunnel 自体は非常に安全(全程 HTTPS 暗号化、インバウンドポート不要、Zero Trust デフォルト拒否、Cloudflare 標準の DDoS 防御)
• ただし強く推奨:
- データベース(MySQL、Redis など)を直接 Tunnel 経由で公開しない
- 機密サービスに Access 認証を追加(NAS、SSH、管理画面など)
- ログを定期確認、OS とソフトウェアを更新

10分で読めます · 公開日: 2025年11月30日 · 更新日: 2026年6月8日

関連記事

コメント

GitHubアカウントでログインしてコメントできます