1285 文字
6 分
プライベートネットワークトンネルの乗り換えとその効果
当サイトの記事は無断転載禁止です。
目次
1
概要
2
構成
3
設定
ラズパイのセットアップ
androidセットアップ
windowsセットアップ
cloudflare tunnelの設定
4
cloudflare tunnelの評価
接続速度
安定性
導入性
5
類似サービスとの比較表
6
総評

概要#

NordVPN の Meshnet を使ってノート PC からメインのデスクトップ PC へアクセスしていたが、
1週間ほどで接続が不安定になり、再起動しないと繋がらないことが頻発した。
そこで代替を探し、Cloudflare Tunnel にたどり着いた。

構成#

常時稼働しているマシンに cloudflared(Tunnel)を構築し、出先の端末には Cloudflare WARP をインストールする。
Cloudflare の設定で、自宅ネットワークの IP(CIDR)をアクセス可能に設定する。

graph TD
    subgraph Client_Side [外出先 Client Side]
        Mobile[端末: ノートPC/スマホ]
        WARP[Cloudflare WARP Client]
        Mobile --> WARP
    end

    subgraph Cloud_Network [Cloudflare Edge]
        CF_Gate[Cloudflare Zero Trust / Gateway]
        WARP -->|1.1.1.1 / Tunnel| CF_Gate
    end

    subgraph Home_Network [自宅ネットワーク]
        direction TB
        Server[常時稼働マシン]
        Tunnel[cloudflared / Tunnel構成]
        
        subgraph Local_Devices [ローカルデバイス]
            Target1[PC/NAS 192.168.1.x]
            Target2[IoT機器 192.168.1.y]
        end

        CF_Gate <-->|コネクタ接続| Tunnel
        Tunnel --- Server
        Server -.->|ルーティング| Target1
        Server -.->|ルーティング| Target2
    end

    style CF_Gate fill:#f38020,stroke:#333,stroke-width:2px,color:#fff
    style Tunnel fill:#051094,stroke:#333,stroke-width:2px,color:#fff

設定#

ラズパイのセットアップ#

手順はシンプルで、Tunnel をラズパイにインストールして認証するだけ。

Terminal window
wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb
apt install ./cloudflared-linux-amd64.deb

CUI 環境では別のマシンのブラウザで認証を行う必要がある。

Terminal window
cloudflared tunnel login

コマンド実行後に表示される URL を別マシンのブラウザで開いて認証を行う。
詳細な設定は Cloudflare 側で行う。

androidセットアップ#

Android では Cloudflare One のアプリをインストールして認証する。
スイッチをオンにすると Tunnel に接続され、自宅ネットワークの IP アドレスで各機器へアクセスできるようになる。

windowsセットアップ#

Windows のクライアント側は注意が必要だ。
設定 > アカウント を開き、右下の Zero Trust アカウントで「ログイン」を選んでブラウザで認証しないと、Tunnel チームに参加したことにならない。
これを行わなくても見た目上は VPN がオンになっているように見える点に注意する。

cloudflare tunnelの設定#

alt text
alt text


Split tunnel の設定でアクセスさせたい CIDR を指定する。
ラズパイが Cloudflare と CIDR ネットワークの橋渡しとなり、CIDR 配下のすべての機器にアクセスできるようになる。
IP アドレスを直接指定してアクセスできた。

余談:過去のopen vpn環境

TP-Link のルーター(AC1200)を使っているが、選んだ理由のひとつに DDNS を無料で使える点があった。購入当初の回線では集合住宅でもグローバル IP が個別に割り当てられており、DDNS を紐付けてルーターの OpenVPN で外部から自宅へ接続できた。
しかし現在の契約回線は共用 IP になっており、DDNS に割り当てられるグローバル IP でないため、DDNS+VPN の構成ができなくなっていた。

長らく NordVPN が代替手段として機能していたが、Cloudflare によってこれらの問題が解消され、TP-Link の DDNS がいらない子になっちゃった・・・


cloudflare tunnelの評価#

接続速度#

Meshnet よりずっと速い!
ただし Tailscale よりは若干遅いかもしれない。

記事のプレビュー用にローカルマシンで開発サーバーを立てているが、画像の読み込み速度も圧倒的に改善した。
ローカルのマシンに LLM を置き、出先からチャットを送ると、NordVPN の Meshnet では応答に数十秒〜1分以上かかったり、ひどいとタイムアウトしていたが、数秒で返ってくるようになった。

安定性#

現状ではネットワーク切断はほとんど発生していない。
さすがにブレーカーが落ちれば対処できないが、マシンがハングしたときはスマートプラグで強制的に再起動すれば大抵何とかなるだろう。

導入性#

Android は専用アプリが用意されているので導入は容易だ。
Windows はやや癖がある。マニュアル通りに進めれば設定できることが多いが、トラブルシューティングでは原因の切り分けができないと対処が難しい。

類似サービスとの比較表#

Cloudflare TunnelTailscaleNordVPN Meshnet
導入難易度導入自体は楽だがトラブルシュートは難しい
速度早い最速激遅(他の十数倍は遅い)
安定性最強数分で切れるある程度安定だが、数日経つと繋がらなくなることがある
対応可能台数無制限10010
柔軟性

総評#

cloudflareの仕様に縛り付けられてしまうが、性能は優秀。
昔は少なからずの費用がかかっていたvpnによる自宅ネットへの接続が無料できるのはありがたいところではある。
反面、cloudflareはホスティングやらサーバレスやらも無料で提供しているものが多く、利用者が増えたり仕様変更が発生したりで、今後有料化していく可能性も考えられる。
cloudflareだけに依存しないよう、他のインフラサービスについても引き続き目を光らせておこう。


この記事をシェア