frp内网穿透简单搭建教程
一、frp介绍
frp是一个开源免费的快速反向代理工具,可以帮助我们实现内网穿透,让我们的内网设备可以被外网访问。
其实他就是一个中转站,外网的请求打到云服务器上的frpc server上,然后再由frpc server将网络请求转发到内网的frpc client上,从而实现外网可以访问局域网内部的服务器。
有关更多
frp的细节可以去阅读官方文档,本文主要做一个简单的使用介绍。
github地址:
https://github.com/fatedier/frp
二、安装frp服务端
从上面的介绍不难看出,我们需要有一台云服务器,并且在云服务器上安装frp server服务端,然后在内网机器上安装frp client客户端。通过frpc server + frpc client的通力合作实现内网穿透。
这里使用docker来安装frp server服务端
2.1、安装docker
云服务器安装过
1Panel之类面板的可以使用面板自带的docker,跳过安装步骤。
2.2、docker安装frp
Compose
version: "3.5"
services:
frp:
image: snowdreamtech/frps:latest
container_name: frp
network_mode: host
restart: always
volumes:
- ~/frps.json:/etc/frp/frps.tomlFrp 服务端配置(frps.toml)
bindAddr = "0.0.0.0"
#监听端口
bindPort = 7100
kcpBindPort = 7100
webServer.addr = "0.0.0.0"
#Web页面端口
webServer.port = 7500
#Web页面账号
webServer.user = "user"
#Web页面密码
webServer.password = "password"
log.to = "/frpslog/frps.log"
log.level = "info"
log.maxDays = 3
auth.method = "token"
#自定义token
auth.token = "tokentoken"
#可使用端口范围
allowPorts = [
{ start = 6000, end = 7000},
]容器运行后打开http://ip:web页面端口 访问网页端,如可以打开,代表搭建成功。

三、安装frp客户端
Compose
version: "3.5"
services:
tinyproxy:
image: snowdreamtech/frpc:latest
container_name: frpc
network_mode: host
restart: always
volumes:
- ~/frpc.toml:/etc/frp/frpc.tomlFrp 服务端配置(frps.toml)
#frp服务器IP
serverAddr = "192.168.50.10"
#frp服务器监听端口
serverPort = 7100
loginFailExit = true
log.to = "./frpc.log"
log.level = "info"
log.maxDays = 3
auth.method = "token"
#frp服务器自定义token
auth.token = "tokentoken"
[[proxies]]
name = "NAS"
type = "tcp"
#本地服务IP地址
localIP = "127.0.0.1"
#本地服务端口号
localPort = 6000
#映射到VPS服务器的端口号
remotePort = 6000容器运行后,在服务器web页面可以看到对应的连接

四、域名访问
域名访问需在服务端设置反向代理,使用NPM、lucky均可。