
Cloudflare WARPでHermes Agentをプライベートネットワークに公開する方法
ファイアウォールのインバウンドポートを開くことなく、Cloudflare WARPとZero Trustを使用してグローバルかつ安全にHermes Agentへアクセスし、プライベートネットワークに公開する方法を詳しく解説します。
目次
パブリックインターネットに公開することなく、ノートパソコン、タブレット、スマートフォンなどの他のデバイスからHermes Agentにアクセスしたい場合、よく課題に直面します。Cloudflare WARPとCloudflare Zero Trustを活用することで、ファイアウォールのインバウンドポートを一切開くことなく、Hermes Agentをグローバルに公開することが可能になります。
以前のガイド「リモートのLinux VPSサーバー環境にHermes Agentを導入・デプロイして常時運用する方法」に従って設定済みであれば、Hermes Agentはすでに24時間稼働しているはずです。従来のVPNの煩雑な管理に対処する代わりに、今回はCloudflare WARPクライアントを使用して、インターネット経由でHermes Agentをプライベートネットワークに公開します。
アーキテクチャの理解
本構成で動作するコンポーネント:
- Cloudflare Zero Trust: ルーティングルールとアクセス権限(ポリシー)を定義するCloudflare의ダッシュボードです。
- Cloudflare WARP: デバイス(VPS、ノートパソコン、スマートフォン)にインストールするクライアントアプリケーションです。プライベートネットワーク宛てのトラフィックを傍受し、安全にルーティングします。
前提条件
- VPS上でHermes Agentが稼働していること。
- 無料のCloudflareアカウント。
ステップバイステップガイド
ステップ 1: Cloudflare Zero Trustのセットアップ
- Cloudflare ダッシュボードにログインします。
- 左側のメニューから「Zero Trust」をクリックします。

- 初めて利用する場合は、プランの選択(このセットアップには無料プランで十分です)とチーム名の設定(例:
ai-team)を求められます。
- 「Access」をクリックし、「Policies」を選択して、ネットワークへのアクセス権を持つユーザーを定義するアクセスポリシーを作成します。

- 「Create new policy」をクリックします。

- 「Emails」を選択し、「Policy rules」の下にあなたのメールアドレスを入力します。

ステップ 2: VPSへのCloudflare WARPクライアントのセットアップ
- VPSのターミナルで
sudo apt updateとsudo apt install cloudflare-warpを実行します。 - ターミナルで
warp-cli registration new <TEAM-NAME>を実行すると、URLが出力されます。 - 出力されたURL(例:
https://<team>.cloudflareaccess.com/warp)をコピーし、ブラウザに貼り付けて認証を行います。 - ステップ1のポリシー設定でメール認証を使用したため、メールアドレスを入力して認証を進めます。
- ブラウザに「Success」ページが表示されたら、青い「Open Cloudflare WARP」ボタンを右クリックし、「検証 (Inspect)」を選択します。
- ボタンのリンク内に表示されている長いトークンをコピーします。
- VPSのターミナルで
warp-cli --accept-tos registration token "https://<team>.cloudflareaccess.com/auth?token=<copied_token>"を実行し、VPSをCloudflare Zero Trustに接続します。
Ubuntu 26で「Error: Failed to communicate with the WARP API」が発生した場合は、次のコマンドを実行します。sudo systemctl restart warp-svc.service # Check status sudo systemctl status warp-svc.service # Run the warp-cli registration token again warp-cli --accept-tos registration token "https://<team>.cloudflareaccess.com/auth?token=<copied_token>" - Cloudflare Zero Trustダッシュボードに戻り、「Devices」をクリックします。VPSデバイスが表示されているはずです。

ステップ 3: トラフィックのルーティング設定
- Devicesダッシュボードで、VPSのプロファイルをクリックします。

- 下にスクロールして「Split Tunnels」セクションを見つけます。

- 「Manage」ボタンをクリックし、以下のように設定を構成します。必要に応じてIPアドレスを置き換えてください。

addressとhostを公開することで、トラフィックが同じプライベートネットワーク経由でサービスにルーティングされるようになります。
ステップ 4: VPSでのファイアウォール設定
ファイアウォールを有効にして、「100.96.0.0/12」サブネットのみを許可し、他のすべてのパブリックな受信アクセスをブロックします。
sudo ufw enable
sudo ufw default allow outgoing
sudo ufw default deny incoming
sudo ufw allow in from 100.96.0.0/12
ローカルサービスが中断されないよう、ループバックトラフィックを許可します:
sudo ufw allow in on lo
sudo ufw allow out on lo
ファイアウォールをリロードし、ステータスを確認します:
sudo ufw reload
sudo ufw status verbose
ステップ 5: Hermes Agentをプライベートネットワークに公開する
Hermes Agent Web Dashboardをプライベートネットワークに公開し、デフォルトの認証プロバイダであるNous Researchを使用します。
認証プロバイダのセットアップ
- portal.nousresearch.com にアクセスし、アカウントを登録します。
- 「Local Dashboards」を選択します。

- 「Register Dashboard」をクリックします。

- 「Dashboard redirect URI」にVPSのプライベートネットワークIPアドレスを入力し、「Save」をクリックします。

- 「OAuth client ID」をコピーし、
config.yamlファイルに貼り付けます:
dashboard:
theme: default
show_token_analytics: false
oauth:
client_id: agent:cmq02x7ha0002jk0ba3kfnb
portal_url: https://portal.nousresearch.com
basic_auth:
username: ''
password_hash: ''
Hermes Dashboardを自動起動するためのSystemd設定
- サービスファイルを作成します:
sudo nano /etc/systemd/system/hermes-dashboard.service
- 以下の構成を貼り付けます。必ず
--host 0.0.0.0がコマンドに含まれていることを確認してください:
[Unit]
Description=Hermes Dashboard
After=network.target
[Service]
User=hermes
WorkingDirectory=/home/hermes
ExecStart=/home/hermes/.local/bin/hermes dashboard --host 0.0.0.0
Restart=always
RestartSec=10
Environment=PATH=/home/hermes/.local/bin:/usr/local/bin:/usr/bin:/bin
[Install]
WantedBy=multi-user.target
- サービスを有効化し、起動します:
sudo systemctl daemon-reload
sudo systemctl enable hermes-dashboard
sudo systemctl start hermes-dashboard
sudo systemctl status hermes-dashboard
ステップ 6: デスクトップにCloudflare WARPクライアントをインストールする
- CloudflareのポータルからCloudflare WARPクライアントをダウンロードします。
- インストール後、Cloudflare WARPクライアントを開いて起動します。
- 画面の指示に従ってログインします。

- ログインに成功すると、「Success」ページが表示されます。

- WARPクライアントがZero Trustチームに接続されていることが表示されるはずです。

- Webブラウザを開き、プライベートIP(例:
100.96.0.3)を入力します。Hermes Web Dashboardが正常に読み込まれるはずです。
macOSユーザー向けのヒント: 複数のCloudflareアカウントにアクセスするためにWARPクライアントを使用している場合は、「MacのMDM構成プロファイルを用いて複数のCloudflare WARP組織を切り替える設定手順ガイド」のクイックガイドをチェックして、アカウント間のシームレスな切り替えに役立ててください。
ステップ 7: iOSデバイスにCloudflare WARPクライアントをインストールする
- App StoreからCloudflare Oneをインストールします。
- Cloudflare Oneアプリを開き、画面の指示に従ってチーム名を入力します。

- 上記のポリシー設定で登録したのと同じメールアドレスを使用してログインします。

- 接続が完了すると、次のようになります:

- モバイルデバイスのWebブラウザを開き、プライベートIP
100.96.0.3を入力してHermes Web Dashboardにアクセスします。
結論
ID(アイデンティティ)ポリシーを管理するCloudflare Zero Trustと、暗号化されたトンネル経由でトラフィックをルーティングするWARPクライアントを組み合わせることで、世界中のどこからでもお使いのデバイスからHermes Agentへ安全にアクセスできるようになりました。このセットアップにより、完全なリモート環境でプライベートなAIインフラを構築・運用するための、安全で堅牢な基盤が整いました。
関連記事

セキュリティ
MacのMDM構成プロファイルを用いて複数のCloudflare WARP組織を切り替える設定手順ガイド
Macで.mobileconfigファイルを用いて、複数のCloudflare WARP組織環境を設定し、ユーザーUI上で簡単に切り替える方法をステップバイステップで分かりやすく解説します。システム管理者向けに、MDM構成プロファイルの作成、インストール、切り替え動作確認まで網羅した完全な実践設定ガイドです。
2分で読める
AIとエージェント
リモートのLinux VPSサーバー環境にHermes Agentを導入・デプロイして常時運用する方法
本ガイドでは、常時安定した稼働を維持するために、信頼性の高いリモートLinux VPSサーバー環境上にHermes Agentをインストールして、バックグラウンドサービスとして実行・デプロイする詳細な手順を解説します。また、カスタムTelegramボットと連携させて双方向の指示・操作を行う統合手順も説明。
3分で読める
AIとエージェント
DeepSeek HarnessにBuzzを連携:自律型Nostrメッセージゲートウェイ構築実践ガイド
DeepSeek HarnessをNostrプロトコル経由でBlockのAI協働ワークスペースBuzzに接続する詳細手順を解説。NIP-42認証やWebSocket接続、kind 40003による逐次編集ストリーミング、チャンネル単位の自律型エージェント管理、ローカル作業環境コマンド連携までを完全網羅。
15分で読める
前の記事
自ホスト型SynchとIgnisを導入しObsidian保管庫を複数デバイス間で安全に同期する方法
Cloudflare Zero Trust環境において、自ホスト型のSynchとIgnisを導入し、複数デバイス間でObsidianの保管庫(Vault)を安全に同期・暗号化するとともに、ウェブブラウザ経由でノートを安全に閲覧・編集するための、強固なプライベートネットワーク構築手順を詳しく解説します。

次の記事
DeepSeek HarnessにBuzzを連携:自律型Nostrメッセージゲートウェイ構築実践ガイド
DeepSeek HarnessをNostrプロトコル経由でBlockのAI協働ワークスペースBuzzに接続する詳細手順を解説。NIP-42認証やWebSocket接続、kind 40003による逐次編集ストリーミング、チャンネル単位の自律型エージェント管理、ローカル作業環境コマンド連携までを完全網羅。