pkkiblog 暇なときに投稿しています
サーバー パソコン デザイン・グラフィック レビュー

【初心者向け】Cloudflare Tunnelで自宅サーバーを公開する方法!

schedule 2025年10月30日  update 2025年11月6日        
【初心者向け】Cloudflare Tunnelで自宅サーバーを公開する方法!サムネイル

皆さんこんにちは!しがないサーバーをしている運用pkkiです!

皆さんは、「家のネット回線ではポート開放できないから、サーバーを公開できないな~」など思ったことはありませんか?

そこで、今回は初心者向けにCloudflare Tunnelで簡単に自宅サーバーを公開する方法を解説します!

また、ポート開放をするとセキュリティ上のリスクがあります。
しかし、Cloudflare Tunnelを使用すれば、そのような心配は必要ありません!
よって、ポート開放できる環境でも使うことをお勧めします。

確かに、ポート開放だけで公開したらサーバーのIPアドレス丸見えでDDOS攻撃食らったら、家のネットそのものが潰れる可能性もあるもんね!

そうなんですよ、Cloudflare Tunnelを使えば自宅のポートを開けずにサーバーを公開でき、攻撃から守るためのプロキシ機能も利用できます。

もちろん、無料プランでは高度な攻撃を完全に防ぐことはできませんが、ポート開放だけで公開するよりは安全です!

なるほど、ポート解放不可、IPを絶対にばらしたくない、家のネットのセキュリティを弱めたくない場合はCloudflare Tunnelを使った方が良いのですね!

そうですね、速度も大差ないので、私はCloudflare Tunnelをお勧めします。

Cloudflare Tunnelとは

Cloudflare Tunnelの仕組み
引用:https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-tunnel/
引用:https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-tunnel/

Cloudflare Tunnelとは、自宅や社内のサーバーのポート開放を必要とせず、安全にCloudflare経由でサーバーを公開できるサービスです。

また、ポート開放をする代わりにサーバー内にCloudflaredの軽量デーモンを使用し接続を確立します。

これにより、サーバーはCloudflareを経由でのみアクセス可能となり、Cloudflareを迂回する攻撃の脆弱性を回避することができます。

「デーモン」とは
主にIT分野でバックグラウンドで動作するプログラムのことを指します。
また、主にUNIX系OSで使われる言葉で、メインメモリ上に常駐し、特定の機能を提供するプログラムのことでもあります。
そして、Windowsでは同じ役割を持つプログラムを「サービス」と呼び、
例えばWindows DefenderやWindows Updateなどは、常にバックグラウンドで動いています。

Cloudflare Tunnelでできること

Minecraft Serverの公開

minecraft

実は、JAVA版のMinecraft ServerをCloudflare Tunnelを使って公開することができます。

ただし、Minecraftは通常CloudflareのHTTPプロキシを通らないため、
クライアント側に少しだけ接続設定が必要になります。

また、この方法は上の記事で解説しています!

SSHでリモート環境に接続

TeraTerm

そして、Cloudflare Tunnelを使えば、自宅のサーバーにSSHで安全に接続することも可能です。
公開鍵方式や認証設定もCloudflare側で管理できるため、

という状態で外部からリモートログインできます。

「SSH」とは
SSHは「Secure Shell(セキュアシェル)」略で、
ネットワーク経由で他のコンピューターに暗号化接続し、遠隔操作する為の仕組みです。
また、暗号化しない仕組みは「telnet」と言います。

リモートデスクトップの利用

RemoteDesktop

また、Cloudflare Tunnelは、RDPやVNCなどのリモートデスクトップ接続にも対応しています。
家のWindowsパソコンを外出先から操作したい場合でも、

といったメリットがあります。

「RDP」とは
RDP(Remote Desktop Protocol)の略で、離れた場所にあるパソコンをネットワーク越しで操作できるMicrosoftが開発したプロトコルです。
「VNC」とは
VNCは「Virtual Network Computing」の略で、ネットワーク越しにパソコンの画面を表示し、遠隔操作を行うための仕組みです。

このように、Cloudflare Tunnelを使った応用が沢山あります!

本当にこれが無料なのは信じがたいですね

Cloudflare アカウントの準備

初めに、当然Cloudflareのアカウントを作成する必要があります。ですので、今から画像を使って分かりやすく解説したいと思います。

アカウント作成手順

Cloudflare sign up
https://dash.cloudflare.com/sign-up

最初に、上のリンクを開いてください。

そして、メールアドレスと使いたいパスワードを入力してください。

次に、「私がボットではないことを確認します。」のチェックボタンを押してください。

最後に、「Sign up」をクリックしてください。

cloudflare verify your email

そうすると、このようにメールが送られるので、「Verify your email」をクリックしてください。

これで、アカウント作成終了です。

ドメイン登録とネームサーバー設定

ドメイン登録

cloudflare domain resistration

アカウント作成が完了すると、このような画面に映ると思います。

最初に、「Enter an existing domain」から設定したいドメインを入力してください。

ドメインが無ければ、「register a new domain」から取得することもできます!
私の場合は、XServerドメインで取得しました!

そして、ドメインの入力が完了したら「Continue」、をクリックしてください。

ここからは、私はすでにドメインの設定をしてしまっているため、手順に従って進んでください。

ネームサーバー設定

Xserver Domain

そして、Cloudflareでドメインを使うにはネームサーバーの設定をする必要があります。

この上の画像がその例です。

ネームサーバー1:ROXY.NS.CLOUDFLARE.COM
ネームサーバー2:MAXIM.NS.CLOUDFLARE.COM

契約しているドメインの設定ページにて、このように設定してください。

これで準備完了です!早速Cloudflare Tunnelの設定をしていきましょう!

Cloudflare Tunnelの設定

Zero Trust の初期設定

初めに、Cloudflare TunnelはZero Trustを使う必要があります。ですので、上のリンクを開いて①「Zero Trust」をクリックしてください。

Cloudflare Zero Trust チームネーム入力

次に、このような画面になりますので、適当なチーム名を決めて入力してください。そしたら、「Next」をクリックしてください。

Cloudflare Zero Trust プラン選択
※翻訳しています

そして、このようにプランを選択する画面に映ります。

無料で十分なので、それを選択してください。

Cloudflare Zero Trust プラン確認

このように確認画面に映るので、確認したら「Proceed to payment」をクリックしてください。

Cloudflare Zero Trust 支払い方法追加

そして、無料なのですがこのように支払方法を設定しないといけません。

ですので、「Add payment method」をクリックして、支払方法を設定してください。

Cloudflare Zero Trust 支払い方法

支払方法は、VISA・MasterCard等やPayPalに対応しています。

そして、「Address Line 1」には「例:1-7-1 Nagatacho, Chiyoda-ku, Tokyo(東京都千代田区永田町1丁目7−1)」のように入力してください。

また、①にはお住いの国を選択して②は個人でやっているのならば「Personal」にしてください。

Cloudflare Zero Trust 支払い

次に、追加出来たら「Purchase」を押して0円を払ってください。これで完了です。

トンネルの作成&インストール&設定

Cloudflare Zero Trust トンネル作成

初めに、「NetWorks」→「Tunnels」から「Create a tunnel」をクリックしてください。

Cloudflare Zero Trust トンネル作成 Select cloudflared

それから、「Select CloudFlared」を選択してください。

トンネルの名前を設定

そして、「Tunnel name」から名前をテキトウな名前を設定して「Save tunnel」をクリックしてください。

サーバーにCloudFlareTunnelをインストール

Cloudflare tunnel インストール

次に、「Choose your environment」からOSとアーキテクチャーを選択します。よって、Webサーバー系は大体の人がUbuntuやDevianなので「Debian」を選択してください。ただし、Dockerを使いたい人はDockerでも良いです。そしたら、「Choose an architecture」からお使いのサーバーに適している物を選択ください。大半の方が64bitだと思います。

それから、③のコマンドをコピーして実行してください。また、それが終わったら④もコピーして実行してください。

アプリケーションルートの設定

Cloudflare tunnel アプリケーションルート

次に、「Published application routes」を設定します。ネットに公開したいホストネームを入力してください。そして、「Type」を「HTTPまたはHTTPS」にして「URL」を「ローカル内で公開したいURL」にしてください。そしたら、「save」を押して保存してください。

例えば、Minecraft Dynmap(localhost:8080)で開けるならば、URLをlocalhost:8080にしてください。

これでトンネル作成&インストール&設定完了です

アクセス制限方法

ポリシー設定

Cloudflare Zero Trust ポリシー設定

初めに、アクセス制限をするポリシーを作成します。

①「Access」から②「Policies」をクリックし、③「Add a policy」をクリックしてください。

Cloudflare Zero Trust ポリシー追加

そして、①「Policy name」に好きな名前を入力してください。

次に、②「Action」を「Allow」にし、③「Session duration」を「Same as application session timeout」にしてください。

また、画像の一番左下にある「Add include」をクリックしてください。

それから、④「Selector」を「Emails」にし、⑤「Value」に許可したいEmailアドレスを入力してください。

これで右下にある「Save」をクリックして、保存してください。

認証設定

そして、何で認証するかの設定を行います。

最初に、①「Settings」から②「Authentication」をクリックしてください。

Cloudflare Zero Trust 認証設定

次に、①「Add new」をクリックしてください。

Cloudflare Zero Trust 認証設定 one-time PIN

そして、①「One-time PIN」をクリックして選択したら完了です。

アプリケーションを追加する

Cloudflare Zero Trust アプリケーション

次に、どのサイトで制限するのかを設定します。

最初に、①「Access」から②「Applications」から③「Self-hosted」にある「Select」をクリックしてください。

Cloudflare Zero Trust アプリケーション設定

そして、①「Application name」に適当な名前を入力し、②「Session Duration」を「24 hours」にします。

また、③「Add public hostname」をクリックして、④「subdomain」にサブドメイン、⑤「Domain」に制限したいドメインを入力してください。

Cloudflare Zero Trust アプリケーション設定 ポリシー追加

次に、「Access policies」にある①「Select existing policies」から作成したポリシー②を選択し、③「Confirm」をクリックしてください。

Cloudflare Zero Trust アプリケーション Instant Auth

加えて、①「Accept all available identity providers」のチェックを外して、②「Instant Auth」にチェックを入れたら完了です。

上の設定は、ログイン方法が1つしかない時に、ログイン方法の選択を飛ばす設定です。複数設定した場合は、①をチェックした状態にしてください。

最後に、「Save」をクリックしたら完了です。

アクセス方法

Cloudflare Access

実際にアクセスしてみます。

最初に、設定したアドレスを開いてみてください。そうすると、このように表示されると思います。

それから、「email」に許可したメールアドレスを入力し、「Send me a code」をクリックします。

Cloudflare Access コード入力
Cloudflare Access から届いたコード

このように、コードが送られるので「Enter code」にそのコードを入力して、「Sign in」をクリックすればアクセスできます。

ちなみに、ポリシーで設定した以外のメールアドレスを入力すると、コードは送信されません。

こんな簡単にアクセス制限できるなんて、、凄いですね!

私もこれを知ったときは驚きました!
また、Googleアカウントでログインする方法も追加できるので、追加するときに説明が書いてあるので、翻訳して手順道理にやれば、可能です。

また、その方法は上の記事で紹介しました!

色々な方法でログインすることができるのもいいですね!

ユーザー名とパスワードでログインするBASIC認証で前までやっていたので、これからはこれを利用していきたいと思います(笑)

まとめ

今回の記事では、自宅サーバーを安全に外部公開する方法として、Cloudflare Tunnelの使い方を解説しました。ポイントを整理すると以下の通りです。

1. Cloudflare Tunnelとは

2. Cloudflare Tunnelでできること

3. Zero Trust & アカウント準備

4. トンネルの作成・インストール・設定

5. アクセス制限(ポリシー設定)

6. アクセス方法


💡 ポイントまとめ

実際に、このブログもCloudflare Tunnelを利用して自宅サーバーを公開しています!
無料でここまでできるサービスはCloudflareぐらいだと思います。
是非皆さんも使ってみてくださいね!

最後までご覧いただき有難うございました!
是非ご指摘や感想などあればコメントをしてくれると幸いです!

こちらも是非ご覧ください!

この記事は役に立ちましたか?

この記事を書いた人

コメントはこちらからどうぞ

コメントはこちらで承認の作業を行うまでは表示されません。ご了承ください。