转发工具之Realm极简用法
本文最后更新于 344 天前, 如有失效请评论区留言.
什么是Realm
用rust编写的简单的、高性能的端口转发工具。其主要特点资源占用低,执行速度快,命令简单,支持TCP/UDP。
项目地址
安装
# 当前最新版本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内网打通的网络,使用的场景比较少,仅记录一下。