DoubleZeroのセットアップ方法
用語について
DoubleZeroが初めてですか?doublezerod、IBRL、DZDなどの用語の定義は用語集を参照してください。
DoubleZeroに接続することにより、DoubleZero利用規約に同意したものとみなされます
前提条件
Warning
バリデーターの場合:DoubleZeroはコンテナ内ではなく、バリデーターホストに直接インストールする必要があります。
- パブリックIPアドレスを持つインターネット接続(NATなし)
- x86_64サーバー
- サポートされるOS: Ubuntu 22.04以降またはDebian 11以降、またはRocky Linux / RHEL 9以降
- DoubleZeroを実行するサーバーでのrootまたはsudo権限
- オプションですが便利: デバッグ用のjqとcurl
DoubleZeroへの接続
DoubleZero TestnetとDoubleZero Mainnet-Betaは物理的に異なるネットワークです。インストール時に適切なネットワークを選択してください。
DoubleZeroにオンボーディングする際、DoubleZero IDと呼ばれる公開鍵で表されるDoubleZero アイデンティティを確立します。この鍵は、DoubleZeroがあなたのマシンを認識する方法の一部です。
1. DoubleZeroパッケージのインストール
現在のバージョン
| パッケージ | Mainnet-Beta | Testnet |
|---|---|---|
doublezero |
MAINNET_CLIENT_VERSION |
TESTNET_CLIENT_VERSION |
お使いのオペレーティングシステムに応じて、以下の手順に従ってください:
Ubuntu / Debian
Mainnet-Betaの現在推奨されるデプロイ方法:
curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash
sudo apt-get install doublezero
Testnetの現在推奨されるデプロイ方法:
curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.deb.sh | sudo -E bash
sudo apt-get install doublezero
Rocky Linux / RHEL
Mainnet-Betaの現在推奨されるデプロイ方法:
curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo -E bash
sudo yum install doublezero
Testnetの現在推奨されるデプロイ方法:
curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.rpm.sh | sudo -E bash
sudo yum install doublezero
既存ユーザーのみ:パッケージをTestnetからMainnet-Beta、またはMainnet-BetaからTestnetに変更する
上記のパッケージリポジトリからインストールする場合、それはDoubleZero TestnetまたはDoubleZero Mainnet Betaに固有のものです。ネットワークを切り替える場合は、以前インストールしたパッケージリポジトリを削除し、対象のリポジトリに更新する必要があります。
この例では、TestnetからMainnet-Betaへの移行手順を説明します。
Mainnet-BetaからTestnetへの移行も同じ手順で実行できます。その場合、ステップ3を上記のTestnet用インストールコマンドに置き換えてください。
-
古いリポジトリファイルの検索
まず、システム上の既存のDoubleZeroリポジトリ設定ファイルを見つけます:
find /etc/apt | grep doublezerofind /usr/share/keyrings/ | grep doublezero -
古いリポジトリファイルの削除
前のステップで見つかった古いリポジトリファイルを削除します。例:
sudo rm /etc/apt/sources.list.d/malbeclabs-doublezero.list sudo rm /usr/share/keyrings/malbeclabs-doublezero-archive-keyring.gpg -
新しいリポジトリからのインストール
新しいMainnet-Betaリポジトリを追加し、最新パッケージをインストールします:
curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash sudo apt-get install doublezero=<current_recomended_version_above>
doublezerodのステータス確認
パッケージのインストール後、新しいsystemdユニットがインストール、有効化、起動されます。ステータスを確認するには以下を実行します:
sudo systemctl status doublezerod
GREおよびBGP用のファイアウォール設定
DoubleZeroはGREトンネリング(IPプロトコル47)とBGPルーティング(リンクローカルアドレスのtcp/179)を使用します。ファイアウォールでこれらのプロトコルが許可されていることを確認してください:
iptablesでGREとBGPを許可する:
sudo iptables -A INPUT -p gre -j ACCEPT
sudo iptables -A OUTPUT -p gre -j ACCEPT
sudo iptables -A INPUT -i doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT
sudo iptables -A OUTPUT -o doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT
またはUFWでGREとBGPを許可する:
sudo ufw allow proto gre from any to any
sudo ufw allow in on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp
sudo ufw allow out on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp
2. 新しいDoubleZeroアイデンティティの作成
以下のコマンドでサーバー上にDoubleZeroアイデンティティを作成します:
doublezero keygen
Info
使用したい既存のIDがある場合は、以下のオプション手順に従ってください。
doublezero設定ディレクトリを作成します
mkdir -p ~/.config/doublezero
DoubleZeroで使用したいid.jsonをdoublezero設定ディレクトリにコピーまたはリンクします。
sudo cp </path/to/id.json> ~/.config/doublezero/
3. サーバーのDoubleZeroアイデンティティの確認
DoubleZeroアイデンティティを確認します。このアイデンティティは、あなたのマシンとDoubleZero間の接続を作成するために使用されます。
doublezero address
出力:
YourDoubleZeroAddress11111111111111111111111111111
4. doublezerodがDZデバイスを検出したことを確認
接続する前に、doublezerodが利用可能なすべてのDZテストネットスイッチを検出し、pingを実行したことを確認してください:
doublezero latency
出力例:
$ doublezero latency
pubkey | name | ip | min | max | avg | reachable
96AfeBT6UqUmREmPeFZxw6PbLrbfET51NxBFCCsVAnek | la2-dz01 | 207.45.216.134 | 0.38ms | 0.45ms | 0.42ms | true
CCTSmqMkxJh3Zpa9gQ8rCzhY7GiTqK7KnSLBYrRriuan | ny5-dz01 | 64.86.249.22 | 68.81ms | 68.87ms | 68.85ms | true
BX6DYCzJt3XKRc1Z3N8AMSSqctV6aDdJryFMGThNSxDn | ty2-dz01 | 180.87.154.78 | 112.16ms | 112.25ms | 112.22ms | true
55tfaZ1kRGxugv7MAuinXP4rHATcGTbNyEKrNsbuVLx2 | ld4-dz01 | 195.219.120.66 | 138.15ms | 138.21ms | 138.17ms | true
3uGKPEjinn74vd9LHtC4VJvAMAZZgU9qX9rPxtc6pF2k | ams-dz001 | 195.219.138.50 | 141.84ms | 141.97ms | 141.91ms | true
65DqsEiFucoFWPLHnwbVHY1mp3d7MNM2gNjDTgtYZtFQ | frk-dz01 | 195.219.220.58 | 143.52ms | 143.62ms | 143.58ms | true
9uhh2D5c14WJjbwgM7BudztdoPZYCjbvqcTPgEKtTMZE | sg1-dz01 | 180.87.102.98 | 176.66ms | 176.76ms | 176.72ms | true
出力にデバイスが表示されない場合は、10〜20秒待ってから再試行してください。
5. DoubleZeroからの切断
次のセクションでは、DoubleZero環境を設定します。成功を確実にするために、現在のセッションを切断してください。これにより、マシン上で複数のトンネルが開かれることに関連する問題を回避できます。
確認:
doublezero status
upの場合は以下を実行:
doublezero disconnect
次のステップ:テナント
DoubleZeroへの接続は、ユースケースによって異なります。DoubleZeroでは、テナントは類似したユーザープロファイルを持つグループです。例としては、ブロックチェーン、データ転送レイヤーなどがあります。
こちらからテナントを選択してください
オプション:Prometheusメトリクスの有効化
Prometheusメトリクスに精通しているオペレーターは、DoubleZeroの監視のためにメトリクスを有効にしたい場合があります。これにより、DoubleZeroクライアントのパフォーマンス、接続ステータス、運用状況の可視性が得られます。
利用可能なメトリクス
DoubleZeroはいくつかの重要なメトリクスを公開します: - ビルド情報: バージョン、コミットハッシュ、ビルド日 - セッションステータス: DoubleZeroセッションがアクティブかどうか - 接続メトリクス: レイテンシと接続情報 - パフォーマンスデータ: スループットとエラーレート
Prometheusメトリクスの有効化
DoubleZeroクライアントでPrometheusメトリクスを有効にするには、以下の手順に従ってください:
1. doublezerod systemdサービスの起動コマンドを変更
systemdオーバーライド設定を作成または編集します:
sudo mkdir -p /etc/systemd/system/doublezerod.service.d/
sudo nano /etc/systemd/system/doublezerod.service.d/override.conf
以下の設定に置き換えます:
-envフラグは、データを収集したいネットワークに応じてtestnetまたはmainnet-betaを指定する必要があります。以下のサンプルブロックではtestnetを使用しています。必要に応じてmainnet-betaに変更できます。
[Service]
ExecStart=
ExecStart=/usr/bin/doublezerod -sock-file /run/doublezerod/doublezerod.sock -env testnet -metrics-enable -metrics-addr localhost:2113
2. サービスのリロードと再起動
sudo systemctl daemon-reload
sudo systemctl restart doublezerod
sudo systemctl status doublezerod
3. メトリクスが利用可能か確認
メトリクスエンドポイントが応答していることをテストします:
curl -s localhost:2113/metrics | grep doublezero
期待される出力:
# HELP doublezero_build_info Build information of the client
# TYPE doublezero_build_info gauge
doublezero_build_info{commit="0d684e1b",date="2025-09-10T16:30:25Z",version="0.6.4"} 1
# HELP doublezero_session_is_up Status of session to doublezero
# TYPE doublezero_session_is_up gauge
doublezero_session_is_up 0
トラブルシューティング
メトリクスが表示されない場合:
- サービスステータスの確認:
sudo systemctl status doublezerod - 設定の確認:
sudo systemctl cat doublezerod - ログの確認:
sudo journalctl -u doublezerod -f - エンドポイントのテスト:
curl -v localhost:2113/metrics - ポートの確認:
netstat -tlnp | grep 2113
Prometheusサーバーの設定
設定およびセキュリティについては、本ドキュメントの範囲外です。 Grafanaは可視化の優れた選択肢であり、Prometheusメトリクスの収集方法を詳しく説明したドキュメントが利用可能です。
Grafanaダッシュボード(オプション)
可視化のために、DoubleZeroメトリクスを使用してGrafanaダッシュボードを作成できます。一般的なパネルには以下が含まれます: - 時系列でのセッションステータス - ビルド情報 - 接続レイテンシの傾向 - エラーレートの監視