frp 使用指南:简单易用的内网穿透工具


阿拉平平

读完需要

5

分钟

速读仅需 2 分钟


frp[1] 是一个开源的内网穿透应用,可以将内网服务以安全、便捷的方式通过具有公网 IP 节点中转暴露到公网,支持 TCP、UDP、HTTP、HTTPS 协议。项目基于 Golang 开发,可以跨平台部署。本文将介绍 frp 安装和使用方法。


1. 准备工作


   

我准备了两台 CentOS 7 的服务器。其中,一台配置了公网 IP,作为服务端;另一台无公网,作为客户端。


2. 下载安装


   

目前 frp 的最新版本为 v0.38.0,可以到 releases[2] 下载与系统对应的压缩包。其中包含服务端 frps 以及客户端 frpc。


2.1 服务端


   

我们先部署服务端。将 frps 和配置文件放到有公网的服务器上,目录结构如下:
.
├── frps
└── frps.ini

配置文件中配置了端口,如果不用修改,直接运行以下命令启动:

./frps -c ./frps.ini

2.2 客户端


   

服务端启动后,我们再部署客户端。将 frpc 和配置文件放到内网服务器上,目录结构如下:

.
├── frpc
└── frpc.ini

编辑 frpc.ini,将 server_addr 的值改为服务端的 IP:

[common]
# 将 127.0.0.1 改为服务端 IP
server_addr = <server_addr>
server_port = 7000

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

配置修改完后,启动客户端:

./frpc -c ./frpc.ini

至此,frp 部署完成。如果需要长期运行服务,可以结合其它工具,如 systemdsupervisor


3. 使用说明


   

在上一章中,我们安装并启动了 frp 服务。现在让我们来看看 frp 是否可用。


3.1 SSH 连接


   

在配置客户端时,我们其实已经加入了 SSH 连接的配置。这些配置项并不难理解:
  • type:转发的协议类型。

  • local_ip:本地 IP。

  • local_port:本地应用的端口。

  • remote_port:在服务端开放的端口。

以客户端的配置为例,frp 服务启动后,就可以通过服务端的 6000 端口来访问内网服务器:
# x.x.x.x 为服务端 IP
ssh -oPort=6000 root@x.x.x.x

3.2 仪表盘


   

如果配置了多个客户端,可以在服务端上添加一个仪表盘来查看连接状态。

编辑服务端上的 frps.ini,添加 dashboard 相关的配置项:

[common]
bind_port = 7000
# dashboard 监听在 7500;用户名密码,可选,默认为空
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin

重启服务,访问 http://<server_addr>:7500 可以看到仪表盘:

frp 使用指南:简单易用的内网穿透工具

在 Proxies 中,可以检查各客户端连接的状态:

frp 使用指南:简单易用的内网穿透工具


3.3 文件服务器


   

frp 内部集成了一些插件,可以扩展一些额外的功能。比如:通过配置 static_file 可以将内网服务器架设成文件服务器。

编辑客户端的 frpc.ini,添加以下内容:

[test_static_file]
type = tcp
remote_port = 6001
plugin = static_file
# 要对外暴露的文件目录
plugin_local_path = /tmp/file
# 用户访问 URL 中会被去除的前缀,保留的内容即为要访问的文件路径
plugin_strip_prefix = static
plugin_http_user = abc
plugin_http_passwd = abc

修改完成后,重启服务。通过 http://<server_addr>:6001/static/ 可以访问内网服务器上的文件:

frp 使用指南:简单易用的内网穿透工具

4. 写在最后


   

frp 作为一个开源的内网穿透应用,安装和配置十分简单,在 GitHub 上非常流行。本文仅演示了 frp 部分功能,更多的内容以及配置方法可以参考官方的文档[3]

References

[1] frphttps://github.com/fatedier/frp
[2] releaseshttps://github.com/fatedier/frp/releases
[3] 文档https://gofrp.org/docs/

原文始发于微信公众号(阿拉平平):frp 使用指南:简单易用的内网穿透工具

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/287537.html

(0)
码上实战的头像码上实战

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!