轻量快速 Realm 端口流量转发使用教程,实现中转加速通信(amd/arm皆可)

4,308次阅读
一条评论

共计 2866 个字符,预计需要花费 8 分钟才能阅读完成。

realm 是什么

轻量快速 Realm 端口流量转发使用教程,实现中转加速通信(amd/arm 皆可)

Rust 语言开发的流量转发工具,Realm 比 Gost 占用资源更小。
优势是资源占用低,执行速度快,命令简单

 

realm 的获取

到作者的 github 下面获取文件:
amd 系统:

wget -O realm.tar.gz https://github.com/zhboner/realm/releases/download/v2.4.5/realm-x86_64-unknown-linux-gnu.tar.gz && tar -xvf realm-x86_64-unknown-linux-gnu.tar.gz && chmod +x realm

arm 系统:

wget -O realm.tar.gz https://github.com/zhboner/realm/releases/download/v2.4.5/realm-aarch64-unknown-linux-gnu.tar.gz && tar -xvf realm-aarch64-unknown-linux-gnu.tar.gz && chmod +x realm

realm 的用法

转发信息:
中转 VPS 和端口:1.1.1.1:1111
落地 VPS 和端口:8.8.8.8:8888

 

一、普通启动

1. 极简用法:
在中转 VPS 上直接执行命令:

./realm -l 0.0.0.0:1111 -r 8.8.8.8:8888

 

2. 使用配置文件:
新建 TOML 文件:

nano config.toml

在 config.toml 文件中填入内容,并保存:

[log]
level = "warn"
output = "/root/realm.log"

[network]
no_tcp = false
use_udp = true

[[endpoints]]
listen = "0.0.0.0:1111"
remote = "8.8.8.8:8888"

ipv6 转发的话记得带上括号,如:[ipv6]:8888

使用配置文件启动 realm:

./realm -c config.toml

 

3. 创建自启动服务项:

因为手动每次运行很麻烦,我们需要创建 Linux 的服务项来实现自启动转发通道。

举例创建 service 服务项,首先使用 nano 编辑服务项内容:

nano /etc/systemd/system/realm.service

如果你的 realm 主程序和配置文件都和我一样在 /root 目录里的话直接使用下面的内容即可

[Unit]
Description=realm
After=network-online.target
Wants=network-online.target systemd-networkd-wait-online.service

[Service]
Type=simple
User=root
Restart=on-failure
RestartSec=5s
DynamicUser=true
ExecStart=/root/realm -c /root/config.toml

[Install]
WantedBy=multi-user.target

然后使用 ctrl+ o 保存文件,再使用 ctrl+ x 退出编辑器,service 文件就生成了。

 

4. 开启服务配置自启:

ssh 路径回到 /root 后,即可执行重载系统服务和启动 realm 服务:

systemctl daemon-reload
systemctl enable realm && systemctl start realm

如感觉没启动,可以先停止服务,然后 status 查看报错日志状态

systemctl stop realm && systemctl status realm

如需禁用 realm 自启并停止 realm 的运行进程执行下面的命令:

systemctl stop realm && systemctl disable realm

如果你的落地服务器使用的是动态 IP,或者 DDNS 服务,可以在 crontab 计划任务里来设置定时重启 realm 服务:

cronteb -e

# 填写内容为时间和重启的服务名称:

00 01 * * * systemctl restart realm
00 05 * * * systemctl restart realm
00 09 * * * systemctl restart realm
00 13 * * * systemctl restart realm
00 17 * * * systemctl restart realm
00 21 * * * systemctl restart realm

 

二、可选 Docker 启动

由于作者的 docker 版本设置了 private,所以没有办法 pull,需要自己 build,所以首先我们来 build 一下 realm docker 版本:

新建 Dockerfile
新建 Docker/Realm 目录,然后进入目录,新建 Dockerfile

mkdir /root/Docker/Realm
cd /root/Docker/Realm
nano Dockerfile

填入内容,并保存:

FROM alpine:3.9

ARG VERSION="v2.4.5"

WORKDIR /realm

RUN wget https://github.com/zhboner/realm/releases/download/${VERSION}/realm-x86_64-unknown-linux-musl.tar.gz \
&& tar -zxvf realm-x86_64-unknown-linux-musl.tar.gz \
&& cp realm /usr/bin/realm \
&& chmod +x /usr/bin/realm

ENTRYPOINT ["/usr/bin/realm"]

编译 Docker Image( 注意代码后最后一个符号“点”

docker build -t realm:v2.4 .

等待 10 几秒编译完成后,查看镜像,看到 realm

% docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
realm v2.3 692ce2fa59dc 10 seconds ago 15.7MB

启动 Docker
新建 docker-compose.yml

nano docker-compose.yml

填入内容,并保存

version: '3'

services:
realm-2.3:
image: realm:v2.3
network_mode: "host"
volumes:
- ./conf:/home
command:
- "-c=/home/config.toml"

 

新建配置文件夹

mkdir conf

新建配置文件

nano conf/config.toml

填入配置,并保存

[log]
level = "warn"
output = "/var/log/realm.log"

[network]
no_tcp = false
use_udp = true

[[endpoints]]
listen = "0.0.0.0:1111"
remote = "8.8.8.8:8888"

启动 realm docker:

docker-compose up -d

判断是否启动成功的方法:

查看日志

docker-compose logs

查看系统开放端口

ss -luntp
正文完
 
alecctv
版权声明:本文于2023-04-16转载自GIT,共计2866字。
转载提示:此文章非本站原创文章,若需转载请联系原作者获得转载授权。
评论(一条评论)
验证码