FRP是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。说人话?就是让没有公网ip的你远程访问局域网内的各种服务,比如远程访问路由器后台、远程ssh、远程桌面等。有公网ip的大佬就没必要继续往下看了

FRP服务器

免费服务器

免费服务器不稳定,速度慢,且一般仅开放部分端口,请谨慎使用!但如果需求量不大,偶尔远程访问一下路由器,也是没问题的。以下是一些免费frp服务器网址:

自建服务器

自建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.orgaddress表示穿透成功后的访问地址。

typelocal_iplocal_portremote_portsubdomainaddress
tcp192.168.1.18052022 frp3.chuantou.org:52022
http192.168.1.180 monlormonlor.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个配置,并重启服务。**

穿透截图


最后修改:2022 年 05 月 07 日
如果觉得我的文章对你有用,请我喝杯咖啡吧☕️~