阿拉平平
读完需要
分钟
速读仅需 2 分钟
frp[1] 是一个开源的内网穿透应用,可以将内网服务以安全、便捷的方式通过具有公网 IP 节点中转暴露到公网,支持 TCP、UDP、HTTP、HTTPS 协议。项目基于 Golang 开发,可以跨平台部署。本文将介绍 frp 安装和使用方法。
1. 准备工作
2. 下载安装
目前 frp 的最新版本为 v0.38.0,可以到 releases[2] 下载与系统对应的压缩包。其中包含服务端 frps 以及客户端 frpc。
2.1 服务端
.
├── 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 部署完成。如果需要长期运行服务,可以结合其它工具,如 systemd 或 supervisor。
3. 使用说明
3.1 SSH 连接
type:转发的协议类型。
local_ip:本地 IP。
local_port:本地应用的端口。
remote_port:在服务端开放的端口。
# 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 可以看到仪表盘:

在 Proxies 中,可以检查各客户端连接的状态:
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/ 可以访问内网服务器上的文件:

4. 写在最后
frp 作为一个开源的内网穿透应用,安装和配置十分简单,在 GitHub 上非常流行。本文仅演示了 frp 部分功能,更多的内容以及配置方法可以参考官方的文档[3]。
References
frp: https://github.com/fatedier/frp
releases: https://github.com/fatedier/frp/releases
文档: https://gofrp.org/docs/原文始发于微信公众号(阿拉平平):frp 使用指南:简单易用的内网穿透工具
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/287537.html