跳到主要内容

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 扩展名。