トラブルシューティング
このガイドではさまざまな問題を取り上げており、継続的に更新されます。このガイドを最後まで確認しても問題が解決しない場合は、DoubleZero Tech Discord でさらなるサポートを受けることができます。
よく使うコマンドと出力
まず、以下のコマンドの出力と期待される出力を確認してください。これらはより詳細なトラブルシューティングに役立ちます。 チケットを開く場合、これらの出力を求められることがあります。
1. バージョンの確認
コマンド:
doublezero --version
出力例:
DoubleZero 0.6.3
2. DoubleZero アドレスの確認
コマンド:
doublezero address
出力例:
MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2
3. アクセスパスの確認
サンプル公開鍵:MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 コマンド実行時にはご自身の公開鍵に置き換えてください。
コマンド:
doublezero access-pass list | grep MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2
出力:[注:ヘッダーも表示するために doublezero access-pass list | awk 'NR==1 || /MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2/' を使用しています]
account | accesspass_type | ip | user_payer | last_access_epoch | remaining_epoch | connections | status | owner
2XHCWm8Sef1GirhAhAJVA8WTXToPT6gFYP7fA9mWMShR | prepaid | 141.14.14.14 | MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 | MAX | MAX | 0 | requested | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn
4. DoubleZero 台帳クレジットの確認
コマンド:
doublezero balance
出力例:
0.78 Credits
5. 接続ステータスの確認
コマンド:
doublezero status
出力例:
Tunnel status | Last Session Update | Tunnel Name | Tunnel src | Tunnel dst | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro | Network
up | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL | ams-dz001 | ✅ ams-dz001 | Amsterdam | testnet
6. レイテンシの確認
コマンド:
doublezero latency
出力例:
pubkey | code | ip | min | max | avg | reachable
6E1fuqbDBG5ejhYEGKHNkWG5mSTczjy4R77XCKEdUtpb | nyc-dz001 | 64.86.249.22 | 2.49ms | 2.61ms | 2.56ms | true
Cpt3doj17dCF6bEhvc7VeAuZbXLD88a1EboTyE8uj6ZL | lon-dz001 | 195.219.120.66 | 71.94ms | 72.11ms | 72.02ms | true
CT8mP6RUoRcAB67HjKV9am7SBTCpxaJEwfQrSjVLdZfD | lax-dz001 | 207.45.216.134 | 72.42ms | 72.51ms | 72.45ms | true
4Wr7PQr5kyqCNJo3RKa8675K7ZtQ6fBUeorcexgp49Zp | ams-dz001 | 195.219.138.50 | 76.50ms | 76.71ms | 76.60ms | true
29ghthsKeH2ZCUmN2sUvhJtpEXn2ZxqAuq4sZFBFZmEs | fra-dz001 | 195.219.220.58 | 83.00ms | 83.14ms | 83.08ms | true
hWffRFpLrsZoF5r9qJS6AL2D9TEmSvPUBEbDrLc111Y | fra-dz-001-x | 195.12.227.250 | 84.81ms | 84.89ms | 84.85ms | true
8jyamHfu3rumSEJt9YhtYw3J4a7aKeiztdqux17irGSj | prg-dz-001-x | 195.12.228.250 | 104.81ms | 104.83ms | 104.82ms | true
5tqXoiQtZmuL6CjhgAC6vA49JRUsgB9Gsqh4fNjEhftU | tyo-dz001 | 180.87.154.78 | 178.04ms | 178.23ms | 178.13ms | true
D3ZjDiLzvrGi5NJGzmM7b3YZg6e2DrUcBCQznJr3KfC8 | sin-dz001 | 180.87.102.98 | 227.67ms | 227.85ms | 227.75ms | true
トラブルシューティング例
基本的な出力と正常なデプロイメントで期待される内容を確認したので、一般的なトラブルシューティング例を見ていきましょう。
問題:❌ Error creating user
この問題は一般的に、期待される公開鍵/IP の組み合わせと、ユーザーが DoubleZero にアクセスしようとしている公開鍵/IP の組み合わせの不一致に関連しています。
症状:
- doublezero connect ibrl で接続する際に ❌ Error creating user が発生する
解決策: 1. 確認
`doublezero address`
出力例:
```
MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2
```
-
このアドレスが許可リストに登録されていることを確認:
doublezero access-pass list | awk 'NR==1 || /MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2/'出力例:
account | accesspass_type | ip | user_payer | last_access_epoch | remaining_epoch | connections | status | owner FHyoPs7U23MuSTtepEyXUtSAEffEpFpJGoYvug8X2sWY | prepaid | 141.14.14.14 | MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 | MAX | MAX | 0 | requested | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdndoublezero addressの公開鍵は user_payer の公開鍵と一致している必要があり、接続元の IP アドレスはアクセスパスの ip と一致している必要があります。doublezero addressはデフォルトで ~/.config/doublezero/ にある id.json ファイルから取得されます。こちらのステップ 6 を参照してください。 -
上記が正しく表示されているにもかかわらず接続時にエラーが発生する場合、または上記のマッピングが正しくない場合は、DoubleZero Tech でサポートにお問い合わせください。
問題:❌ Error provisioning service: malformed stuff: cannot provision multiple tunnels at the same time
このエラーは、デバイスが既に DoubleZero に接続されていることを示しています。
症状:
- ユーザーが DoubleZero に接続しようとする
- ❌ Error provisioning service: malformed stuff: cannot provision multiple tunnels at the same time が発生する
解決策:
1. 確認
doublezero status
出力:
```bash
Tunnel status | Last Session Update | Tunnel Name | Tunnel src | Tunnel dst | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro | Network
up | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL | ams-dz001 | ✅ ams-dz001 | Amsterdam | testnet
```
- -
up- は正常な接続を示しています。 -
このエラーは、特定の DoubleZero IP を持つ DoubleZero へのトンネルがこのマシン上で既にアクティブであるために表示されます。
このエラーは DoubleZero クライアントのアップグレード後によく発生します。DoubleZero のアップグレードは doublezerod サービスを自動的に再起動し、サービス再起動前に接続していた場合は再接続します。
問題:DoubleZero のステータスが unknown または down
この問題は、サーバーと DoubleZero デバイス間の GRE トンネルは正常に確立されているが、ファイアウォールが BGP セッションの確立を阻止していることに関連していることが多いです。このため、ネットワークからルートを受信できず、DoubleZero 経由でトラフィックを送信できません。
症状:
- doublezero connect ibrl は成功した。しかし、doublezero status が down または unknown を返す
doublezero connect ibrl
DoubleZero Service Provisioning
🔗 Start Provisioning User...
Public IP detected: 111.11.11.11 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`
🔍 Provisioning User for IP: 111.11.11.11
User account created
Connected to device: nyc-dz001
The user has been successfully activated
Service provisioned with status: ok
✅ User Provisioned
```bash
Tunnel status | Last Session Update | Tunnel Name | Tunnel src | Tunnel dst | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro | Network
up | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL | ams-dz001 | ✅ ams-dz001 | Amsterdam | testnet
```
解決策: 1. ファイアウォールルールを確認してください!
DoubleZero は、マシンと DoubleZero デバイス間の GRE トンネルインターフェースにリンクローカルアドレス空間 169.254.0.0/16 を使用します。169.254.0.0/16 は通常「ルーティング不可」な空間であるため、適切なセキュリティプラクティスではこの空間との通信をブロックすることが推奨されています。ファイアウォールで、送信元 169.254.0.0/16 から宛先 169.254.0.0/16 への TCP ポート 179 での通信を許可するルールを設定する必要があります。このルールは、169.254.0.0/16 へのトラフィックを拒否するルールよりも上に配置する必要があります。
ufw のようなファイアウォールでは、`sudo ufw status` を実行してファイアウォールルールを確認できます。
Solana バリデーターが使用するものに似た出力例:
```
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
8899/tcp ALLOW Anywhere
8000:10000/tcp ALLOW Anywhere
8000:10000/udp ALLOW Anywhere
11200:11300/udp ALLOW Anywhere
11200:11300/tcp ALLOW Anywhere
To Action From
-- ------ ----
10.0.0.0/8 DENY OUT Anywhere
169.254.0.0/16 DENY OUT Anywhere
172.16.0.0/12 DENY OUT Anywhere
192.168.0.0/16 DENY OUT Anywhere
```
上記の出力では、指定されたポートを除き、169.254.0.0/16 へのすべてのトラフィックが拒否されていることがわかります。
`sudo ufw insert <N> allow proto tcp from 169.254.0.0/16 to 169.254.0.0/16 port 179` でルールを <N> の位置に挿入します。例:N = 1 の場合、このルールは最初のルールとして挿入されます。
`sudo ufw status numbered` でルールの番号順を確認できます。
問題:最も近い DoubleZero デバイスが変更された
これはエラーではありませんが、最適化の余地があります。以下は、時々実行するか自動化できるベストプラクティスです。
解決策:
-
最も近いデバイスへのレイテンシを確認
-
doublezero latencyを実行出力
上記の最も近いデバイスはpubkey | code | ip | min | max | avg | reachable 2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01 | 137.239.213.162 | 1.80ms | 1.90ms | 1.84ms | true ETdwWpdQ7fXDHH5ea8feMmWxnZZvSKi4xDvuEGcpEvq3 | dz-ny5-sw01 | 137.239.213.170 | 1.83ms | 2.10ms | 1.92ms | true 8gisbwJnNhMNEWz587cAJMtSSFuWeNFtiufPuBTVqF2Z | dz-ny7-sw02 | 142.215.184.122 | 1.87ms | 2.66ms | 2.15ms | true 8J691gPwzy9FzUZQ4SmC6jJcY7By8kZXfbJwRfQ8ns31 | nyc002-dz002 | 38.122.35.137 | 2.33ms | 2.39ms | 2.37ms | true FEML4XsDPN3WfmyFAXzE2xzyYqSB9kFCRrMik8JqN6kT | nyc001-dz001 | 38.104.167.29 | 2.29ms | 2.59ms | 2.40ms | truedz-ny7-sw01です。このデバイスに接続します:
-
-
ターゲットデバイスに既に接続されているか確認
-
doublezero user list --env testnet | grep 111.11.11.11を実行します。111.11.11.11を DoubleZero に接続しているデバイスのパブリック IPv4 アドレスに置き換えてください。バリデーター ID や DoubleZero ID を使用することもできます。出力
この例では、既に最も近いデバイスに接続されています。これ以上の手順は不要で、ここで終了できます。account | user_type | groups | device | location | cyoa_type | client_ip | dz_ip | accesspass | tunnel_id | tunnel_net | status | owner 6QRU1ivJnKGHpom2BdzH9PiTRkJ5WhunPNLtfYcqVisW | IBRL | | dz-ny7-sw01 | New York | GREOverDIA | 111.11.11.11 | 111.11.11.11 | Prepaid: (MAX) | 514 | 111.254.1.111/31 | activated | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn代わりに出力が以下のようだった場合を考えてみましょう
account | user_type | groups | device | location | cyoa_type | client_ip | dz_ip | accesspass | tunnel_id | tunnel_net | status | owner 6QRU1ivJnKGHpom2BdzH9PiTRkJ5WhunPNLtfYcqVisW | IBRL | | fra-dz-001-x | New York | GREOverDIA | 111.11.11.11 | 111.11.11.11 | Prepaid: (MAX) | 514 | 111.254.1.111/31 | activated | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdnこれは最適でない接続です。再接続が必要かどうか検討しましょう。接続する前に、デバイスに利用可能なユーザートンネルがあるか確認します。
-
-
オプション:ネットワーク上の利用可能なデバイスを調べる
学習目的として、まず: -
doublezero device listを実行してデバイスの全リストを取得します。出力を説明するために 2 つのデバイスを例として取り上げます。出力: ``` account | code | contributor | location | exchange | device_type | public_ip | dz_prefixes | users | max_users | status | mgmt_vrf | owner GphgLkA7JDVtkDQZCiDrwrDvaUs8r8XczEae1KkV6CGQ | ams001-dz002 | jump_ | EQX-AM4 | ams | switch | 149.11.64.57 | 38.246.201.64/27 | 69 | 128 | activated | | H647kAwTcWsGXZUK3BTr1JyTBZmbNcYyCmRFFCEnXUVp 7FfrX8YbvbzM8A1ojNynP9BjiKpK9rrmhdEdchB2myhG | dz-fr5-sw01 | glxy | EQX-FR5 | fra | switch | 89.222.118.225 | 89.222.118.228/30 | 0 | 0 | activated | | 5YbNrJHJJoiRwVEvgAWRGdFRG9gRdZ47hLCKSym8bqbp ``` 上記で `ams001-dz002` はユーザー数 69、最大ユーザー数 128 です。このデバイスはあと 59 ユーザーを追加できます。 しかし、`dz-fr5-sw01` はユーザー数 0、最大ユーザー数 0 です。このデバイスには接続できません。最大ユーザー数が 0 の場合、デバイスは接続を受け付けていません。 では、最も近いデバイスへの接続に戻りましょう。 -
ターゲットデバイスに利用可能な接続があるか確認
-
doublezero device list | grep dz-ny7-sw01を実行します。dz-ny7-sw01をターゲットデバイスに置き換えてください。出力
ここで2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01 | glxy | EQX-NY7 | nyc | switch | 137.239.213.162 | 137.239.216.164/31 | 29 | 128 | activated | | 5YbNrJHJJoiRwVEvgAWRGdFRG9gRdZ47hLCKSym8bqbpdz-ny7-sw01に接続可能な空きがあることがわかります。
-
-
最も近い DoubleZero デバイスに接続
切断してから、DoubleZero に再接続します。
まず実行 -
doublezero disconnect出力
``` DoubleZero Service Provisioning 🔍 Decommissioning User Public IP detected: 111.11.11.11 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x` \ [00:00:00] [##########>-----------------------------] 1/4 deleting user account... 🔍 Deleting User Account for: 6QRU1ivJnKGHpom2BdzH9PiTRkJ5WhunPNLtfYcqVisW 🔍 User Account deleted ✅ Deprovisioning Complete ```次に、切断を確認するためにステータスを確認します -
doublezero status出力
最後に再接続します -Tunnel status | Last Session Update | Tunnel Name | Tunnel src | Tunnel dst | Doublezero IP | User Type disconnected | no session data | | | | |doublezero connect ibrl出力
上記の出力でDoubleZero Service Provisioning 🔗 Start Provisioning User... Public IP detected: 111.11.11.11 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x` 🔍 Provisioning User for IP: 111.11.11.11 User account created Connected to device: dz-ny7-sw01 Service provisioned with status: ok ✅ User ProvisionedConnected to device: dz-ny7-sw01に接続したことに注目してください。これはステップ 1 の最初の調査でdz-ny7-sw01が最もレイテンシの低いデバイスであると判明した結果に基づく望ましい結果です。
問題:DoubleZero 環境が間違っている
Mainnet-Beta と Testnet は異なるパッケージリポジトリを使用します。doublezero status はクライアントが接続しているネットワークを表示します(Network 列)。ユーザーが間違ったクライアントをインストールした場合、またはデーモンがまだ別の環境を指している場合は、以下のコピー&ペーストコマンドで切り替えてください。
DoubleZero クライアント CLI(doublezero)とデーモン(doublezerod)を DoubleZero testnet に接続するように設定するには:
DESIRED_DOUBLEZERO_ENV=testnet \
&& sudo mkdir -p /etc/systemd/system/doublezerod.service.d \
&& echo -e "[Service]\nExecStart=\nExecStart=/usr/bin/doublezerod -sock-file /run/doublezerod/doublezerod.sock -env $DESIRED_DOUBLEZERO_ENV" | sudo tee /etc/systemd/system/doublezerod.service.d/override.conf > /dev/null \
&& sudo systemctl daemon-reload \
&& sudo systemctl restart doublezerod \
&& doublezero config set --env $DESIRED_DOUBLEZERO_ENV > /dev/null \
&& echo "✅ doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV"
DoubleZero クライアント CLI(doublezero)とデーモン(doublezerod)を DoubleZero mainnet-beta に接続するように設定するには:
DESIRED_DOUBLEZERO_ENV=mainnet-beta \
&& sudo mkdir -p /etc/systemd/system/doublezerod.service.d \
&& echo -e "[Service]\nExecStart=\nExecStart=/usr/bin/doublezerod -sock-file /run/doublezerod/doublezerod.sock -env $DESIRED_DOUBLEZERO_ENV" | sudo tee /etc/systemd/system/doublezerod.service.d/override.conf > /dev/null \
&& sudo systemctl daemon-reload \
&& sudo systemctl restart doublezerod \
&& doublezero config set --env $DESIRED_DOUBLEZERO_ENV > /dev/null \
&& echo "✅ doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV"
✅ doublezerod configured for environment mainnet-beta(または testnet)と表示されるはずです。その後、doublezero status で一致する Network が表示されるはずです。
問題:doublezero status の一部のフィールドが N/A を返す
この問題は一般的に、現在のデーモンとクライアントと、接続中の DZ トンネルが確立されたときのデーモンとクライアントの間の不一致に関連しています。
症状:
- doublezero status を実行すると、一部のフィールドに N/A が表示される
解決策:
1. 実行
doublezero status
例:
```
Tunnel status | Last Session Update | Tunnel Name | Tunnel src | Tunnel dst | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro | Network
up | 2025-10-20 20:06:18 UTC | doublezero0 | 149.28.38.64 | 64.86.249.22 | 149.28.38.64 | IBRL | N/A | ✅ dz-ny7-sw01 | N/A | mainnet-beta
```
上記の出力例では、`Tunnel status` が `up` であることに注目してください。`Network` は `mainnet-beta` です。しかし、`Current Device` と `Metro` が `N/A` になっています。
これは、現在