下载最新realm,并上传服务器
https://github.com/zhboner/realm/releases/download/v2.9.2-2/realm-x86_64-unknown-linux-gnu.tar.gz
赋予权限
chmod +x realm配置Realm
创建配置文件config.toml
nano config.toml加密隧道转发,需同时在中转机器和落地机器安装并配置服务,这里以ws隧道配置文件的方式演示,参考更多配置;

TLS 加密
中转机器
[log]
level = "warn"
output = "/var/log/realm.log"
[network]
no_tcp = false
use_udp = true
[[endpoints]]
listen = "0.0.0.0:10000"
remote = "1.1.1.1:20000"
remote_transport = "tls;sni=www.bing.com;insecure" # 远程端启用TLS insecure不验证tls,伪装域名落地机器
[log]
level = "warn"
output = "/var/log/realm.log"
[network]
no_tcp = false
use_udp = true
[[endpoints]]
listen = "0.0.0.0:20000"
remote = "1.1.1.1:30000"
listen_transport = "tls;servername=www.bing.com" # 监听端启用TLSWS 加密
中转机器
[log]
level = "warn"
output = "/var/log/realm.log"
[network]
no_tcp = false
use_udp = true
[[endpoints]]
listen = "0.0.0.0:15200"
remote = "2.2.2.2:15600"
remote_transport = "ws;host=amazon.com;path=/chat"上述配置中,listen段为中转机的连接端口,可自定义。remote段为落地机的传入端口,listen_transport段为隧道伪装的domain,自行更改。
落地机器
[log]
level = "warn"
output = "/var/log/realm.log"
[network]
no_tcp = false
use_udp = true
[[endpoints]]
listen = "0.0.0.0:15600"
remote = "127.0.0.1:22622"
listen_transport = "ws;host=amazon.com;path=/chat"上述配置中,listen段为落地机的传入端口,remote段为代理服务端口,listen_transport段为隧道伪装的domain,自行更改。
测试运行
./realm -c config.toml将Realm添加到系统服务
创建服务单元文件
nano /etc/systemd/system/realm.service或者文件上传
cd /etc/systemd/system/在其中写入以下内容:
[Unit]
Description=Realm Service
After=network-online.target
Wants=network-online.target systemd-networkd-wait-online.service
[Service]
Type=simple
ExecStart=/root/realm -c /root/config.toml
User=root
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target
将ExecStart中的路径换为你自己的realm路径即可
启用服务
systemctl daemon-reload
systemctl enable realm && systemctl start realm
systemctl status realm.service如需禁用 realm 自启并停止 realm 的运行进程执行下面的命令:
systemctl stop realm && systemctl disable realm以上命令会启用服务并显示其执行状态,若为active则表示服务启动成功
实时查看日志
journalctl -u realm.service -f如果你的落地服务器使用的是动态 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