使用 frp 搭建内网穿透服务

本贴最后更新于 1429 天前,其中的信息可能已经时移世易

概述

受制于第三方内网穿透服务的各种限制,加上自己恰好有台云服务器,因此通过 frp 搭建了内网穿透服务。

首先,我们给出官方文档地址,便于资深玩家探索新的玩法。但我们要主要注意,frp 仍然处于开发阶段,未经充分测试与验证,官方不推荐用于生产环境。但是由于这玩意我是个人使用的,可容忍其部分的不稳定(若出现问题还能提交个 issue,何乐而不为)。

给出官方架构图来镇楼。。

image.png

好,话不多少,我们下边开始搭建。

服务器搭建

第一步 下载软件包

  1. 根据自己操作系统以及 CPU 架构选择对应的程序进行下载安装,下载地址

什么??不知道怎么看自己 CPU 架构??

简单来说对于个人 PC,如果 CPU 是 AMD 公司的我们使用后缀为 amd 的软件包,如果是 intel 的 CPU 则使用 arm 后缀的软件包。

对于 Linux 来说可以通过如下命令来查看 CPU 的架构。

lsb_release -a

以我的服务器执行结果为例

image.png

明显可以看到操作系统是 CentOS,CPU 使用的是 intel 的,或者说是用的是 amd64 的软件架构。

对于常用的一些版本我们给出下边的一张图来便于大家寻找对应的软件版本。

image.png

  1. 下载对应的软件包。

以我服务器为例执行如下命令

cd /usr/
wget https://github.com/fatedier/frp/releases/download/v0.32.1/frp_0.32.1_linux_amd64.tar.gz
tar -xvf frp_0.32.1_linux_amd64.tar.gz
mv frp_0.32.1_linux_amd64.tar.gz frp
rm frp_0.32.1_linux_amd64.tar.gz

执行上边一连串命令后我们会在 /usr 目录里边看到如下文件夹,里边是关于 frp 的软件包和配置文件。

image.png

进入 frp,执行 ls -al 命令我们可以看到 frp 软件包中的内容如下

image.png

第二步 配置配置文件

默认配置文件如下:

# frps.ini
[common]
bind_port = 7000

如果只是简单使用的话就不用改。如果要改的话,也可以参考官方文档,这里就不再详述。

第三步 启动 frps 服务

执行如下命令

./frps -c ./frps.ini

执行结果如下:

image.png

如果想要后台以服务形式启动可以执行如下命令。

nohup ./frps -c ./frps.ini

# 客户端使用

首先客户端和服务器软件都在同一文件包下边。

我们首先根据自己的不同需求配置客户端配置文件(frpc.ini)

默认内容如下

# frpc.ini
[common]
server_addr = x.x.x.x
server_port = 7000

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

还是那句话,简单使用无需更改,如果想要通过某个自定义域名访问到该客户端上的资源,需要进行如下配置

# frpc.ini
[common]
server_addr = x.x.x.x
server_port = 7000

[web]
type = http
local_port = 80
custom_domains = www.yourdomain.com

启动客户端,执行如下命令

./frpc -c ./frpc.ini

启动完成之后我们会看到服务器会出现如下结果

image.png

服务器端出现如下结果

image.png

以上,穿透服务搭建成功,后续我也会尝试增加一些有趣的玩法,欢迎大家关注。谢谢!!

  • frp

    frp 是一个可用于内网穿透的高性能的反向代理应用,支持 TCP、UDP、 HTTP 和 HTTPS 协议。

    15 引用 • 7 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 支持 p2p 了 很快 可以研究下

    1 回复
  • 其他回帖
  • vcjmhg
    作者

    有闲置的服务的话,搭建一个还不错。至少不用花生壳了 😄