IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    转发工具之Realm极简用法

    ysicing (i@ysicing.me)发表于 2024-01-17 12:54:40
    love 0

    什么是Realm

    用rust编写的简单的、高性能的端口转发工具。其主要特点资源占用低,执行速度快,命令简单,支持TCP/UDP。

    项目地址

    zhboner/realm

    安装

    # 当前最新版本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内网打通的网络,使用的场景比较少,仅记录一下。



沪ICP备19023445号-2号
友情链接