メインコンテンツまでスキップ

Remnawaveノード

RemnawaveノードはXray-coreを含む軽量コンテナです。

注記

RemnawaveパネルにはXray-coreが含まれていないため、Remnawaveのすべての機能を使用するには別のサーバーにRemnawaveノードをインストールする必要があります。

Dockerのインストール

まだインストールされていない場合はDockerをインストールします。

sudo curl -fsSL https://get.docker.com | sh

ステップ1 — プロジェクトディレクトリの作成

プロジェクトディレクトリを作成
mkdir /opt/remnanode && cd /opt/remnanode

ステップ2 - ノードの追加

Nodes -> Management に移動し、+ ボタンをクリックして新しいノードを追加します。

フォームに入力してください。

Node Port フィールドに注意してください。RemnawaveパネルからRemnawaveノードへの内部APIリクエストを受け付けるために使用されます。他の用途には使用されません。

Copy docker-compose.yml ボタンをクリックして設定をクリップボードにコピーします。

ノード作成

ステップ3 — docker-compose.ymlファイルの作成

docker-compose.ymlファイルを作成
cd /opt/remnanode && nano docker-compose.yml

クリップボードから設定を貼り付けて保存します。

ステップ4 — コンテナの起動

以下のコマンドを実行してコンテナを起動します:

コンテナを起動
docker compose up -d && docker compose logs -f -t

ステップ5 - 完了

ノード作成カードで Next をクリックし、目的の Config Profile を選択した後、Create ボタンをクリックします。

重要な注意

ノードのファイアウォールでNODE_PORTをパネルのIPのみに閉じることを忘れないでください。

高度な使用方法

変更されたgeositeとgeoipファイルの読み込み

重要な注意
  1. この例では *-zapret.dat ファイルと :zapret カテゴリにプレースホルダー名を使用しています。実際のファイル名とカテゴリは異なります。
  2. サーバー(ノード)で設定されたルーティングはサーバー側のトラフィックを制御し、クライアントのDIRECT接続には影響しません。クライアントトラフィックのルーティングを管理するには、クライアント側でルーティングを設定してください。

コンテナ内の /usr/local/share/xray/ ディレクトリにマウントすることで、追加のgeositeとgeoipファイルを追加できます。

注意

フォルダ全体をマウントしないでください。デフォルトのXray geositeとgeoipファイルが上書きされます。代わりに各ファイルを個別にマウントしてください。

docker-compose.yml ファイルに以下を追加します:

services:
remnanode:
container_name: remnanode
hostname: remnanode
image: remnawave/node:latest
restart: always
network_mode: host
environment:
- NODE_PORT=2222
- SECRET_KEY="supersecretkey"
volumes:
- './geo-zapret.dat:/usr/local/share/xray/geo-zapret.dat'
- './ip-zapret.dat:/usr/local/share/xray/ip-zapret.dat'

Xray設定での使用方法:

  "routing": {
"rules": [
// 他のルール
{
"type": "field",
"domain": [ // geositeファイルの呼び出し
"ext:geo-zapret.dat:zapret"
],
"inboundTag": [ // オプション
"VLESS_TCP_REALITY"
],
"outboundTag": "NOT_RU_OUTBOUND"
},
{
"type": "field",
"ip": [ // geoipファイルの呼び出し
"ext:ip-zapret.dat:zapret"
],
"inboundTag": [ // オプション
"VLESS_TCP_REALITY"
],
"outboundTag": "NOT_RU_OUTBOUND"
}
// 他のルール
]
}

ノードログ

ホストファイルシステムにマウントすることでノードログにアクセスできます。

注意

ログローテーションを設定する必要があります。そうしないとログがディスクを埋めてしまいます!

docker-compose.yml ファイルに以下を追加します:

services:
remnanode:
container_name: remnanode
hostname: remnanode
image: remnawave/node:latest
restart: always
network_mode: host
environment:
- NODE_PORT=2222
- SECRET_KEY="supersecretkey"
volumes:
- '/var/log/remnanode:/var/log/remnanode'

Xray設定での使用方法:

  "log": {
"error": "/var/log/remnanode/error.log",
"access": "/var/log/remnanode/access.log",
"loglevel": "warning"
}

ノードをホストするサーバーで、次を実行して /var/log/remnanode フォルダを作成します:

mkdir -p /var/log/remnanode

logrotateをインストールします(まだインストールされていない場合):

sudo apt update && sudo apt install logrotate

logrotate設定ファイルを作成します:

nano /etc/logrotate.d/remnanode

RemnaNode用の次のlogrotate設定を貼り付けます:

/var/log/remnanode/*.log {
size 50M
rotate 5
compress
missingok
notifempty
copytruncate
}

logrotateを実行して設定をテストします:

logrotate -vf /etc/logrotate.d/remnanode

ノード用XRay SSL証明書

危険

このステップは、'VLESS-Vision-TLS'などのTLSトランスポートを実装する場合に必要です。Realityトランスポートの場合は必要ありません。

Xray設定に証明書を使用している場合は、パネルにマウントする必要があります。

備考

Dockerボリュームを使用してフォルダをマウントし、設定で内部パスを参照してください。 コンテナ内には証明書用の専用(空の)ディレクトリがあります: /var/lib/remnawave/configs/xray/ssl/

docker-compose.yml ファイルに以下を追加します:

remnawave:
image: remnawave/backend:latest
container_name: 'remnawave'
hostname: remnawave
restart: always
ports:
- '127.0.0.1:3000:3000'
env_file:
- .env
networks:
- remnawave-network
volumes:
- '/opt/remnawave/nginx:/var/lib/remnawave/configs/xray/ssl'
depends_on:
remnawave-db:
condition: service_healthy
remnawave-redis:
condition: service_healthy
備考

パネルがノードに設定をプッシュすると、マウントされたファイルを自動的に読み取り、証明書をノードに送信します。

Xray設定での使用方法:

  "certificates": [
{
"keyFile": "/var/lib/remnawave/configs/xray/ssl/privkey.key",
"certificateFile": "/var/lib/remnawave/configs/xray/ssl/fullchain.pem"
// その他のフィールド
}
]
注意

.key.pem の拡張子に注意してください。