跳至主要内容

Remnawave 節點

Remnawave 節點是一個包含 Xray-core 的輕量級容器。

備註

Remnawave 面板不包含 Xray-core,因此您需要在獨立的伺服器上安裝 Remnawave 節點以使用 Remnawave 的所有功能。

安裝 Docker

如果尚未安裝,請安裝 Docker。

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

第一步 — 建立專案目錄

建立專案目錄
mkdir /opt/remnanode && cd /opt/remnanode

第二步 - 新增節點

導航至 Nodes -> Management,點擊 + 按鈕新增節點。

填寫表單。

注意 Node Port 欄位。它將被 Remnawave 節點用於監聽來自 Remnawave 面板的內部 API 請求,不會用於其他用途。

點擊 Copy docker-compose.yml 按鈕將設定複製到剪貼簿。

建立節點

第三步 — 建立 docker-compose.yml 檔案

建立 docker-compose.yml 檔案
cd /opt/remnanode && nano docker-compose.yml

從剪貼簿貼上設定並儲存。

第四步 — 啟動容器

執行以下命令啟動容器:

啟動容器
docker compose up -d && docker compose logs -f -t

第五步 - 完成

在節點建立卡片中,點擊 Next,選擇所需的 Config Profile,然後點擊 Create 按鈕。

重要說明

請記住在節點防火牆中僅對面板 IP 關閉 NODE_PORT。

進階用法

載入修改過的 geosite 和 geoip 檔案

重要說明
  1. 此範例對 *-zapret.dat 檔案和 :zapret 類別使用了佔位符名稱。實際的檔案名稱和類別會有所不同。
  2. 在伺服器(節點)上設定的路由控制伺服器端流量,不會影響客戶端的 DIRECT 連線。要管理客戶端流量路由,請在客戶端設定路由。

您可以透過將額外的 geosite 和 geoip 檔案掛載到容器內的 /usr/local/share/xray/ 目錄來新增它們。

警告

不要掛載整個資料夾,這會覆蓋預設的 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 憑證

危險

如果您實作 TLS 傳輸(例如 'VLESS-Vision-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 副檔名。