前言
- 前段时间刷抖音刷到NAS圈知名博主司波图,发布了一篇关于群辉部署frp内网穿透的视频,视频很长,但是讲的很详细,有兴趣的可以搜索一下看看。刚好那会也没什么事情就看完了。看完了咱就要实现,他操作使用的是群辉+腾讯云服务器,我使用的树莓派OMV+小厂服务器。其实都是一样的。
准备工作
- 一台安装了docker的本地主机(客户端服务端全程使用Docker)
- 一台云服务器用于中转(安装过docker)
- 有使用自定义域名,可以提前安装下宝塔或者其他面板。
重要通知2023.10.17
- 该项目作者已经更新,步骤类似,命令有所调整,frps.ini以及frpc.ini,已经更改成了frps.toml,frpc.toml
- 官方git:https://github.com/snowdreamtech/frp
Frps服务端搭建
- 进入云服务后台,或者打开ssh到服务器,建议使用切换到root权限。
- 按照下方创建文件并配置文件内容(提前安装了linux面板的话,可能会方便一些)
### 创建存放目录
mkdir /etc/frp
### 创建frps.ini文件
nano /etc/frp/frps.ini
frps.ini内容如下:
[common] # 监听端口 bind_port = 7000 # 面板端口 dashboard_port = 7500 # 登录面板账号设置 dashboard_user = XXXX dashboard_pwd = XXXX # 设置http及https协议下代理端口(非重要) vhost_http_port = 7080 vhost_https_port = 7081 # 身份验证 token = 12345678
- 上面监听端口和面板端口就不多做解释了,一个是用于接收数据,一个是可视化面板,面板账号密码可以自定义,身份验证token可以自定义,主要用于客户端和服务器验证,还是很重要的。然后配置保存!
执行以下命令,当然配置文件目录可以自定义哈!下面docker命令记着改一下就行。
docker run --restart=always --network host -d -v /etc/frp/frps.ini:/etc/frp/frps.ini --name frps snowdreamtech/frps
- 如果没有报错,那么服务端就搭建成功,可以通过服务器IP+7500端口访问了。
- 如果无法访问,请在云服务防火墙放行7000,7500这两个端口,或者是你自定义的端口(如果你穿透的服务不需要外网监听,只是一些web界面,其实也可以不放行,直接反向代理就好了)。
- 如果你看到了下面面板界面,那么我们服务端就搭建好了。
- 登录后界面如图:
Frpc客户端搭建
- SSH到树莓派或者linux小主机
- 创建文件夹以及配置文件,此步可自定义,下面docker命令改一下就行了。
### 创建存放目录
mkdir /etc/frpc
### 创建frps.ini文件
nano /etc/frpc/frpc.ini
- 配置frpc.ini文件
[common]
# server_addr为FRPS服务器IP地址
server_addr = x.x.x.x
# server_port为服务端监听端口,bind_port
server_port = 7000
# 身份验证
token = 12345678
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 3001
remote_port = 13001
- 服务器IP就填写我们刚才搭建Frps的服务器IP,监听端口如果按照步骤不变的话就是7000或者你自定义的,token填写你自己设置的。
- [ssh]只是一个名字,可以自定义哈!
- type根据类型选择配置,大部分都是TCP访问。
- local_ip如果是本机话可以设置127.0.0.1或者本机的内网地址,当然可以设置本地局域网内别的需要映射的主机IP。
- local_port本机或者其他内网主机需要映射的端口
- remote_port 通过服务器中转的IP端口(带防火墙的云服务器需要放行对应的端口,或者解析域名反向代理)
- 多个映射的话,就多复制几条,填写对应的信息
- 保存好上述配置,执行以下命令,无报错的话就可以查看Frps的面板了。
docker run --restart=always --network host -d -v /etc/frpc/frpc.ini:/etc/frp/frpc.ini --name frpc snowdreamtech/frpc
- 登录面板,找到TCP,我们刚创建的是服务就链接到服务器了。这时我们就可以通过IP+13001访问到NAS里面的界面了。
域名访问
- 通过IP+端口访问的操作不是很优雅,那么我们可以用过宝塔面板+反向代理实现域名访问,顺便也方便部署ssl证书。
- 解析一个喜欢的域名到服务器,并用宝塔创建对应站点,其他配置默认就好了。
- 找到反向代理,代理名称随便填,目标URL填写对应的端口,后保存。
- 设置下SSL证书,增加安全性。
- 然后访问你解析的域名就可以访问到了。
42 条评论
收藏了!
写的时候我也是这么想的。
你这介绍个宝塔配置是安装在云服务器还是本地的服务器吧?
我的博客是wordpress,后台是绑定网址的,用反向代理的话,会出现死循环,好困惑!
Frps是服务器端,Frpc是客户端。
完了我并不知道frp是干嘛的OωO
本地搭建的网站,可以通过反向代理出去,对代理服务要求不高,只做中转