---
title: "Cloudflare WARPでHermes Agentをプライベートネットワークに公開する方法"
description: "ファイアウォールのインバウンドポートを開くことなく、Cloudflare WARPとZero Trustを使用してグローバルかつ安全にHermes Agentへアクセスし、プライベートネットワークに公開する方法を詳しく解説します。"
canonical_url: "https://techvoyage.dev/ja/article/exposing-hermes-agent-to-private-network-using-cloudflare-warp"
last_updated: "2026-09-28"
---

パブリックインターネットに公開することなく、ノートパソコン、タブレット、スマートフォンなどの他のデバイスから**Hermes Agent**にアクセスしたい場合、よく課題に直面します。**Cloudflare WARP**と**Cloudflare Zero Trust**を活用することで、ファイアウォールのインバウンドポートを一切開くことなく、Hermes Agentをグローバルに公開することが可能になります。

以前のガイド「[リモートのLinux VPSサーバー環境にHermes Agentを導入・デプロイして常時運用する方法](/article/how-to-setup-hermes-on-remote-server)」に従って設定済みであれば、Hermes Agentはすでに24時間稼働しているはずです。従来のVPNの煩雑な管理に対処する代わりに、今回は**Cloudflare WARP**クライアントを使用して、インターネット経由でHermes Agentをプライベートネットワークに公開します。

## アーキテクチャの理解

本構成で動作するコンポーネント：

1. **Cloudflare Zero Trust**: ルーティングルールとアクセス権限（ポリシー）を定義するCloudflare의ダッシュボードです。
2. **Cloudflare WARP**: デバイス（VPS、ノートパソコン、スマートフォン）にインストールするクライアントアプリケーションです。プライベートネットワーク宛てのトラフィックを傍受し、安全にルーティングします。

### 前提条件

- VPS上でHermes Agentが稼働していること。
- 無料のCloudflareアカウント。

## ステップバイステップガイド

### ステップ 1: Cloudflare Zero Trustのセットアップ

1. [Cloudflare ダッシュボード](https://dash.cloudflare.com/)にログインします。
2. 左側のメニューから「Zero Trust」をクリックします。
![Zero Trustオプションが表示されたCloudflareダッシュボードの左サイドバーナビゲーションメニュー](https://inimages.techvoyage.dev/articles/Exposing%20Hermes%20Agent%20to%20Private%20Network%20Using%20Cloudflare%20WARP/cloudflare-zero-trust-left-menu.webp)
3. 初めて利用する場合は、プランの選択（このセットアップには無料プランで十分です）とチーム名の設定（例：`ai-team`）を求められます。
![初回設定のCloudflare Zero Trustアカウントの作成とチームの命名処理](https://inimages.techvoyage.dev/articles/Exposing%20Hermes%20Agent%20to%20Private%20Network%20Using%20Cloudflare%20WARP/cloudflare-zero-trust-team-setup.webp)
4. 「Access」をクリックし、「Policies」を選択して、ネットワークへのアクセス権を持つユーザーを定義するアクセスポリシーを作成します。
![新しく設定されたアクセス規則を表示しているCloudflare Zero Trustアクセス権限ポリシーページ](https://inimages.techvoyage.dev/articles/Exposing%20Hermes%20Agent%20to%20Private%20Network%20Using%20Cloudflare%20WARP/cloudflare-access-policies-page.webp)
5. 「Create new policy」をクリックします。
![Cloudflare Access policies page showing no policies added and a button to create a new policy.](https://inimages.techvoyage.dev/articles/How%20to%20secure%20NodeWarden%20at%20Cloudflare/cloudflare-access-no-policies-create-button.png)
6. 「Emails」を選択し、「Policy rules」の下にあなたのメールアドレスを入力します。
![Cloudflare Access policy rule configuration screen with an email address specified as the inclusion criteria.](https://inimages.techvoyage.dev/articles/How%20to%20secure%20NodeWarden%20at%20Cloudflare/cloudflare-access-policy-rule-email.png)

### ステップ 2: VPSへのCloudflare WARPクライアントのセットアップ

1. VPSのターミナルで `sudo apt update` と `sudo apt install cloudflare-warp` を実行します。
2. ターミナルで `warp-cli registration new <TEAM-NAME>` を実行すると、URLが出力されます。
3. 出力されたURL（例：`https://<team>.cloudflareaccess.com/warp`）をコピーし、ブラウザに貼り付けて認証を行います。
4. ステップ1のポリシー設定でメール認証を使用したため、メールアドレスを入力して認証を進めます。
5. ブラウザに「**Success**」ページが表示されたら、青い「**Open Cloudflare WARP**」ボタンを右クリックし、「**検証 (Inspect)**」を選択します。
6. ボタンのリンク内に表示されている長いトークンをコピーします。
7. VPSのターミナルで `warp-cli --accept-tos registration token "https://<team>.cloudflareaccess.com/auth?token=<copied_token>"` を実行し、VPSをCloudflare Zero Trustに接続します。<br />

Ubuntu 26で「Error: Failed to communicate with the WARP API」が発生した場合は、次のコマンドを実行します。```bash
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>"
```
8. Cloudflare Zero Trustダッシュボードに戻り、「Devices」をクリックします。VPSデバイスが表示されているはずです。
![Linux VPSが正常に接続されていることを確認するZero Trustデバイスダッシュボード](https://inimages.techvoyage.dev/articles/Exposing%20Hermes%20Agent%20to%20Private%20Network%20Using%20Cloudflare%20WARP/cloudflare-zero-trust-devices-vps-connected.webp)

### ステップ 3: トラフィックのルーティング設定

1. Devicesダッシュボードで、VPSのプロファイルをクリックします。
![登録されたVPSデバイスの詳細と分割トンネル設定へのアクセス画面](https://inimages.techvoyage.dev/articles/Exposing%20Hermes%20Agent%20to%20Private%20Network%20Using%20Cloudflare%20WARP/cloudflare-zero-trust-device-profile.webp)
2. 下にスクロールして「Split Tunnels」セクションを見つけます。
![VPSプロフィール設定項目内のSplit Tunnels分割トンネルセクション](https://inimages.techvoyage.dev/articles/Exposing%20Hermes%20Agent%20to%20Private%20Network%20Using%20Cloudflare%20WARP/cloudflare-zero-trust-split-tunnels-section.webp)
3. 「Manage」ボタンをクリックし、以下のように設定を構成します。必要に応じてIPアドレスを置き換えてください。
![Cloudflare設定での分割トンネルIPアドレスとホスト名の除外ルールの管理設定](https://inimages.techvoyage.dev/articles/Exposing%20Hermes%20Agent%20to%20Private%20Network%20Using%20Cloudflare%20WARP/cloudflare-zero-trust-manage-split-tunnels.webp)
4. `address` と `host` を公開することで、トラフィックが同じプライベートネットワーク経由でサービスにルーティングされるようになります。

### ステップ 4: VPSでのファイアウォール設定

ファイアウォールを有効にして、「100.96.0.0/12」サブネットのみを許可し、他のすべてのパブリックな受信アクセスをブロックします。

```bash
sudo ufw enable 
sudo ufw default allow outgoing 
sudo ufw default deny incoming
sudo ufw allow in from 100.96.0.0/12
```

ローカルサービスが中断されないよう、ループバックトラフィックを許可します：

```bash
sudo ufw allow in on lo
sudo ufw allow out on lo
```

ファイアウォールをリロードし、ステータスを確認します：

```bash
sudo ufw reload 
sudo ufw status verbose
```

### ステップ 5: Hermes Agentをプライベートネットワークに公開する

**Hermes Agent Web Dashboard**をプライベートネットワークに公開し、デフォルトの認証プロバイダである**Nous Research**を使用します。

#### 認証プロバイダのセットアップ

1. [portal.nousresearch.com](https://portal.nousresearch.com) にアクセスし、アカウントを登録します。
2. 「Local Dashboards」を選択します。
![Nous ResearchポータルでのLocal Dashboardsローカルダッシュボードオプションの選択画面](https://inimages.techvoyage.dev/articles/Exposing%20Hermes%20Agent%20to%20Private%20Network%20Using%20Cloudflare%20WARP/nous-portal-local-dashboards-selection.webp)
3. 「Register Dashboard」をクリックします。
![新しいダッシュボード項目を作成するためのRegister Dashboardボタンのクリック操作](https://inimages.techvoyage.dev/articles/Exposing%20Hermes%20Agent%20to%20Private%20Network%20Using%20Cloudflare%20WARP/nous-portal-register-dashboard.webp)
4. 「Dashboard redirect URI」にVPSのプライベートネットワークIPアドレスを入力し、「Save」をクリックします。
![Nous ResearchポータルにおけるリダイレクトURIとしてのプライベートIPアドレスの登録処理](https://inimages.techvoyage.dev/articles/Exposing%20Hermes%20Agent%20to%20Private%20Network%20Using%20Cloudflare%20WARP/nous-portal-register-redirect-uri.webp)
5. 「OAuth client ID」をコピーし、`config.yaml` ファイルに貼り付けます：

```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設定

1. サービスファイルを作成します：

```shell
sudo nano /etc/systemd/system/hermes-dashboard.service
```

1. 以下の構成を貼り付けます。必ず `--host 0.0.0.0` がコマンドに含まれていることを確認してください：

```ini
[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
```

1. サービスを有効化し、起動します：

```shell
sudo systemctl daemon-reload
sudo systemctl enable hermes-dashboard
sudo systemctl start hermes-dashboard
sudo systemctl status hermes-dashboard
```

### ステップ 6: デスクトップにCloudflare WARPクライアントをインストールする

1. [Cloudflareのポータル](https://developers.cloudflare.com/warp-client/get-started/)からCloudflare WARPクライアントをダウンロードします。
2. インストール後、Cloudflare WARPクライアントを開いて起動します。
3. 画面の指示に従ってログインします。
![デスクトップ端末に表示されたCloudflare WARPクライアントのログインプロンプト画面](https://inimages.techvoyage.dev/articles/Exposing%20Hermes%20Agent%20to%20Private%20Network%20Using%20Cloudflare%20WARP/cloudflare-warp-desktop-login-prompt.webp)
4. ログインに成功すると、「Success」ページが表示されます。
![デスクトップでのCloudflare Zero Trustログイン成功後の認証完了通知用ウェブページ](https://inimages.techvoyage.dev/articles/Exposing%20Hermes%20Agent%20to%20Private%20Network%20Using%20Cloudflare%20WARP/cloudflare-warp-desktop-login-success.webp)
5. WARPクライアントがZero Trustチームに接続されていることが表示されるはずです。
![Zero Trustプライベートネットワークへのアクティブ接続を証明するデスクトップ用WARPクライアント](https://inimages.techvoyage.dev/articles/Exposing%20Hermes%20Agent%20to%20Private%20Network%20Using%20Cloudflare%20WARP/cloudflare-warp-desktop-client-connected.webp)
6. Webブラウザを開き、プライベートIP（例：`100.96.0.3`）を入力します。Hermes Web Dashboardが正常に読み込まれるはずです。
![デスクトップのブラウザからアクセスしたプライベートなHermes Agentウェブダッシュボード](https://inimages.techvoyage.dev/articles/Exposing%20Hermes%20Agent%20to%20Private%20Network%20Using%20Cloudflare%20WARP/hermes-agent-dashboard-desktop-view.webp)

> **macOSユーザー向けのヒント:** 複数のCloudflareアカウントにアクセスするためにWARPクライアントを使用している場合は、「**MacのMDM構成プロファイルを用いて複数のCloudflare WARP組織を切り替える設定手順ガイド**」のクイックガイドをチェックして、アカウント間のシームレスな切り替えに役立ててください。

### ステップ 7: iOSデバイスにCloudflare WARPクライアントをインストールする

1. App Storeから**Cloudflare One**をインストールします。
2. Cloudflare Oneアプリを開き、画面の指示に従ってチーム名を入力します。
![iOSデバイスのCloudflare OneアプリにおけるCloudflare Zero Trustチーム名の入力プロンプト](https://inimages.techvoyage.dev/articles/Exposing%20Hermes%20Agent%20to%20Private%20Network%20Using%20Cloudflare%20WARP/cloudflare-one-ios-team-name-prompt.webp)
3. 上記のポリシー設定で登録したのと同じメールアドレスを使用してログインします。
![iOSに表示されたCloudflare Zero Trustのログイン用電子メール認証プロンプト画面](https://inimages.techvoyage.dev/articles/Exposing%20Hermes%20Agent%20to%20Private%20Network%20Using%20Cloudflare%20WARP/cloudflare-one-ios-email-login.webp)
4. 接続が完了すると、次のようになります：
![iOSモバイル端末の画面上でアクティブな接続状態を通知しているCloudflare Oneアプリ](https://inimages.techvoyage.dev/articles/Exposing%20Hermes%20Agent%20to%20Private%20Network%20Using%20Cloudflare%20WARP/cloudflare-one-ios-client-connected.webp)
5. モバイルデバイスのWebブラウザを開き、プライベートIP `100.96.0.3` を入力してHermes Web Dashboardにアクセスします。
![スマートフォンのモバイルブラウザ上にロードされたHermes Agentウェブダッシュボードの表示](https://inimages.techvoyage.dev/articles/Exposing%20Hermes%20Agent%20to%20Private%20Network%20Using%20Cloudflare%20WARP/hermes-agent-dashboard-mobile-view.webp)

## 結論

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