外出先からでも安心アクセス!Cloudflare Tunnelで安全なリモート監視


前へ⇒ リアルタイム監視!Raspberry PiでつくるIoT防災システム

※当サイトは、アフィリエイトプログラムを利用して商品を紹介しています。

Raspberry Piでセンサー監視やWebモニター機能を構築したら、「外出先からもスマホで見たい!」と思うのは自然な流れです。しかし、家庭用ルーターでポート開放を行うのはセキュリティ上おすすめできません。

そこで登場するのが Cloudflare Tunnel(クラウドフレア・トンネル)。これを使えば、ポート開放なしで、暗号化された安全な接続を確立し、世界中どこからでも自分のRaspberry Piにアクセスできるようになります。

今回は初心者の方でも迷わないように、ドメイン取得からトンネル接続までを実際のコマンド付きで順を追って解説します!

まずは「インターネット上の住所」を持つために、ドメインを取得します。日本語で手軽に取得できるおすすめサイトは、お名前.comです。

手順

お名前.comにアクセス

[PR]年間 0円から独自ドメインの取得が可能

  1. 希望するドメイン名(例:ikeojichannel.com)を検索
  2. 空いていれば購入手続きへ進む

これであなたは「ikeojichannel.com」という住所を手に入れました!

続いて、Cloudflare(無料)に登録してドメインを管理します。

  1. Cloudflare公式サイト にアクセス
  2. 無料アカウントを作成しログイン
  3. 「Add a site(サイトを追加)」をクリック
  4. ikeojichannel.com を入力 → Enter
  5. 「Freeプラン」を選択 → Continue
  6. DNSスキャンが自動で始まり、お名前.comの設定を読み込みます
  7. 内容を確認して「Continue」をクリック

ネームサーバーを変更

Cloudflareで管理するには、ドメインのネームサーバーを変更する必要があります。

Cloudflare上で以下のような指示が表示されます。

Replace these nameservers:
ns1.cloudflare.com
ns2.cloudflare.com

これをお名前.com側で設定します。

  1. お名前.com にログイン
  2. 「利用ドメイン一覧」→「ikeojichannel.com」→「ネームサーバー情報」へ
  3. 「ネームサーバーの変更」→「その他のサービス」→「その他のネームサーバーを使う」にチェック
  4. 上記の Cloudflare サーバー名を入力し「保存」

この変更は最大24時間かかる場合がありますが、通常は30分ほどで完了。Cloudflareの画面で「Success! Active」と表示されれば設定完了です。

Cloudflare Tunnelを動かすためのクライアントツール cloudflared を導入します。

ターミナルを開きます。Ctrl + Alt + T を同時に押す。

以下のコマンドを入力します。

sudo mkdir -p /usr/local/bin
sudo apt update
sudo apt install -y curl

# cloudflared公式バイナリをダウンロードしてインストール
curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm64.deb -o cloudflared.deb
sudo apt install -y ./cloudflared.deb

確認
cloudflared --version

出力例

cloudflared version 2025.10.1(built 2025-010-30-18:35 UTC)

このように表示されれば成功です 。

DNS を Cloudflare(1.1.1.1)に変更する

ラズパイは NetworkManager 方式なので、 DNSを NetworkManager に直接指定する必要があります。 以下の手順で、確実に Cloudflare の DNS(1.1.1.1)を恒久設定にします。

目的:Raspberry Pi が使う DNS を 1.1.1.1(Cloudflare)などに固定し、cloudflared 等の通信が安定するようにする。
※ Wi-Fi / 有線いずれでも同様に設定できます。

事前チェック(まずこれを実行)

ターミナルを開いて(Ctrl + Alt + T)次を実行します。

  1. nmcli が使えるか調べる(NetworkManager が入っているか)
which nmcli && nmcli --version
  • nmcli のパスが出て nmcli --version が動けば NetworkManager を使う環境です。
  • 何も出なければ nmcli は無い可能性が高く、Raspberry Pi OS の標準である dhcpcd を使っている可能性が高いです。

  1. NetworkManager のサービス状態を確認(念のため)
systemctl is-active NetworkManager && echo "NetworkManager is active" || echo "NetworkManager not active"

  1. /etc/dhcpcd.conf に設定があるか簡単に確認(dhcpcd を使う場合の目安)

grep -n "domain_name_servers" /etc/dhcpcd.conf || echo "no dhcpcd DNS override found"

grep: /etc/dhcpcd.conf: そのようなファイルやディレクトリはありません のメッセージ表示は 正常 です。

Raspberry Pi OS Bookworm以降のDNS設定について
以前は /etc/dhcpcd.conf にDNS設定を直接記述していましたが、現在は NetworkManager が採用されているため、nmcli コマンドを使って設定します。したがって、/etc/dhcpcd.conf が存在しないのは正常です。

手順(順番に実行)

現在の接続名を確認(重要)

nmcli connection show

出力の NAME 欄に接続名が出ます。

接続名例 → BUFFALO-123456_G

出力結果例

NAME              UUID                                  TYPE      DEVICE
BUFFALO-123456_G  1a23456f-1d2b-1a2a-b102-1234feb56bc1  wifi      wlan0

「MyWiFi」の部分を 実際のWi-Fi名(BUFFALO-123456_G) に置き換えて実行する必要があります。

ターミナルを開いて(Ctrl + Alt + T)以下(DNS自動取得を無効にする、独自のDNSを設定、設定を反映させる)を入力し実行します。

DNS自動取得を無効にする

sudo nmcli connection modify "BUFFALO-123456_G" ipv4.ignore-auto-dns yes

独自のDNSを設定
(CloudflareとGoogleのDNSを使用)

sudo nmcli connection modify "BUFFALO-123456_G" ipv4.dns "1.1.1.1 1.0.0.1 8.8.8.8"

設定を反映させる

sudo nmcli connection up "BUFFALO-123456_G"

接続が正常にアクティベートされましたと表示されます。

確認
設定が反映されたかどうかを確認します。

nmcli device show wlan0 | grep DNS

出力例

IP4.DNS[1]: 1.1.1.1
IP4.DNS[2]: 1.0.0.1
IP4.DNS[3]: 8.8.8.8

このように表示されればOKです。

Raspberry PiをCloudflareアカウントと接続します。

ターミナルを開いて(Ctrl + Alt + T)以下を入力し実行します。

cloudflared tunnel login

ブラウザが開き、Cloudflareの認証画面が出ます。登録時のメールアドレス、パスワード等を選択。
あなたのドメインを選択します。

cloudflared tunnelを許可します。→ 承認

→ 認証完了後、ラズベリーパイ側に設定ファイルが作成されます。

証明書確認
ls ~/.cloudflared

出力

cert.pem

このファイルが生成されていればOKです。

トンネル作成(例:tokyo)
cloudflared tunnel create tokyo

成功すると、次のような出力が表示されます

Created tunnel tokyo with id <トンネルID>
 ↓
出力例
Created tunnel tokyo with id 12345678-abcd-ef12-3456-abcdef789012

この時点で、~/.cloudflared/12345678-abcd-ef12-3456-abcdef789012.json という認証ファイルが作成されます。

トンネルをドメインに紐づけ(DNS登録)

cloudflared tunnel route dns tokyo tokyo.ikeojichannel.com

このコマンドでCloudflare側DNSに自動登録され、サブドメイン tokyo.ikeojichannel.com があなたのトンネル(tokyo)へ自動でルーティングされます。

Cloudflareの管理画面 → DNSタブを開くと、CNAME レコードとして自動追加されています。

トンネル設定ファイルを作成

ターミナルを開きます。(Ctrl + Alt + T)

nano ~/.cloudflared/config.yml

nanoファイルに以下を入力します。

内容例(Flaskをポート5000で動かす場合)

tunnel: tokyo    #あなたのトンネル名に変更
credentials-file: /home/ikeoji/.cloudflared/<トンネルID>.json   #トンネルID入力

ingress:
  - hostname: tokyo.ikeojichannel.com  #トンネル名と登録済みのドメインに変更
    service: http://localhost:5000
  - service: http_status:404


保存は Ctrl + O → Enter、終了は Ctrl + X です。

センサー側の実行(仮想環境外)

ターミナルを開きます。Ctrl + Alt + T を同時に押す。

以下を実行します。

python shikoshikosysmail.py

表示側の実行(仮想環境内)

ターミナルを開きます。Ctrl + Alt + T を同時に押す。

仮想環境内で以下を実行します。

# 仮想環境を有効化
source ~/myenv/bin/activate

# 表示側の実行
python shikoshikosys2.py

web_monitorの実行(仮想環境内)

ターミナルを開きます。Ctrl + Alt + T を同時に押す。

仮想環境内で以下を実行します。

# 仮想環境を有効化
source ~/myenv/bin/activate

# Web_monitorの実行
python web_monitor.py

Webブラウザが実行されます。

・Running on http://192.168.1.15:5000
・Running on http://111.136.32.23:5000

④トンネル実行

Raspberry Pi上でFlask( web_monitor)が http://localhost:5000 で動作している前提で、ターミナルを開きます。Ctrl + Alt + T を同時に押す。

cloudflared tunnel run tokyo 

ブラウザで トンネル名と登録済みのドメイン(https://tokyo.ikeojichannel.com)にアクセスしてみてください。

web_monitorに登録したログイン名とパスワードを入力すれば、あなたのRaspberry PiのWebモニターが表示されるはずです!

世界中どこからでもアクセスできるようになりました。

イケオジ流!ラズベリーパイ(Raspberry Pi)一覧はこちら

ラズベリーパイを始めるならこれ!本体・モニター・センサー類の商品リスト

(旧twitter) 今日のイケオジ 

イケオジのキング・オブ・アスリートへの道はこちら

国内最安値のドメイン名取得サービス:[PR]XServer ドメインは、格安のドメイン名取得サービスです。 .comや.netなどの定番ドメインが、国内最安となる1円から取得可能で、DNSレコード編集機能やWhois情報代理公開機能など、ドメインの運用に十分な機能を標準で備えています。

お名前.com:[PR]1999年のサービス開始以来、登録実績3,200万件突破!国内シェアNo.1のドメイン登録サービスです。年間「0円」から独自ドメインの取得が可能。600種類以上のドメインを取扱い国内最大級のドメイン登録実績。個人から中小企業、大企業まで幅広く利用。選りすぐりの中古ドメインオークションも多数開催中 !

国内最速!初期費用無料の高性能レンタルサーバー:[PR]国内最速No.1のレンタルサーバー、WordPressに特化した充実機能、高い安定性とセキュリティ性、AIブログ生成ツール「Blog Creator(ブログクリエイター)」。

超高性能レンタルサーバー:[PR]国内最速!コスパNo.1!進化の極限を目指した超高性能レンタルサーバー、シンレンタルサーバー

Amazon広告SEO強化ツール:[PR]目標に対する実績達成度とモール内のSEOの状況が一目で分かる現状把握とテコ入れすべき課題がすぐに判明するため、悩んで足踏みする時間がゼロになります。

AIプラットフォーム:[PR]ビットランドAI(BitlandAI)は、テキスト、画像、動画、音声からデータ分析まで、あらゆる生成AI機能をワンストップで提供する次世代ツールです。開発者は、国内最大級のAIコピーライティングツールを生み出し、数多くのAI関連書籍やメディア出演で知られる古川 渉一。

さあ、勇気を出してイケオジブログをシェアしよう!


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


PAGE TOP