frp内网穿透简单搭建教程

82 10~12 min

一、frp介绍

frp是一个开源免费的快速反向代理工具,可以帮助我们实现内网穿透,让我们的内网设备可以被外网访问。

其实他就是一个中转站,外网的请求打到云服务器上的frpc server上,然后再由frpc server将网络请求转发到内网的frpc client上,从而实现外网可以访问局域网内部的服务器。

有关更多 frp 的细节可以去阅读官方文档,本文主要做一个简单的使用介绍。

二、安装frp服务端

从上面的介绍不难看出,我们需要有一台云服务器,并且在云服务器上安装frp server服务端,然后在内网机器上安装frp client客户端。通过frpc server + frpc client的通力合作实现内网穿透。

这里使用docker来安装frp server服务端

2.1、安装docker

https://www.hsly.vip/archives/yi-jian-jiao-ben-an-zhuang-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.toml

Frp 服务端配置(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.toml

Frp 服务端配置(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均可。

https://lucky666.cn/docs/intro