Realm是使用Rust语言开发的流量转发工具,相较于Gost资源占用更低, 同时也支持tcp和udp转发、单端口/端口段转发、DDNS动态域名解析等。Realm跟Gost一样也可以配置tls/ws/wss加密隧道,这边讲解下手动配置Realm中转,适合个人采用,业务使用建议搭配闲蛋面板。
项目地址:https://github.com/zhboner/realm文章源自技术白-https://jishubai.com/1609.html
1、下载Realm并赋予执行权限,这里以x86架构机器演示,请根据自身系统架构替换下载地址;文章源自技术白-https://jishubai.com/1609.html
wget https://github.com/zhboner/realm/releases/download/v2.4.6/realm-x86_64-unknown-linux-gnu.tar.gz tar -zxvf realm-x86_64-unknown-linux-gnu.tar.gz chmod +x realm
2、普通单端口转发:监听本机12000端口,把流量转发到远程IP为 2.2.2.2 机器的15000端口,通过nobup命令后台启动,此方式系统重启会失效,如需继续使用则重启后再执行一遍命令即可;文章源自技术白-https://jishubai.com/1609.html
nohup ./realm -l 127.0.0.1:12000 -r 2.2.2.2:15000 >> /dev/null 2>&1 &
以上参数中:-l 和 -r 不可省略,-l 指定监听的本机地址和端口,-r 指定转发的目的地址和端口;至此已经中转成功,以下步骤为多样化配置,可省略不予理会。文章源自技术白-https://jishubai.com/1609.html
3、端口段转发:执行 nano /root/config.toml 命令创建配置文件,同时粘贴以下内容,配置文件需要用-c参数指定,如 ./realm -c config.toml 启动;文章源自技术白-https://jishubai.com/1609.html
{ "listening_addresses": ["0.0.0.0"], "listening_ports": ["1000-2000"], "remote_addresses": ["2.2.2.2"], "remote_ports": ["1000-2000"] }
listening_ports 可以是端口段,也可以是单端口、多端口;remote_addresses 可以是IP,也可以是域名文章源自技术白-https://jishubai.com/1609.html
4、通过命令行的方式会导致系统重启失效,这时候可以配置系统服务守护运行(如不介意重启失效可省略该步骤),执行 nano /etc/systemd/system/realm.service 创建realm服务文件,并输入以下内容;文章源自技术白-https://jishubai.com/1609.html
[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=/root/realm -c /root/realm.toml [Install] WantedBy=multi-user.target
4.1、执行以下命令重载系统服务和启动realm服务:文章源自技术白-https://jishubai.com/1609.html
systemctl daemon-reload
systemctl enable realm && systemctl start realm
4.2、如需禁用realm自启并停止realm的运行进程执行下面的命令:文章源自技术白-https://jishubai.com/1609.html
systemctl stop realm && systemctl disable realm
5、加密隧道转发,需同时在中转机器和落地机器安装并配置服务,这里以ws隧道配置文件的方式演示,参考更多配置;文章源自技术白-https://jishubai.com/1609.html
中转机器
[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,自行更改。
- 本站TG群组:skill_blog 联系博主:nbskill (微信协助) 苹果ID号:曙光商店