转发工具之Realm极简用法

本文最后更新于 344 天前, 如有失效请评论区留言.

什么是Realm

用rust编写的简单的、高性能的端口转发工具。其主要特点资源占用低,执行速度快,命令简单,支持TCP/UDP。

项目地址

zhboner/realm

安装

# 当前最新版本2.5.2版本
wget https://dfcos.ysicing.net/oss/tiga/linux/amd64/realm
chmod +x realm
mv realm /usr/bin/realm

运行

极简用法

realm -l 本地IP:本地端口 -r 远程IP:远程端口

这种方式,方便验证是否可用,维护性比较差

配置文件

配置文件 https://github.com/zhboner/realm/tree/master/examples 支持json和toml两种格式,我个人推荐toml格式,书写结构上更易辨识

[log]
# 日志级别: off,debug,info,error,warn 测试时可用debug, 验证ok可用改成off
level = "debug"
# 日志路径,默认是stdout, 标准输出,通常不需要
# output = "/var/log/realm.log"

# 网络没啥特殊配置,仅开启UDP
[network]
use_udp = true

# 负载均衡模式
#[[endpoints]]
#listen = "0.0.0.0:3306"
#remote = "[fd7a:115c:a1e0::bf60:9706]:3306"
# extra_remotes = ["[fd7a:115c:a1e0:ab12:4843:cd96:6271:d790]:3306"]
# balance = "roundrobin: 2,1"

[[endpoints]]
listen = "0.0.0.0:2222"
remote = "[fd7a:115c:a1e0:ab12:4843:cd96:6255:5794]:22"

经过测试ipv6 fd7a:115c:a1e0:ab12:4843:cd96:6255:5794[fd7a:115c:a1e0:ab12:4843:cd96:6255:5794] 都可以生效的

设置系统开机启动

编辑/etc/systemd/system/realm.service

[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
WorkingDirectory=/etc/realm
ExecStart=/usr/bin/realm -c /etc/realm/config.toml

[Install]
WantedBy=multi-user.target

开机并启动

systemctl daemon-reload
systemctl enable realm --now
systemctl restart realm
systemctl status realm

其他

对于我来说,有些鸡肋,基于tailscale内网打通的网络,使用的场景比较少,仅记录一下。

Sponsor

Like this article? $1 reward

Comments