2023.03.05更新:经反复测试发现,最新版0.47.0
经常出现502页面
,非常不稳定,frp一定要力求稳定,不需要太多花哨的功能,现在退回0.44.0
版养老,不进行更新了。
内网穿透
即NAT穿透,网络连接时术语,计算机是局域网内时,外网与内网的计算机节点需要连接通信,有时就会出现不支持内网穿透。本教程主要讲解如何利用docker服务器进行FRP的内网穿透。
项目地址:
https://github.com/fatedier/frp
FRP内网穿透【首篇教程】:
FRP内网穿透教程
由于第一次的教程是根据大神司波图的视频,一步一步操作的,当时用的centos 7.6系统,整体操作太过繁琐,由于经常使用docker,越来越熟练docker的配置,也越来越依赖它了,俗话说“docker在手,天下我有”。
教程
一、前期准备:
① VPS服务器,要有公网IP,系统为docker,这次在阿里云买的香港轻量服务器,24元/月,买一年打五折相当于12元/月。虽然香港服务器有时候不稳定,但是便宜啊,国内的服务器最低也要60元/月。
② frp客户端,使用群晖docker安装
二、服务器端教程
此次配置全程代码,无需额外的软件了,当然,你也可以使用finalshell软件,连上vps服务器的SSH,直接使用阿里云自带的SSH工具效果是一样的。
finalshell软件官网下载地址:
https://www.hostbuf.com/
阿里云的登录无需密钥,比腾讯云要简单许多,root密码首次使用需要重置密码。
登录SSH
登录成功界面
输入代码
mkdir -p /etc/frp && touch /etc/frp/frps.ini && vi /etc/frp/frps.ini
意思是在etc目录创建frp文件夹以及frps.ini配置文件,并对文件进行编辑
编辑界面如下,需要按“i
”键进入编辑模式
然后粘贴以下代码
[common]
bind_port = 7000
token = 123456
这里的token
后面的123456
用于加密,你可以自行设置,这里仅作案例
按ESC
键推出编辑模式,并输入英文小写的:wq
进行保存(注意冒号)
安装snowdreamtech/frps镜像
docker pull snowdreamtech/frps:0.44.0
配置并启动容器
docker run \
--name frps \
--restart=always \
--network host -d \
-v /etc/frp/frps.ini:/etc/frp/frps.ini \
snowdreamtech/frps:0.44.0
阿里云防火墙设置
到这里,你就完成了frp服务器端的所有配置
二、客户端教程(群晖为例,其他任何支持docker的客户端都一样)
直接在docker套件内搜索frp注册表,双击下载
如果下载比较慢,可以看我另外一篇教程:解决群晖NAS Docker注册表下载失败、或者下载很慢
网络配置要选择host
这里添加frpc.ini的文件,不是文件夹
可以自行创建,新建txt文档,然后改后缀名未ini就可以了,frpc.ini的文件内容如下。
# frpc.ini
[common]
server_addr = 115.***.***.116
server_port = 7000
token = 123456
[群晖管理页面]
type = tcp
local_ip = 192.168.1.134
local_port = 5000
remote_port = 5000
内容解释:
server_addr =
这里填写你服务器的公网IP
server_port = 7000
与之前配置的的frps.ini要一致
token = 123456
与之前配置的的frps.ini要一致
local_ip =
群晖内网的IP
local_port =
群晖管理页面的端口,你可以在下面继续增加其他端口
remote_port =
你需要转发的端口
简单原理解释:
你原本只能在内网用:http://192.168.1.134:5000
访问群晖页面,这个配置文件就是告诉服务器,你现在可以用http://公网IP:5000
来访问了,相当于把群晖的内网IP变成了你的公网IP,可以随时随地的访问你内网的任何TCP端口网页。
这里也存在风险,一旦你的公网IP被坏人知道了,会攻击你的群晖,所以我建议你remote_port =
转发的端口尽量不要选择常用端口,第二个就是域名解析,然后用Nginx反代https并增加证书。详细看这篇教程轻量服务器安装汉化版nginx-proxy-manager工具