frp内网穿透配置教程

2020年4月18日18:19:50 4 21,351 views

上一次我分享过家用小型NAS X3P资料,且文章中提的远程访问NAS系统方法frp,今天就来把这个方法补充一下

 

什么是 Frp?

内网穿透工具有很多,其中 Frp (Fast Reverse Proxy) 是比较流行的一款。FRP 是一个免费开源的用于内网穿透的反向代理应用,它支持 TCP、UDP 协议, 也为 http 和 https 协议提供了额外的支持。你可以粗略理解它是一个中转站,帮你实现 公网 ←→ FRP(服务器) ←→ 家庭内网 的连接,让内网里的设备也可以被公网访问到。

frp内网穿透配置教程

官方提供的 Frp 架构原理示意图

而目前 FRP 还推出了“点对点穿透”的试验性功能,连接成功后可以让公网设备直接跟内网设备“点对点”传输,数据流不再经过 VPS 中转,这样可以不受服务器带宽的限制,传输大文件会更快更稳定。当然,此功能并不能保证在你的网络环境 100% 可用,而且还要求访问端也得运行 FRP 客户端 (因此目前手机是无法实现的,只有电脑可以)。由于实现条件较多,所以有文件传输需求的朋友还是建议买带宽稍大一点的 VPS 会比较省心。

简单的 Frp 安装配置教程:

现在假设你已经有一台 VPS 服务器了,那么只需按照下面的步骤,一步一步来来即可搞定 FRP 的安装和配置。当然,这里涉及到一些 Linux 基础操作命令,如果完全未接触过的朋友,可以找一些「Linux 入门教程」先了解一下。

服务器端安装配置 Frp:

FRP 使用 Go 语言开发,可以支持 Windows、Linux、macOS、ARM 等多平台部署。FRP 安装非常容易,只需下载对应系统平台的软件包并解压就可用了。这里以 Linux 系统为例:

1、根据系统下载程序,并解压缩

2、将 frps 及 frps.ini 放到具有公网 IP 的机器上

FRP 默认提供了 2 个服务端配置文件,一个是简化版的 frps.ini,另一个是完整版的 frps_full.ini。初学者只需用简版配置即可,在简版 frps.ini 配置文件里,默认设置了监听端口为 7000,你可以按需修改它。

这里使用了最小配置,使用默认即可,无需修改任何文件,直接运行:

./frps -c ./frps.ini

以上为 Linux 系统的执行命令,如果是 Windows 系统:

c:\ frp\frps.exe -c c:\ frp\frps.ini

假设 frps 解压缩到了 c: \frp\ 文件夹。

以及,请让防火墙通过 7000 端口,以及 7001、7002 端口。

防火墙和安全组开放指定的端口:

请一定要记住,你需要将服务器的系统防火墙,以及阿里云、腾讯云后台里找到“安全组策略”的相关配置,设置 7000 或你修改过的对应端口的「允许入站和出站」,否则会一直连接不上的哦!!!这个切记!!

启动 FRP 服务端
./frps -c ./frps.ini

如服务器使用 Win 系统,假设解压到 c:\frp 文件夹,那么只需这样启动:

c:\frp\frps.exe -c c:\frp\frps.exe

2、配置 Frp 客户端 (安装在内网的机器上)

1、根据系统下载程序

2、将 frpc 及 frpc.ini 放到处于内网环境的机器上。

这里以 Windows 远程桌面、X3P管理界面为例,修改 frpc.ini 配置文件:

[common]
server_addr = 服务器公网 IP
server_port = 7000

[RDP]
type = tcp
local_ip = 电脑在局域网中的内网 IP (如是本机,也可使用 127.0.0.1)
local_port = 3389
remote_port = 7001

[DSM]
type = tcp
local_ip = X3P在局域网中的 IP 地址
local_port =80
remote_port = 7002

这样就在本地上新增了“DSM”和“RDP”两个可供公网访问的服务了 (它们名称可以自己取),这里分别对应和PC 远程桌面和内网的X3P的后台管理界面。如果你需要添加更多的设备和服务供外网访问,那么只需照样画葫芦,指定正确的 IP 地址和端口号即可。

注意放行端口

每个服务的 remote_port 是远程访问时要用到的端口号,注意这些端口号也要在服务器的防火墙和安全组里放行才能顺利访问的,如上面的 7001、7002。

然后,启动 Windows 命令提示符,运行:

c:\frp\frpc.exe -c c:\frp\frpc.ini

Linux 启动 Frp 客户端命令:

./frpc -c ./frpc.ini

启动之后看到 “start proxy success”字样就表示启动成功了。

frp内网穿透配置教程

进行远程访问:

此时,就可以在外网访问网内资源了。

比如远程桌面,只需要打开微软的远程桌面客户端,然后使用 公网IP:7001 即可连接。

比如群晖,只需要打开浏览器,在地址栏输入 公网IP:7002 即可访问 DSM 的管理界面。

frp内网穿透配置教程

而如果需要远程桌面连接到家里的 Windows 电脑,那么打开“微软远程桌面客户端”后,在地址栏里填入 服务器公网IP:7001 即可连接。

由此,借助 Frp,你就能轻松地为本地局域网内网的设备提供公网直接访问的能力了,你可以用 Frp 来转发包括但不限于 ssh、http、https、转发 Unix 域套接字等服务。

上面只是最基础的教程,Frp 还有很多很多高级功能,比如给 Web 增加密码保护、点对点内网穿透、设置端口白名单等等,Frp 官网上也提供了很详细的文档,感兴趣的朋友可以去研究一下。

 

本站只提供0.32.1版本的下载,已打包Linux和windows

 

文件下载
下载地址

历史上的今天:


欢迎来到菜鸟头头的个人博客
本文章百度已收录,若发现本站有任何侵犯您利益的内容,请及时邮件或留言联系,我会第一时间删除所有相关内容。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:4   其中:访客  2   博主  2

    • avatar 无思亦无念 0

      请问x3p怎么开通ssh啊

      • avatar heihuu 0

        最近调试微信公众号, 需要用到内网穿透,又懒得买服务器。找了一圈内网穿透服务商,有的太贵,有的又不稳定,最后试用下蜻蜓映射内网穿透, 用着还行。