FRP是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。
对于http, https服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。
说人话?就是让没有公网ip的你远程访问局域网内的各种服务,比如远程访问路由器后台、远程ssh、远程桌面等。有公网ip的童鞋就没必要继续往下看了,因为有公网了没必要内网穿透。
RP 服务器
免费服务器
免费服务器不稳定,速度慢,且一般仅开放部分端口,请谨慎使用!但如果需求量不大,偶尔远程访问一下路由器,也是没问题的。以下是一些免费 frp 服务器网址:
- https://diannaobos.com/frp/
- https://www.chuantou.org
- http://www.frps.top
自建服务器
自建frp服务器的速度,稳定性,可用端口完全取决于你的云服务器状况。这里推荐使用 clang大大写的frp一键搭建脚本。
wget --no-check-certificate https://raw.githubusercontent.com/clangcn/onekey-install-shell/master/frps/install-frps.sh -O ./install-frps.sh
bash install-frps.sh update
基本配置信息
只谈一下最新 0.20.0 的 FRP 基本配置,基本有以下几种配置信息加粗表示必填
:
- 服务器地址 [server_addr]
- 服务器 FRP 端口号 [server_port]
- 服务器密钥 [token]
老版本为[privilege_token]
- 底层通讯协议 [protocol]
一般为kcp或者tcp
- 用户名 [user]
这个随意填一个就行了
- 日志配置随意
基本配置示例
配置文件信息
[common]
server_addr = frp3.chuantou.org
server_port = 7000
token = www.chuantou.org
protocol = kcp
user = myname
koolshare 插件基本配置
穿透节点配置信息
- 穿透节点我常用的就是 http、https 和 tcp,其实 tcp 和 http 是差不多的,只是配置了之后,访问的姿势不一样。
- 比如我现在要穿透路由器内网 ip 为
192.168.1.1
的 ssh 服务,ssh 服务的端口为22
穿透到外网的52210
。 - 以下我所使用的免费 frp 服务器,tcp 穿透端口号范围 50000-70000,请注意!
- 可能某些服务只能支持一种穿透方式。
tcp 穿透方式
- [ssh-tcp] -> 括号内为穿透节点的名称
- type -> 穿透类型 [
tcp/http/https等
] - local_ip -> 本地 ip 地址 [
比如路由器内网ip
] - local_port -> 本地端口号 [
要穿透的内网服务端口
] - remote_port -> 远程端口号 [
外网访问内网服务的端口号
]
tcp 配置文件信息
[ssh-tcp]
type = tcp
local_ip = 192.168.1.1
local_port = 22
remote_port = 52210
koolshare 插件 tcp 穿透配置
tcp穿透配置
tcp 穿透成功
ssh 的 tcp 穿透配置完成后 Linux、Mac 或 XShell 环境下运行以下命令即可远程路由器:
ssh [email protected] -p 52210
http 穿透方式
- [ssh-http] -> 括号内为穿透节点的名称
- type -> 穿透类型 [
tcp/http/https等
] - local_ip -> 本地 ip 地址 [
比如路由器内网ip
] - local_port -> 本地端口号 [
要穿透的内网服务端口
] - subdomain -> 子域名 [
选一个没有被占用的名字
]
ssh 配置文件信息
[ssh-http]
type = http
local_ip = 192.168.1.1
local_port = 22
subdomain = monlor
koolshare 插件http穿透配置
http 穿透结果
可能我测试的这个免费服务器问题,http 穿透未测试成功,ssh 的 http 穿透配置完成后终端 ssh 运行以下命令即可远程路由器:
额,经过测试 ssh 无法使用 http 穿透,测试过 web 服务器既可以使用 http 也可以使用 tcp 穿透方式的。下面例子使用免费服务器 frp3.chuantou.org
,address
表示穿透成功后的访问地址。
type | local_ip | local_port | remote_port | subdomain | address |
---|---|---|---|---|---|
tcp | 192.168.1.1 | 80 | 52022 | frp3.chuantou.org:52022 | |
http | 192.168.1.1 | 80 | monlor | monlor.frp3.chuantou.org |
注意事项
自建服务器的 http 和 https 端口配置问题
如果 http 配置为 80 端口,https 配置为 443 端口,那么你使用 http 或 https 方式穿透之后是不用增加端口号访问的。如果使用其他端口,请加上端口号访问。使用这两个端口搭建 frp 服务器会占用你 vps 的相应端口,不过可以支持多个子域名共用端口 80 或 443,不必像 tcp 穿透那样一个穿透节点占用一个端口。
版本号注意
FRP 请一定要注意服务端版本号,有些版本不互相兼容。而且随着版本的更新,配置也发生了一定的更改。所以请跟你不同的版本选择不同的服务端配置,目前大概有三个版本:
- 0.9.3 以前的版本
- 0.9.3 至 0.17.0 版本
- 0.17.0 至 0.20.0 版本
免费服务器常见问题
FRP 服务启动失败,请检查 FRP 穿透节点配置中的子域名 http
和远程端口 tcp
配置,
极可能已经被和你使用同样免费服务器的人占用了,尝试多次更换这 2 个配置,并重启服务。
评论