文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

高性能的内网穿透工具frp使用场景

2024-04-02 19:55

关注

本文将分享一个很好用的内网穿透工具 frp,以及一些具体的使用场景。

什么是 frp

frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。

为什么使用 frp

通过在具有公网 IP 的节点上部署 frp 服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括:

安装

可以在 Github 的 Release 页面中进行下载:

curl -LO https://github.com/fatedier/frp/releases/download/v0.37.0/frp_0.37.0_linux_amd64.tar.gz
tar zxf frp_0.37.0_linux_amd64.tar.gz

压缩包里包含了客户端和服务端的两个可执行文件,以及对应的配置文件:

> tree -L 1 frp_0.37.0_linux_amd64
frp_0.37.0_linux_amd64
├── frpc # 客户端程序
├── frpc_full.ini # 对应客户端程序的详细配置文件
├── frpc.ini # 对应客户端程序的简单配置文件
├── frps # 服务端程序
├── frps_full.ini # 对应服务端程序的详细配置文件
├── frps.ini # 对应服务端程序的简单配置文件
├── LICENSE
└── systemd
    ├── frpc.service # 客户端的 systemd 服务配置文件
    ├── frpc@.service # 客户端的 systemd 模板文件
    ├── frps.service  # 服务端的 systemd 服务配置文件
    └── frps@.service # 服务端的 systemd 模板文件

使用

首先,这个工具需要一个公网服务器配置使用,配置文件可以参考详细的配置文件进行编写,后面会讲到自己常用的几个场景下的配置。

先启动服务端:

./frps -c ./frps.ini

再启动客户端:

./frpc -c ./frpc.ini

Tip:如果需要在后台长期运行,可以结合 systemd 或者 supervisor 进行使用。

使用场景

统一的服务端配置

[common]
bind_port = 9999
authentication_method = token
token = yourtokenhere
vhost_http_port = 10001
vhost_https_port = 10002

配置说明:

下面将都是基于这个服务端配置的一些场景下的客户端配置。

SSH 连接内网服务器

[common]
server_addr = x.x.x.x
server_port = 9999
token = yourtokenhere
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6666

配置说明:

现在,我们就可以通过 SSH 连接内网服务器:

ssh -p 6666 k8scat@x.x.x.x

暴露内网 HTTP 服务

TCP 类型

这种方式不需要在服务端设置 vhost_http_port 和 vhost_https_port:

[common]
server_addr = x.x.x.x
server_port = 9999
token = yourtokenhere
[web]
type = tcp
local_ip = 127.0.0.1
local_port = 3333
remote_port = 6666

访问:http://x.x.x.x:6666

HTTP 类型

这种方式需要在服务端设置 vhost_http_port = 6666,也就是和客户端配置的 remote_port 相同。

[common]
server_addr = x.x.x.x
server_port = 9999
token = yourtokenhere
[web]
type = http
local_ip = 127.0.0.1
local_port = 3333
remote_port = 6666
custom_domains = x.x.x.x

同样访问:http://x.x.x.x:6666

静态文件下载服务

在没用 frp 之前,使用的是 Nginx 搭建的静态文件服务器,只适用于公网服务器,如果是内网,还是得用 frp!下面是使用 frp 搭建静态文件下载服务的客户端配置:

[common]
server_addr = x.x.x.x
server_port = 9999
token = yourtokenhere
[file-server]
type = tcp
remote_port = 6666
plugin = static_file
plugin_local_path = /home/k8scat/files
plugin_strip_prefix = download
plugin_http_user = k8scat
plugin_http_passwd = yourpasswd

配置说明:

以上就是高性能的内网穿透工具frp使用场景的详细内容,更多关于内网穿透工具frp的资料请关注编程网其它相关文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-服务器
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯