自己搭建 Frp,实现稳定内网穿透。不再需要公网 ip 与专线。

自己搭建 Frp,实现稳定内网穿透。不再需要公网 ip 与专线。

自己搭建 Frp,实现稳定内网穿透。不再需要公网 ip 与专线。 Frp 是一个体积小功能大的内网穿透程序,通过反向代理,实现防火墙或内网中的设备对外界提供服务。 https://github.com/fatedier/frp 1. 准备 你需要的: 一台拥有公网的服务器(开放所需端口)。 要进行内

自己搭建 Frp,实现稳定内网穿透。不再需要公网 ip 与专线。

Frp 是一个体积小功能大的内网穿透程序,通过反向代理,实现防火墙或内网中的设备对外界提供服务。

https://github.com/fatedier/frp

1. 准备

你需要的:

  1. 一台拥有公网的服务器(开放所需端口)。
  2. 要进行内网穿透的设备 (Linux , Windows , macOS ...)
  3. 一点 Linux or Windows 命令行基本认识(文章不过多演示基础命令)。

2. 下载

我们从 https://github.com/fatedier/frp/releases 下载 frp 最新版本。

服务器和要内网穿透的设备都需要,并且根据服务器的情况和本地设备的情况来下载。比如服务器是 Linux 那么下载对应的 Linux 版本,主机是 Windows 那么下载对应的 Windows 版本放在主机。

然后对压缩包进行解压。

3. 服务器端

我们可以看到其中的 frps 和 frps.toml,这两个是对应服务器的文件。
我们首先更改 frps.toml 设置服务器 frps 所用端口,并设置连接 token。

frps.toml:

bindPort = 7000
auth.token = "abc"

默认是 7000,我们这边就使用默认的。

然后在服务器启动 frps。(这边建立一个 screen)

screen -R frp
frps -c frps.toml

4. 主机端

我们可以看到其中的 frpc 和 frpc.toml,这两个是对应服务器的文件。

首先看 frpc.toml

serverAddr = "192.115.231.102"
serverPort = 7000
auth.token = "abc"

[[proxies]]
name = "frp"
type = "tcp"
localIP = "127.0.0.1"
localPort = 25565
remotePort = 25565

我们可以看到 serverAddr 即服务器 ip 地址。 serverProt 即服务器 frps 端口。token 即和服务器连接要用的 token 和 frps.toml 的一致。

然后是 proxies 这边,我们设置 type 为 tcp
localIP 即所要内网穿透的本地 ip,通常用 127.0.0.1 表示本地即可。
localPort 即所要映射的本地端口,这里我要映射 Minecraft 服务器的 25565 端口。
remotePort 即映射到服务器对应的端口。

接下来我们运行 frpc。

./frpc -c frpc.toml

5. 连接

我们使用服务器 ip 加上本地映射到服务器对应的端口连接即可。
按照我上面的配置,我要连接本地 127.0.0.1:25565 那么我只需要连接对映射好的
192.115.231.102:25565 即可。

6. 完成

然后本篇文章就结束了。
如果遇到问题,去检查服务器主机防火墙等等。

Comment