frp内网穿透服务使用
frp介绍
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议,且支持 P2P 通信。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。GitHub链接
简单来说就是我们可以将内网应用暴露到外网,使用frp的前提是需要有一台公网服务器。
下载
选择适合适合系统的版本。
解压之后的目录如下
部署服务端
frps.toml与frps是服务端需要的文件。
修改frps.toml配置
#默认端口7000,就是客户端和服务端通信的端口
bindPort = 7000
transport.tls.force = true
#服务端与客户端进行认证的,要保持一致
auth.token = "public"
#web管理控制台的端口、用户名和密码
webServer.addr = "0.0.0.0"
webServer.port = 7500
webServer.user = "admin"
webServer.password = "admin"
启动命令
./frps -c ./frps.toml
部署客户端
frpc.toml与frpc是服务端需要的文件。
修改frpc.toml配置
transport.tls.enable = true # 从 v0.50.0版本开始,transport.tls.enable的默认值为 true
serverAddr = "123.123.123.123" # 公网服务端的ip地址
serverPort = 7000 # 公网服务端通信端口,与服务端配置文件的bindPort保持一致
auth.token = "public" # 令牌,与公网服务端保持一致
# 一个[[proxies]]表示要代理的一个端口的应用,可以有多个
[[proxies]]
name = "xxx-name"
type = "tcp"
localIP = "127.0.0.1" # 需要暴露的服务的IP
localPort = 8888 # 本地要暴露的端口
remotePort = 9999 # 服务器对应的端口,服务器ip+remotePort就是指向localPort,例如123.123.123.123:9999就会访问到本机的8888端口
[[proxies]]
name = "ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 222
启动命令
./frpc -c ./frpc.toml
如下图所示表示启动成功