通过云服务器实现FRP内网穿透

218 阅读2分钟

背景:在家中闲置电脑上搭建服务,提供远程开发环境(如Mysql、Redis等等)。我的云服务器和家中闲置电脑都为Ubuntu系统。

一、Frp简介

Frp(Fast Remote Port Forwarding)是一款高效、安全、易用的远程端口转发工具,可以在不暴露服务的情况下,通过公网访问内网中的服务。Frp支持多种协议,包括HTTP、HTTPS、TCP等,可以轻松实现反向代理、内网穿透、SSH隧道等功能。

二、Frp下载

Frp下载地址

image.png 根据自己环境选择合适的版本,我这里使用的是frp_0.52.3_linux_amd64.tar.gz。在远程服务器上使用arch查看系统架构,选择对应的版本。

image.png

X86_64对应选amd64版本(注意amd64和arm64)。

下载后解压得到以下文件。

image.png

三、Frp安装

1、修改服务端配置文件frps.toml

bindPort = 7000               # 服务运行端口号
auth.method = "token"         # 认证方式
auth.token = "12345678"       # 认证密钥
webServer.addr = "0.0.0.0"    # 不限制IP访问
webServer.port = 7500         # dashboard端口
webServer.user = "admin"      # dashboard登录账号
webServer.password = "admin"  # dashboard登录密码

2.修改客户端配置文件frpc.toml

serverAddr = "remoteip" # 远程服务器公网IP
serverPort = 7000       # 远程服务器Frp运行端口
 
[[proxies]]
name = "test-tcp"       # 连接名称
type = "tcp"            # 连接类型
localIP = "127.0.0.1"   # 本机地址
localPort = 22          # 本机端口
remotePort = 6000       # 远程端口

3、“分包”

我们可以将文件分为 frp_s(server) 和 frp_c(client) ,frp_s装在云服务器,frp_c装在家中闲置电脑上。

image.png

四、Frp运行

1、运行服务端

进入服务器frp_s所在目录

./frps -c ./frps.toml

image.png

访问云服务器公网IP:7500,输入frps.toml中配置的用户名和密码,即可进入frp dashboard界面。

image.png

image.png

2、运行客户端

./frpc -c ./frpc.toml

image.png

可以在dashboard界面看到此条连接。

image.png

3、验证

ssh -p 6000 root@远程服务器IP