FRP之简单粗暴官方搭建【超详细教程】【排坑】【包括官网下载地址】【伸手党福利】
FRP小白版本,不做过多解释,想研究的直接看末尾中文文档。
FRP能省钱吗?
研究到FRP的同志,必定已经对其有所了解。所以直接给答案:作为生产力,能省钱,但是不能纯免费。如果单纯想要测试或者研究,每月出得起5块10块的话,可以拿来用用,建议直接找成熟的frp平台(见 如果没有公网ip的话,想要实现frp怎么办?)。
为什么选择frp,什么人适合使用frp
一般远程桌面的话,使用todesk就行,如果是剪辑视频,建议使用SMB组局域网,
真正有使用需求和应用场景的,通常是有点钱买服务器或者nas,同时又有大流量(或者单纯不想被限制),或不愿意使用花生壳等软件收费的。
frp背后一定会挂一个重服务器,比如多媒体存储服务器(用于转换视频、推流)、高性能服务器(用于编程、)
frp适用于小微企业或者团队(有远程办公需求)、有公网需求的nas、喜欢折腾的人。
FRP搭建要求:
- 公网服务器:需要一台具有公网IP地址的服务器来部署FRP的服务器端(frps)。
- 内网服务器/客户端:在内网中,需要一台或多台设备来运行FRP的客户端(frpc),以便将内网服务暴露给外网。【这个可以是服务器本身,也可以是另一台服务器,甚至自己家电脑都行】
- 域名(可选):为了方便访问,可以将域名解析到公网IP上,并通过FRP的配置实现基于域名的虚拟主机功能。【在不考虑安全性和保密原则的情况下,域名并没有必要】
所有教程要求你注册域名,主要原因是要进行商业化
frp基本原理和要求
基本原理就是反向代理,要求用户具有公网ip。
具有公网ip的服务器网上有不少,阿里云就有99/年的,其他平台甚至有56/年的,而且由于不往上放东西,taobao上的垃圾服务器【指随时跑路】也可以使用,配置最低就行,主要是带宽得高。
frp优缺点
优点:
-
方便快捷:FRP配置简单,能够快速实现内网穿透,无需复杂的网络配置和端口映射。
-
稳定可靠:支持多种协议和端口映射方式,具有断线重连和心跳保活等功能,确保内网穿透的稳定性和可靠性。
-
安全性高:支持SSL/TLS加密访问,保障数据传输的安全性。 易于管理:提供Web界面和命令行两种管理方式,方便用户进行配置和管理。
缺点:
- 速度较慢:由于需要经过内网服务器的中转,传输速度可能会受到影响,特别是在网络环境较为复杂的情况下。
- 依赖中转服务器:FRP需要中转服务器作为内网和外网的桥梁,如果中转服务器出现故障或网络不稳定,将影响内网穿透的效果。
- 价格问题:如果使用第三方提供的FRP服务(如花生壳等),可能需要支付一定的费用。
如果没有公网ip的话,想要实现frp怎么办?【主要是想省钱】
这里找了几款免费产品:
贝锐花生壳:网速1MBps,限流量1G,
樱花frp:网速10MBps,限流量5G,
https://www.natfrp.com/#price
frp可以用来看电影或者打游戏么?
windows远程桌面不受影响,因为优化好。
1080P下看电影,实测即使是10MBps的带宽也是卡成狗的,
小白如何搭建frp?【伸手党福利】
网上搭建的教程五花八门,在这里给你一次性成功的案例,直接复制粘贴即可:
1.下载【地址】https://github.com/fatedier/frp/tags
注意一下AMD64,arm64(intel)的区别
下载下来就这样:
frps是服务端
frpc是客户端
toml是配置文件【用写字板打开,记事本很奇怪的不分行】
由于是小白教程,我们暂时只在本机测试:
请直接复制以下内容
frps:
bind_port = 7000 #frp通讯端口
dashboard_port = 9999 #frp后台端口
dashboard_user = javen
dashboard_pwd = javen
frpc
[common]
server_addr = 127.0.0.1 # 服务器IP
server_port = 7000 # 服务器frp通讯端口
[web]
type = tcp # 远程桌面或者ssh用tcp,
local_port = 8080 # 映射到本地的8080端口【大前提是8080有服务,否则映射会不停报错】
remotePort = 6000 #【映射到服务器的6000端口,大前提是6000端口没有被占用,否则会报vhostHTTPPort没有设置,巨坑】
该配置是使用6000端口访问本地电脑的8080端口,其中使用7000端口进行通讯,9999端口进行后台配置。
【所有教程就是缺了这句话,让所有人摸不着头脑】
运行方式:
windows:在cmd中,分别输入【不用管理员权限即可】
frps -c frps.toml
frpc -c frpc.toml
以上是默认配置,实际配置请酌情修改:
生产环境,修改server_addr = 127.0.0.1 # 服务器IP
即可,服务端不用考虑
生产环境进阶详细配置(https版):
frps.toml
bindPort = 7000
vhostHTTPSPort = 443
frpc.toml
serverAddr = "x.x.x.x"
serverPort = 7000
[[proxies]]
name = "test_htts2http"
type = "https"
customDomains = ["test.yourdomain.com"]
[[proxies]]
name = "web"
type = "http"
localPort = 80
customDomains = ["www.yourdomain.com"]
[[proxies]]
name = "web2"
type = "http"
localPort = 8080
customDomains = ["www.yourdomain2.com"]
[proxies.plugin]
type = "https2http"
localAddr = "127.0.0.1:80"
# HTTPS 证书相关的配置
crtPath = "./server.crt"
keyPath = "./server.key"
hostHeaderRewrite = "127.0.0.1"
requestHeaders.set.x-from-where = "frp"
相关下载地址:
frp开源项目首页【官网】
https://gofrp.org/zh-cn/
https://github.com/fatedier/frp/blob/master/README_zh.md
下载地址:
https://github.com/fatedier/frp/tags
中文文档:
https://gofrp.org/zh-cn/docs/examples/ssh/