这篇文章主要介绍这两个服务的搭建方法。本教程仅针对我的环境进行教程。不使用相同环境不代表无法安装。其他环境也可以参考底部的参考文章。之前一直用的istore自带的穿透服务,一年二十来块,但是扫码访问虽然很安全但是很麻烦,并且延迟特别高。所以这也是我用frp的初衷。用了frp明显感到延迟大幅度降低。

我的环境为:

  • 安装了Docker的公网服务器
  • 搭载istoreos的N5S软路由

Frps

在宝塔中找一个文件夹,然后创建frps.toml文件,内容如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# frps.toml
bindPort = 7000 # 服务端与客户端通信端口
vhostHTTPPort = 80 #HTTP服务的端口(如果不做单独的穿透机需要自定义)
vhostHTTPSPort = 443 #HTTPS服务的端口(如果不做单独的穿透机需要自定义)
quicBindPort = 7000 #QUIC 绑定的是 UDP 端口,可以和 bindPort 一样

transport.tls.force = true # 服务端将只接受 TLS链接

auth.token = "tocken" # 身份验证令牌,frpc要与frps一致

# Server Dashboard,可以查看frp服务状态以及统计信息
webServer.addr = "0.0.0.0" # 后台管理地址
webServer.port = 7500 # 后台管理端口
webServer.user = "admin" # 后台登录用户名
webServer.password = "123456" # 后台登录密码

同文件夹下创建frp-restart.sh

1
2
3
4
5
6
7
NAME=frps
IMAGE=snowdreamtech/frps

docker stop $NAME
docker rm $NAME

docker run --restart=on-failure:3 --network host -v /home/frp/frps.toml:/etc/frp/frps.toml -d --name $NAME $IMAGE

这里面的/home/frp/frps.toml要更改成你的文件地址。

然后使用终端执行这个sh文件。

sh frp-restart.sh

记得开启防护墙的对应端口。访问你的服务器ip:7500查看控制台能否正常访问。

正确访问日志:

docker日志

Frpc

istoreos的组网中有frpc

frpc

frpc的配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# frpc.toml
transport.tls.enable = true # 从 v0.50.0版本开始,transport.tls.enable的默认值为 true
serverAddr = "x.x.x.x"
serverPort = 7000 # 公网服务端通信端口

auth.token = "public" # 令牌,与公网服务端保持一致

[[proxies]]
name = "test-http"
type = "tcp"
localIP = "127.0.0.1" # 需要暴露的服务的IP
localPort = 9000 # 将本地9000端口的服务暴露在公网的6060端口
remotePort = 6060 # 暴露服务的公网入口

[[proxies]]
name = "ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 6000

不过istoreos是通过GUI界面来配置的。

image20221104134927688.png

  • 服务器地址:填写服务器的ip
  • 服务器端口:默认7000
  • 令牌:配置文件中填写的auth.token
  • 用户名:起一个独特的名字
  • 记得勾选TLS

勾选TLS

添加穿透地址

添加新连接

image20221104135344247.png

如果使用HTTP传输

如果是页面的话需要HTTP。

连接类型改为HTTP

连接类型

填写你的域名

参考地址

frp图解 附最新.toml配置文件

手把手教你用iStoreOS做frp内网穿透

Frp内网穿透使用和部署