FRP是一款内网穿透工具,分为服务端frps和客户端frpc。这里记录一下用 Docker 部署frpsfrpc,以及 Windows 下把frpc注册为服务的配置。

服务端运行frps

docker run -d \
  --name frps \
  --restart always \
  --network host \
  -v /opt/frp/frps.toml:/frp/frps.toml \
  fatedier/frps:v0.64.0 \
  -c /frp/frps.toml

服务端配置/opt/frp/frps.toml

bindPort = 5031
auth.token = "password"

客户端运行frpc

docker run -d \
  --name frpc \
  --restart always \
  --network host \
  -v /opt/frp/frpc.toml:/frp/frpc.toml \
  fatedier/frpc:v0.64.0 \
  -c /frp/frpc.toml

客户端配置/opt/frp/frpc.toml

serverAddr = "1.2.3.4"
serverPort = 5031
auth.token = "password"

[[proxies]]
name = "ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 6000

这个配置会把客户端机器的22端口映射到服务端的6000端口。连接时访问服务端:

ssh [email protected] -p 6000

需要注意,auth.token要改成自己的密码,客户端和服务端必须保持一致。serverAddr也需要改成服务端公网 IP 或域名。

如果是在 Windows 上运行frpc.exe,可以配合 WinSW 注册成系统服务,这部分单独记录。