Raspberry Piトンネル設定

常時稼働のホームサーバー向けRaspberry PiでのCloudflare Tunnel設定

Raspberry Piや小型PCでcloudflaredを常時オンラインにし、実際のホスト名を維持する際に役立つガイドです。セットアップ、systemd、セキュリティ確認、GhostlyShareやghs CLIの使い分けも解説。

目的は安定したアウトバウンド接続の確保であり、魔法のような匿名性ではありません。訪問者にルーターアクセスは不要ですが、Cloudflareやアカウント、利用環境は重要です。

最適な用途:常にアクセス可能な小規模サービス

トンネルをノートPCのスリープやデスクトップのログオフ、日常作業中も維持したい場合にRaspberry Piが有効です。GhostlyShareは手動サービスファイルよりアプリやCLI操作を好む長時間共有にも適しています。

簡潔に:トンネルを常時接続するならRaspberry Piを使う

ウェブサイトやダッシュボード、Webhookエンドポイント、ラボサービスを日常のノートPCに依存せず常時アクセス可能にするなら、Raspberry Piは優れたCloudflare Tunnel接続機器です。長時間稼働の選択肢は他にもあり、GhostlyShareはより簡単なトンネル運用も可能です。

必要なもの利用する理由
家庭用サービスの常時稼働ホスト名Raspberry PiでのCloudflare TunnelPiは常時オンラインを維持し、再起動も安定。cloudflaredをLinuxサービスとして実行可能です。
プレビュー、Webhookコールバック、管理共有GhostlyShareGhostlyShareはアプリやCLIでトンネル管理を行い、cloudflared設定の手動管理より簡単です。
より強力な分離が必要な本番アプリVPSやマネージドホスティング公開サーバーは監視やバックアップ、家庭内ネットワークからの分離が容易です。

シンプルな構成:訪問者、Cloudflare、Pi、ローカルサービス

Cloudflare Tunnelはオリジンサイドをアウトバウンドに保ちます。Raspberry PiがCloudflareへ接続を開き、Cloudflareは公開ホスト名をlocalhost:3000やLANアドレスなどのローカルサービスに割り当てます。

訪問者

訪問者はご自宅のルーターのポートではなく、公開ホスト名とCloudflareのエッジにアクセスします。

Cloudflare

Cloudflareが公開エッジ、DNSゾーン、トンネルのマッピング、ホスト名のリクエストパスを管理します。

Raspberry Pi

cloudflaredはPi上で動作し、Cloudflareへのアウトバウンド接続を維持します。

ローカルサービス

実際のアプリはlocalhostや別ポート、Piがアクセス可能なLAN内のホストに置けます。

これはすべての相手に対するプライバシー壁ではありません。主に訪問者や不特定のスキャンが自宅ルーターや起点を直接知るのを防ぎます。

cloudflaredをインストールする前にRaspberry Piを準備する

多くのトンネル障害はCloudflareが原因ではなく、不安定な機器や変わるローカルサービスのアドレス、サービスユーザーが読めない設定ファイルに起因します。

安定したLinuxベースを使う

Raspberry Pi OSかDebianから始め、更新を適用し、64ビット対応ならそちらを推奨します。

ローカルネットワークを安定させる

Piには信頼できるネットワーク経路を用意し、LANホストに届くなら有線EthernetやDHCP予約を推奨します。

まずローカルアプリを確認する

CloudflareやDNS、systemdを使う前にアプリがローカルで動作するか確認してください。

どこを非公開にするか決める

管理画面を誤って公開しないように。プライベートツールはCloudflare Accessの背後かローカルに置きましょう。

ハード選び:基板だけでなくRaspberry Pi 5キットを選ぶ

トンネル接続には単体基板よりRaspberry Pi 5キットが安全です。基板、安定したUSB-C電源、冷却やケースファン、信頼できるストレージが必要です。Cloudflareの切断を疑う前に確認しましょう。

小規模Cloudflare Tunnelホームサーバー用Raspberry Pi 5キット
推奨ハードウェア

小規模Cloudflare Tunnelホームサーバー用Raspberry Pi 5キット

信頼できるUSB-C電源、冷却、ケース、ストレージ付きのRaspberry Pi 5キットを探しましょう。cloudflaredには4GBで十分、アプリも動かすなら8GBが余裕です。

Amazonで見る
Amazonのアソシエイトとして、GhostlyInc.comは適格販売により収入を得ています。
購入チェックリスト

公式Raspberry Pi 27W USB-C電源か同等の5V/5A電源を推奨し、冷却は必須です。電源不足や熱はcloudflared設定が正しくてもトンネル不安定に見えます。

Cloudflare Tunnel Raspberry Piセットアップ手順

Piのアーキテクチャに合う最新パッケージコマンドはCloudflareダッシュボードや公式ドキュメントを参照してください。以下は安全な作業手順であり、URL変更の保証ではありません。

1

ステップ1:Piを更新しアーキテクチャを確認する

まず更新を適用し、アーキテクチャを確認して正しいcloudflaredパッケージコマンドをCloudflareからコピーします。

ShellLinuxシェル
sudo apt update
sudo apt upgrade -y
dpkg --print-architecture
2

ステップ2:公式の最新コマンドでcloudflaredをインストールする

Cloudflareのダッシュボードやドキュメントで、環境に合ったLinux用コマンドを確認し、インストール後にバイナリを検証してください。

ShellLinuxシェル
# Paste the current official Cloudflare install command for your Pi here.
cloudflared --version
3

ステップ3:認証して名前付きトンネルを作成する

Cloudflareゾーンを認可し、名前付きトンネルを作成して、出力されたトンネルUUIDをコピーしてください。

ShellLinuxシェル
cloudflared tunnel login
cloudflared tunnel create home-pi
4

ステップ4:明示的なconfig.ymlを作成する

実行前にトンネルUUID、ホスト名、ローカルサービス、認証情報のパスを置き換えてください。フォールバックルールは最後に残す必要があります。

ShellLinuxシェル
mkdir -p ~/.cloudflared
nano ~/.cloudflared/config.yml
ShellLinuxシェル
tunnel: <tunnel-uuid>
credentials-file: /home/pi/.cloudflared/<tunnel-uuid>.json

ingress:
  - hostname: app.example.com
    service: http://localhost:3000
  - service: http_status:404
5

ステップ5:設定を検証し、DNSルートを作成してフォアグラウンドで実行する

ingressルールを検証し、DNSルートを作成したら、別ネットワークからのテスト中はトンネルをフォアグラウンドで実行してください。

ShellLinuxシェル
cloudflared tunnel ingress validate
cloudflared tunnel route dns home-pi app.example.com
cloudflared tunnel run home-pi

正しい設定パスでcloudflaredをLinuxサービスとして実行する

Linuxで重要なのは設定ファイルのパスです。sudoでサービスをインストールするとホームディレクトリがrootのものになり、piユーザーでテストした設定が見つからない場合があります。

1

サービス手順1:明示的な設定パスでサービスをインストールする

これにより、テストしたpiユーザーの設定とサービスアカウントのsudoホームディレクトリの不一致を防げます。

ShellLinuxシェル
sudo cloudflared --config /home/pi/.cloudflared/config.yml service install
2

サービス手順2:サービスを有効化し状態を確認する

systemdでcloudflaredを起動し、期待通りの設定が使われているか、正常に動作しているかを確認してください。

ShellLinuxシェル
sudo systemctl enable --now cloudflared
systemctl status cloudflared
3

サービス手順3:ログを確認し再起動をテストする

ルートに依存する前に、ログで設定パス、認証情報、DNS、ローカルサービスのエラーを確認してください。

ShellLinuxシェル
journalctl -u cloudflared -f
sudo systemctl restart cloudflared
systemctl status cloudflared

常時稼働トンネルの運用チェックリスト

ホームトンネルが安定して使えるのは、再起動や更新、ログ、アクセスルールも安定している場合だけです。URLを広く共有する前にこれらを確認しましょう。

再起動テスト

Piを再起動し、SSHセッションを開かずにホスト名が機能するか確認してください。

アクセスルール

プライベートアプリはCloudflare Accessや強力なログイン、ローカル限定のネットワーク境界の内側に置いてください。

更新

OSとcloudflaredを定期的に更新し、更新後にサービスが正常か確認してください。

ログ管理

トンネルIDやアカウントメール、ホスト名、プライベートサービス名が含まれるログやスクリーンショットは公開しないでください。

バックアップ

設定は意図的にバックアップし、トンネルの認証情報は秘密として保護してください。

プライバシーの限界

この設定は訪問者からオリジンを隠しますが、Cloudflareアカウントやドメイン履歴、管理者の操作は隠しません。

GhostlyShareとghs CLIの役割

Cloudflareのようなローカル共有を、cloudflaredの設定を自分で管理せずに手軽に行いたい場合はGhostlyShareが適しています。クイックプレビューやWebhookコールバック、スクリプト処理、長時間の共有にも対応可能です。

手動操作にはPiトンネルを、管理されたトンネルにはGhostlyShareを使い分けましょう。

この違いは制御の有無によるもので、継続時間の問題ではありません。Raspberry Piとcloudflaredはsystemdや明示的な設定パス、DNS管理権、低レベルのサービスを提供します。GhostlyShareは、短期間または長期間の利用に応じたシンプルなアプリやCLIのワークフローを提供します。

トラブルシューティング:まず確認すべき主な障害

症状考えられる原因最初のチェック
アプリの代わりにCloudflareのエラーページが表示されるトンネルが停止している、サービスURLが間違っている、またはローカルアプリが待機していません。Pi上でsystemctl status cloudflared、journalctl、curlでローカルサービスを確認してください。
インストール後にサービスが動作しないが、フォアグラウンドでは動作するsystemdが異なるホームディレクトリや設定パスを使用しています。--configオプションで/home/pi/.cloudflared/config.ymlを指定してサービスを再インストールしてください。
ホスト名がトンネルに到達しないDNSルート、ホスト名、またはCloudflareゾーンが指定したトンネルに接続されていません。Zero Trustで公開ホスト名を確認し、cloudflared tunnel info home-piを実行してください。
管理ページが公開されているイングレスルールがアクセス制御のないプライベートツールを指しています。Cloudflare Accessの背後に移すか、そのサービスをローカル限定にしてください。

依存前に公式ドキュメントを必ず確認してください。

Piのセットアップ中はCloudflareの公式ドキュメントを開いておきましょう。製品名やコマンド、画面、プラン制限は変更されることがあります。

Raspberry PiでのCloudflare Tunnelに関するよくある質問

よくある質問

Raspberry PiはCloudflare Tunnelに適していますか?

小規模なホームサーバーやラボ用サービスの常時接続に最適です。低消費電力で安定し、日常的に使うノートPCよりも常時稼働させやすいです。

ルーターのポート開放は必要ですか?

いいえ。Cloudflare TunnelはcloudflaredからCloudflareへのアウトバウンド接続を使うため、訪問者がルーターへの直接の着信経路を必要としません。

代わりにGhostlyShare CLIを使うべきですか?

プレビューやWebhook、スクリプト共有、意図的に長時間オンラインにする共有にはGhostlyShareやghs CLIを使いましょう。サービスファイルやイングレス設定、ホストOSを完全に管理したい場合はRaspberry Piとcloudflaredの組み合わせが適しています。

これで自宅サーバーは匿名になりますか?

いいえ。訪問者からは起点を隠せますが、Cloudflareのアカウント情報やドメイン記録、支払い情報、ログ、コンテンツ、管理者の操作履歴などからプロジェクトとあなたが結びつく可能性があります。