Introduction

最近在玩一个端口转发工具, 叫做 realm. realm

据说效率比较高, 支持bbr. (虽然我对速度的要求也不那么高

之前使用的各种转发方式, 例如 iptables, gost, 大多使用的都是一键脚本. 自从某某根据地垮台之后, 也没有更多的人自发编写一键脚本了

选择 realm正是因为他容易使用, 不依赖一键脚本, 自己手动操作也不那么麻烦.

Deployment

配置文件

realm支持命令行运行, 也支持通过配置文件运行:

./realm -c /path/to/file 

配置文件支持 jsontoml, 我更加喜欢 toml, 因为他更加清晰, 并且注释格式也非常简单.

[[endpoints]]
listen = "0.0.0.0:123"
remote = "test.com:456"

[[endpoints]]
listen = "0.0.0.0:111"
remote = "8.8.8.8:222"

守护进程

执行命令运行 realm转发程序都属于在前台运行, 即使通过 tmux, screen在后台运行, 如果机器被重启, 则转发程序结束.

为了解决这个问题, 我们采用系统服务的形式来守护程序.

将下面的配置信息写入文件 /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
ExecStart=/root/realm -c /root/ss.toml
[Install]
WantedBy=multi-user.target

使修改生效, 开机自启, 重启服务.

systemctl daemon-reload
systemctl enable realm
systemctl restart realm
# 然后可以通过systemctl status realm查看服务运行状态

image-20230505213237855

最后修改:2023 年 05 月 05 日
如果觉得我的文章对你有用,请随意赞赏