frp 是一个开源项目, 采用 C/S 模式,将服务端部署在具有公网 IP 的机器上,客户端部署在内网或防火墙内的机器上,通过访问暴露在服务器上的端口,反向代理到处于内网的服务。 在此基础上,frp 支持 TCP, UDP, HTTP, HTTPS 等多种协议,提供了加密、压缩,身份认证,代理限速,负载均衡等众多能力。
在使用frp之前,需要一台有公网IP的服务器(下文称外网主机),一台需要实现内网穿透的机器(下文称内网主机),SSH工具,以及一个域名(如果只是建立SSH反向代理则不需要域名)。
外网主机配置步骤:
wget https://github.com/fatedier/frp/releases/download/v0.24.1/frp_0.24.1_linux_amd64.tar.gz tar -zxvf frp_0.24.1_linux_amd64.tar.gz cd frp_0.24.1_linux_amd64/ vi frps.ini
[common] bind_port = 7000 vhost_http_port = 8080
启动 frp 服务端:
./frps -c ./frps.ini内网主机
[common] server_addr = x.x.x.x server_port = 7000 [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000 [nas] type = http local_port = 5000 custom_domains = nas.example.com [web] type = http local_port = 80 custom_domains = http.example.com
./frpc -c ./frpc.ini
现在就可以用浏览器访问web域名:http.example.com了
参考https://github.com/fatedier/frp
https://gofrp.org/docs/



