本篇博客为转载文章:https://blog.csdn.net/qq12547345/article/details/119807255

一、基础条件

  • ★ 具有公网 IP 服务器一个(必要,没有的话可以不用往下看了)
  • 域名一个,用于 http 服务转发时配置子域名(不需要转发 HTTP 的话可以不用)
  • DDNS 动态域名服务(公网 IP 会改变的情况下需要,如果是阿里云之类的服务器则不需要)

二、域名解析

image-20211202235323322

这里有点绕,举例说一下:

  1. 假设我的域名是 abc.com
  2. 首先需要一个 A 类型的记录,记录公网 IP,由于我有个 NAS 需要使用,所以主机记录为 nas
  3. 还需要一个 CNAME 类型的记录,主机记录为 *.frp,记录值为 nas.abc.com,即与该域名保持一致 IP

三、下载安装 FRP

Github 地址是 https://github.com/fatedier/frp
不区分客户端和服务端,都在同一个包中,但是需要区分系统版本和架构信息,下载完成后解压缩。

image-20211202235650794


四、 服务端(具有公网 IP 服务器)

修改 frps.ini 文件

1
2
3
4
[common]
bind_port = 11100
vhost_http_port=11101
subdomain_host = frp.abc.com

启动服务

1
./frps -c ./frps.ini

image-20211202235826653

五、客户端(内网机器)

修改 frpc.ini 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[common]
server_addr = nas.fukang.site
server_port = 11100
  
[ssh]
type = tcp
local_ip = 172.22.1.240
local_port = 22
remote_port = 11102

[web]
type = http
local_ip = 172.22.1.240
local_port = 8080
subdomain = rancher

[web2]
type = http
local_ip = 172.22.1.171
local_port = 30880
subdomain = kubesphere

启动服务

1
./frpc -c ./frpc.ini

六、访问验证

七、补充

FRP 是个十分强大的工具,还有许多用法,可以参考 FRP 官方文档

由于宽带运营商 IP 资源有限,即便申请到公网 IP 也不是固定的,一定要 DDNS 动态解析。

条件允许的话,建议购买阿里云、腾讯云等等的云服务器,这样就可以分配固定公网 IP。

如果不想购买云服务器,也可以搭建黑群晖 NAS,十分强大。