Realm 转发教程
适用场景:用一台低配 VPS 做流量中转(中转机 → 落地机),把端口转发配置从 iptables 换成更容易维护的 Realm。你会学到安装、TOML 配置、systemd 托管与验证的完整流程。
项目地址:realm
特点
- 支持 DDNS,传入域名后可自动更新解析。
- 基于 Rust 编写,资源占用低,适合低配主机。
- 配置简单,相比
iptables更容易维护。 - 同时支持 TCP 和 UDP 转发。
运行环境建议
推荐系统:
- Debian 11 及以上
- Ubuntu 20 及以上
建议先检查 GLIBC 版本,要求 2.29 及以上:
ldd --version
如果版本过低,建议直接更换到较新的系统版本。
1. 安装 Realm
mkdir -p /home/realm/work
touch /home/realm/work/config.toml
wget -P /home/realm https://github.com/zhboner/realm/releases/download/v2.5.3/realm-x86_64-unknown-linux-gnu.tar.gz
tar -zxvf /home/realm/realm-x86_64-unknown-linux-gnu.tar.gz -C /home/realm
chmod +x /home/realm/realm
2. 配置文件
Realm 支持 json 和 toml 两种格式,这里更推荐 toml。
参考示例地址: Realm examples
中转机示例
vim /home/realm/work/config.toml
[log]
level = "warn"
output = "/var/log/realm.log"
[network]
no_tcp = false
use_udp = true
[[endpoints]]
listen = "[::]:50001"
remote = "[2602:fce1:407::2f]:10080"
remote_transport = "tls;sni=amd.com;insecure"
落地机示例
vim /home/realm/work/config.toml
[log]
level = "warn"
[network]
no_tcp = false
use_udp = true
[[endpoints]]
listen = "[::]:10080"
remote = "127.0.0.1:10089"
listen_transport = "tls;servername=amd.com"
3. 配置开机启动
创建服务文件:
vim /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
ExecStart=/home/realm/realm -c /home/realm/work/config.toml
[Install]
WantedBy=multi-user.target
4. 启动服务
systemctl daemon-reload
systemctl enable realm
systemctl restart realm
systemctl status realm
验证与自查
systemctl status realm显示 active(running)ss -lntup | grep 50001(中转机监听端口)确认监听正常- 用
nc -vz <中转机IP> 50001或客户端经中转访问落地服务,确认转发链路通 - 查看转发日志:
tail -f /var/log/realm.log(需配置output)