前言
- 前段时间刷抖音刷到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 条评论
现在对我来说frp已经是不可或缺的一部分了,起初为了方便智能家居,维护两年迄今依旧运作。后来几个网络上的朋友借用 慢慢的成为公益项目 蛮好的 解决没有公网的问题 点赞
哈哈 好人一生平安!
好详细呀,先收藏着备用
感谢收藏哈
我的黑群就是存点照片什么的,使用率不是很高。
我的也是,其实同步的话,Zerotier的穿透速度就挺快的。
国内服务器的带宽往往比较小,有公益的 frp 免费10Mbps的速率,试了很多,最后觉得还是公网 ipv6 最香
的确最后的最香,但是ipv6的地址也暴漏公网了。
巧了,刚刚我也发了一篇!
没发吗
我才知道frp还有图形界面呢!
有的 我也才发现
我是直接下的程序,比较轻量!
用docker安装主要是好记好管理,其他也就真没啥了。
对我来说不需要安装的就行!
这个很详细,司波图我知道,以前看他的视频用来助眠。
真是时间好长好长。