注意事项

  1. 配置server和client的service名称时需要一样

Server端配置

1、server.toml配置

[server]
bind_addr = "0.0.0.0:62334"

[server.services.Win_Hefei_01]
type = "tcp"
bind_addr = "0.0.0.0:60981"
token = "7e4b1d9c2f8a6e0b53d7a4c91f6e2b8d"

[server.services.Win_Hefei_02]
type = "tcp"
bind_addr = "0.0.0.0:60982"
token = "a9f3c2e47b8d6a1e0f59c4d2b7a8e61c"

[server.services.Win_Hefei_03]
type = "tcp"
bind_addr = "0.0.0.0:60983"
token = "c8d1a7f04e6b92f53a1e7d8c4b0e6a29"

2、docker-server配置

services:
  rathole-server:
    image: rapiz1/rathole:latest
    container_name: rathole-server
    restart: unless-stopped
    command: ["--server", "/config/server.toml"]
    network_mode: host
    
    security_opt:
      - apparmor=unconfined
      - seccomp=unconfined

    volumes:
      - /data/docker/appdata/rathole-server:/config:ro

    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "5"

Client端配置

rathole client windows

1、client.toml配置

[client]
remote_addr = "winlink02.sisthy.com:62334"

[client.services.Win_Hefei_01]
type = "tcp"
local_addr = "127.0.0.1:3389"
token = "7e4b1d9c2f8a6e0b53d7a4c91f6e2b8d"

[client.services.Win_Hefei_02]
type = "tcp"
local_addr = "127.0.0.1:3389"
token = "a9f3c2e47b8d6a1e0f59c4d2b7a8e61c"

[client.services.Win_Hefei_03]
type = "tcp"
local_addr = "127.0.0.1:3389"
token = "c8d1a7f04e6b92f53a1e7d8c4b0e6a29"

2、docker-client配置

services:
  rathole-client:
    image: rapiz1/rathole:latest
    container_name: rathole-test001
    restart: unless-stopped
    command: ["--client", "/config/client.toml"]
    network_mode: host
    
    security_opt:
      - apparmor=unconfined
      - seccomp=unconfined

    volumes:
      - /data/docker/appdata/rathole-client/test001:/config:ro

    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "5"

3、windows-nssm配置

cd "C:\Program Files\nssm-2.24\win64"

# 删除旧服务
.\nssm.exe remove rathole-Win_Hefei_RDP confirm

# 重新安装服务
.\nssm.exe install rathole-Win_Hefei_RDP "D:\Program Files\rathole\Win_Hefei_RDP\rathole.exe" "client.toml"

# 设置工作目录
.\nssm.exe set rathole-Win_Hefei_RDP AppDirectory "D:\Program Files\rathole\Win_Hefei_RDP"

# 设置日志输出
.\nssm.exe set rathole-Win_Hefei_RDP AppStdout "D:\Program Files\rathole\Win_Hefei_RDP\rathole.out.log"
.\nssm.exe set rathole-Win_Hefei_RDP AppStderr "D:\Program Files\rathole\Win_Hefei_RDP\rathole.err.log"

# 设置异常自动重启
.\nssm.exe set rathole-Win_Hefei_RDP AppExit Default Restart
.\nssm.exe set rathole-Win_Hefei_RDP AppThrottle 1500


.\nssm.exe install rathole-EX358_Hefei_SSH "C:\Program Files\rathole\EX358_Hefei_SSH\rathole.exe" "client.toml"
.\nssm.exe set rathole-EX358_Hefei_SSH AppDirectory "C:\Program Files\rathole\EX358_Hefei_SSH"

.\nssm.exe set rathole-EX358_Hefei_SSH AppStdout "C:\Program Files\rathole\EX358_Hefei_SSH\rathole.out.log"
.\nssm.exe set rathole-EX358_Hefei_SSH AppStderr "C:\Program Files\rathole\EX358_Hefei_SSH\rathole.err.log"

.\nssm.exe set rathole-EX358_Hefei_SSH AppExit Default Restart
.\nssm.exe set rathole-EX358_Hefei_SSH AppThrottle 1500



.\nssm.exe remove rathole-Work-Win10-VM-213_133 confirm

# 重新安装服务
.\nssm.exe install rathole-Work-Win10-VM-213_133 "D:\Program Files\rathole\Work-Win10-VM-213_133\rathole.exe" "client.toml"

# 设置工作目录
.\nssm.exe set rathole-Work-Win10-VM-213_133 AppDirectory "D:\Program Files\rathole\Work-Win10-VM-213_133"

# 设置日志输出
.\nssm.exe set rathole-Work-Win10-VM-213_133 AppStdout "D:\Program Files\rathole\Work-Win10-VM-213_133\rathole.out.log"
.\nssm.exe set rathole-Work-Win10-VM-213_133 AppStderr "D:\Program Files\rathole\Work-Win10-VM-213_133\rathole.err.log"

# 设置异常自动重启
.\nssm.exe set rathole-Work-Win10-VM-213_133 AppExit Default Restart
.\nssm.exe set rathole-Work-Win10-VM-213_133 AppThrottle 1500

# 启动服务
.\nssm.exe start rathole-Work-Win10-VM-213_133