AI Hub

Claude Code

自宅サーバーをポート開放なしで公開する|Cloudflare TunnelとTailscale

公開: / 更新: 読了目安8分

#自宅サーバー #トンネリング #外部公開 #セキュリティ

自宅サーバーをポート開放なしで公開する|Cloudflare TunnelとTailscale

先に結論: 自宅サーバーは、Cloudflare TunnelかTailscale Funnelを使えばルーターのポート開放なしで外部公開できます。独自ドメインでの本格公開にはCloudflare Tunnel、tailnet外への一時共有にはTailscale Funnelが向いています。

Claude Code常時稼働環境の作り方」ではTailscaleで自宅マシンとスマホをつなぎ、自分だけがアクセスできる閉域環境を作りました。

次に必要になるのが、家族や友人、あるいは不特定多数にも見てもらうためのルーターのポート開放なしで自宅サーバーを外部公開する方法です。

SNSでは「VPSはもう安くない。Cloudflare+自宅サーバー+Tailscaleが令和最新版・貧者のサーバー戦略」という投稿が690いいねを集めるなど、VPSのコストパフォーマンス低下を背景に関心が急上昇しています。

この記事では2026年8月時点の情報で、Cloudflare TunnelとTailscale Funnelの2方式を比較しながら注意点まで解説します。

この記事の要点

  • Cloudflare TunnelとTailscale Funnelはどちらもルーター側でポート開放せずに自宅サーバーを外部公開できます。
  • Cloudflare Tunnelは独自ドメインでの不特定多数への本格公開に向いています。
  • Tailscale Funnelは公開ポートが443・8443・10000番に限られ、URLも<マシン名>.<tailnet名>.ts.net固定です。
  • Cloudflareの利用規約には大容量メディア配信を制限する条項があり、該当用途は事前確認が必要です。
  • 公開する場合はCloudflare Accessなどの認証を追加し、無防備な公開状態を放置しないことが重要です。

なぜポート開放をしないのか

自宅サーバーの外部公開は、従来はルーターのポートを開けグローバルIPから直接アクセスさせる「ポート開放」が定番でした。しかしこの方法には見落とせない弱点があります。

ポート開放は外部からの接続をそのまま受け入れるため攻撃対象になりやすいが、Cloudflare TunnelやTailscale Funnelは自宅サーバー側から接続を開始するためグローバルIPが非公開のまま公開できることを示す図解

これに対しCloudflare TunnelやTailscale Funnelは自宅マシンからクラウド側へ「アウトバウンド」で接続を開始する方式です。

ルーター側で待ち受けポートを開ける必要がなく、グローバルIPも固定IP契約もDDNSも不要になるため、初心者でも安全に試しやすいのが利点です。

Cloudflare TunnelとTailscale Funnelの使い分け

どちらも「ポート開放なしで外部公開」を実現しますが、向いている用途は異なります。

項目Cloudflare TunnelTailscale Funnel
公開範囲独自ドメインで不特定多数に公開tailnet外の誰でもアクセス可(URLを知っている人)
ドメイン自分の独自ドメインを使える<マシン名>.<tailnet名>.ts.net固定
費用無料(独自ドメインの登録費用は別途)無料プランでも利用可
向いている用途ブログ・簡易Webサービスの本公開検証中のアプリを一時的に外部の人へ見せる
設定の手軽さやや手順が多い(DNS連携が必要)tailscale funnelコマンド1つで完結

Cloudflare Tunnelは、自宅マシンで動くcloudflaredがCloudflareのネットワークへ常時接続し、外部アクセスをトンネル経由で中継する仕組みです。独自ドメインでの本格公開に向き、無料範囲も広いのが特徴です。

一方Tailscale Funnelは、Tailscaleで構築した閉域網(tailnet)の一部だけをインターネットに開く機能で、tailnet外の人へ一時的にURLを共有したいときに向いています。

Cloudflare Tunnelのセットアップ手順

Cloudflare Tunnelはダッシュボード(one.dash.cloudflare.com)から作成します。事前に公開したいドメインをCloudflareのネームサーバーへ登録しておく必要があります。

Cloudflare Tunnelのセットアップ3ステップ図。cloudflaredの導入、トンネルの作成、DNSとの紐付けの順に進み、本公開には独自ドメインを使うこの3ステップが必要なことを示す図解

  1. cloudflaredの導入:「Networks」→「Tunnels」→「Create a tunnel」で「Cloudflared」を選び名前を付けると、OS別のインストールコマンドが表示されます。自宅マシンで実行すると認証トークン付きのcloudflaredがsystemdサービス(Linux)やlaunchd(macOS)として登録され、OS起動時に自動起動します。
  2. トンネルの作成:インストールコマンド実行でトンネルが作成され、ダッシュボード上のステータスが「Healthy」になれば接続完了です。
  3. DNSとの紐付け:トンネルの「Public Hostname」タブで公開サブドメイン(例:app.example.com)と自宅マシンの待ち受けアドレス(例:http://localhost:3000)を入力・保存すると、Cloudflareが<トンネルID>.cfargotunnel.comへのCNAMEレコードを自動作成します。

動作確認だけならcloudflared tunnel --url http://localhost:8080trycloudflare.comのランダムURLが発行されるクイックトンネルも使えます。ただし同時接続数に上限があり、公式もテスト・デモ用途限定としています。

本公開には独自ドメインを使う手順1〜3が必要です。

Tailscale Funnelのセットアップ手順と制約

Tailscale Funnelは、すでにTailscaleを導入済みの自宅マシンであれば数分で試せます。

  1. Tailscaleをv1.38.3以上に更新し、管理コンソールでMagicDNSとHTTPSを有効化します
  2. 自宅マシンでtailscale funnel <ポート番号>を実行します(例:tailscale funnel 3000)
  3. 初回はアクセス許可の確認が表示されるので承認します
# ローカルの3000番ポートで動くアプリをFunnelで公開
tailscale funnel 3000

Tailscale Funnelは公開できるポートが443・8443・10000番に限られ、URLも<マシン名>.<tailnet名>.ts.netの固定形式になります(独自ドメイン不可)。帯域幅にも非公開の制限があるため、恒常公開よりも開発中アプリを外部の人に一時レビューしてもらう短期用途に向いています。

公開する前に確認しておきたい注意点

外部公開は便利な反面、いくつか誠実に押さえておくべき論点があります。

VPSとのコスト比較の考え方

「自宅サーバー+トンネル」と「VPS」のどちらが安いかは料金プランも電気代も変動するため断定できません。構造としては自宅サーバー側は初期費用(マシン代)と電気代、VPS側は月額利用料が継続的にかかるという違いを押さえるのが実用的です。

すでに常時稼働のミニPCやNASがあれば公開設定を追加する限界費用はほぼゼロです。機材選びから始めるなら初期費用・電気代・回線の安定性をVPSの月額料金と比較して判断します。

ミニPCの選び方は「AIエージェント用ミニPCおすすめ」、NASでの運用例は「個人開発向けNASおすすめ」で紹介しています。

つまずきポイント

よくある質問

Cloudflare TunnelとTailscale Funnel、どちらから試すべきですか?

Tailscale導入済みで動作だけ試したいならFunnelが数分で試せます。独自ドメインで本格公開したい、アクセス増加が見込めるならTunnelから始めるのが合理的です。検証中はFunnel、本公開はTunnelと使い分けられます。

ポート開放をしないと表示速度は遅くなりますか?

Cloudflareやtailscaleのリレーサーバーを経由する分レイテンシは変わりますが、多くの個人用途では体感できる差にはなりません。Cloudflare TunnelはCDNのキャッシュ効果で速度が向上するケースもあります。

無料プランのままで運用を続けても問題ないですか?

個人利用の範囲なら両サービスとも無料プランで継続利用できます。ただし帯域幅やCDN利用規約の制限はあるため、アクセス数や配信ファイルが増えたら公式サイトで最新のプラン内容を確認しましょう。

まとめ

自宅サーバーの外部公開は、ポート開放を使わなくてもCloudflare TunnelとTailscale Funnelの2つの選択肢で安全に実現できます。

独自ドメインでの本公開ならTunnel、tailnet外への一時共有ならFunnelと使い分け、公開する以上は認証の追加や利用規約の確認まで検討しましょう。

閉域アクセスの構築は「Claude Code常時稼働環境の作り方」、対象マシンの選び方は「AIエージェント用ミニPCおすすめ」「個人開発向けNASおすすめ」、停電対策は「自宅サーバー向けUPSおすすめ」もあわせてご覧ください。