首页 > 其他分享 >内网穿透软件frp使用

内网穿透软件frp使用

时间:2025-01-16 11:34:48浏览次数:1  
标签:frps frp 穿透 FRP toml 公网 软件 服务端

frp是什么?

FRP(Fast Reverse Proxy)是一个开源、简洁易用、高性能的内网穿透和反向代理软件,它支持TCP、UDP、HTTP、HTTPS等多种协议。FRP可以帮助用户将内网服务以安全、便捷的方式通过具有公网IP节点的中转暴露到公网。

FRP的功能特点包括:

  1. 多协议支持:FRP支持TCP、UDP、HTTP、HTTPS等多种协议,满足不同应用场景的需求。
  2. P2P通信:FRP支持P2P模式,提高特殊环境下连接的灵活性。
  3. TLS加密:FRP提供TLS加密功能,确保数据传输的安全性。
  4. 动态DNS:FRP支持动态DNS,便于动态IP环境中的稳定访问。
  5. Web界面:FRP提供Web界面,简化管理和监控。
  6. 反向代理:FRP作为反向代理,使得内部服务可以通过外部服务器被访问。

FRP的工作原理:

FRP主要由客户端(frpc)和服务端(frps)组成。通常情况下,服务端部署在具有公网IP地址的机器上,而客户端部署在需要穿透的内网服务所在的机器上。用户通过访问服务端的frps,由frp负责根据请求的端口或其他信息将请求路由到相应的内网机器,从而实现通信。

FRP的应用场景:

  1. 远程访问内网服务:例如,通过FRP访问家里或公司的服务器,而不需要配置复杂的端口映射。
  2. 开发环境共享:开发者可以通过FRP共享自己本地的开发环境,外部团队可以直接访问内网的应用和API。
  3. 穿透防火墙/NAT:即使内网服务器处于NAT后面或防火墙后面,仍然可以通过FRP将服务暴露到公网。

FRP的安装和部署相对简单,采用Golang编写,支持跨平台,仅需下载对应平台的二进制文件即可执行,没有额外依赖。用户可以根据需要编写配置文件,启动服务端和客户端,实现内网服务的公网访问。

Github地址:

https://github.com/fatedier/frp

Frp文档地址:

https://gofrp.org/zh-cn/docs

frp具体使用

下载

可以从 GitHub 的 Release 页面中下载最新版本的客户端和服务器二进制文件。所有文件都打包在一个压缩包中,还包含了一份完整的配置参数说明。

https://github.com/fatedier/frp/releases

部署

  1. 解压下载的压缩包。
  2. frpc复制到内网服务所在的机器上。
  3. frps复制到拥有公网 IP 地址的机器上,并将它们放在任意目录。

开始使用!

  1. 编写配置文件。
  2. 使用以下命令启动服务器:./frps -c ./frps.toml
  3. 使用以下命令启动客户端:./frpc -c ./frpc.toml

使用systemd来管理服务端

在服务器/etc/systemd/system创建frps.service文件并写入如下内容

# /etc/systemd/system/frps.service
[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /path/to/frps -c /path/to/frps.toml

[Install]
WantedBy = multi-user.target

使用 systemd 命令管理 frps 服务

# 启动frp
sudo systemctl start frps
# 停止frp
sudo systemctl stop frps
# 重启frp
sudo systemctl restart frps
# 查看frp状态
sudo systemctl status frps

设置开机自启
sudo systemctl enable frps

一个例子

服务端使用frps,我的frps安装在/usr/local/frp,下面有两个文件,分别是frpsfros.toml,其中fros.toml是配置文件。
客户端使用frpc,我的frpc安装在D:\development\frp,下面有两个文件,分别是frpc.exefroc.toml,其中froc.toml是配置文件。
这里是做http转发的配置,其他配置可参考官方文档。

修改服务端配置,即修改服务端/usr/local/frp/fros.toml文件,内容如下

# bindPort是使用的端口号
bindPort = 7000
# webServer配置是服务端 Dashboard 的配置
# 默认为 127.0.0.1,如果需要公网访问,需要修改为 0.0.0.0。
webServer.addr = "0.0.0.0"
webServer.port = 7500
# dashboard 用户名密码,可选,默认为空
webServer.user = "替换为你自己想用的账号"
webServer.password = "替换为你自己想用的密码"
# 身份认证token,客户端和服务端一致才能成功,还可以参考官方文档使用 OIDC
auth.token = "替换为你自己想用的token"

启动服务端
/usr/local/frp/frps -c /usr/local/frp/frps.toml
修改客户端配置

serverAddr = "此处填写服务端所在服务器IP"
# 此处修改为服务端使用的端口
serverPort = 7000
# 此处修改为跟服务端token一致即可
auth.token = "替换为你服务端的token"

[[proxies]]
# 名称,可随意修改
name = "http_forward"
# 类型,这里是tcp,还可以是http等,参考官方文档使用
type = "tcp"
# localIP和localPort是你本地想要代理出去的服务
localIP = "127.0.0.1"
localPort = 8080
# remotePort是指要占用服务端具体哪个端口,记得打开服务器对应端口的防火墙
remotePort = 3000

启动客户端
D:\development\frp\frpc.exe -c D:\development\frp\frpc\frpc.toml
现在可以使用了
假设服务器的ip是43.159.71.116,现在访问http://43.159.71.116:3000即可穿透到本地http://127.0.0.1:8080的服务。

为什么使用frp?

使用FRP(Fast Reverse Proxy)的原因有很多,以下是一些主要的优点和应用场景:

  1. 简化内网服务的公网访问

    • FRP允许用户轻松地将内网服务暴露给公网,无需复杂的网络配置或端口映射。
  2. 支持多种协议

    • FRP支持TCP、UDP、HTTP、HTTPS等多种协议,适用于不同的应用和服务。
  3. 安全性

    • FRP提供TLS加密功能,可以保护数据传输的安全,防止数据在传输过程中被窃取或篡改。
  4. 高性能

    • FRP设计为高性能的反向代理应用,可以处理大量的连接和数据传输。
  5. P2P通信

    • FRP支持P2P模式,可以在特殊网络环境下提高连接的灵活性。
  6. 动态DNS支持

    • 对于动态IP环境,FRP支持动态DNS,使得服务可以稳定地被访问。
  7. Web界面管理

    • FRP提供Web界面,方便用户管理和监控服务状态。
  8. 反向代理功能

    • 作为反向代理,FRP可以将内部服务通过外部服务器暴露给公网,增加一层安全性。
  9. 跨平台支持

    • FRP支持多种操作系统平台,包括Linux、Windows和macOS。
  10. 开源

    • FRP是一个开源项目,用户可以自由使用、修改和分发。
  11. 易于部署和使用

    • FRP的安装和配置相对简单,不需要专业的网络知识。
  12. 适用于多种场景

    • 无论是远程办公、开发环境共享、个人项目托管还是企业内部服务的外部访问,FRP都能提供解决方案。
  13. 负载均衡和端口复用

    • FRP支持代理组间的负载均衡和端口复用,可以更高效地利用公网资源。
  14. 插件系统

    • FRP具有高度扩展性的服务端插件系统,方便用户根据需求进行功能扩展。

使用FRP可以大大简化网络服务的部署和管理,提高工作效率,同时保证服务的安全性和稳定性。

标签:frps,frp,穿透,FRP,toml,公网,软件,服务端
From: https://www.cnblogs.com/daishengli/p/18674662

相关文章

  • 告别会员!分享一款比洛雪音乐更好用的免费音乐软件,全平台支持,支持自定义插件,歌单同步等
    文章目录......
  • 提升团队协作效率:必备的多人协作软件清单
    在快节奏的现代办公环境中,企业团队协作变得尤为重要。为了提升团队效率,确保项目顺利进行,多人协作软件成为了企业不可或缺的工具。这些软件不仅提供了多人同时编辑、在线沟通、任务分配等基础功能,还融入了诸多创新元素,以满足企业多样化的需求。●板栗看板:这是一款以“看板”方式......
  • 软件著作权合作开发协议
    文章目录合作开发协议1、什么是软件著作权合作开发协议?2、那些情况需要软件著作权合作开发协议?3、软件著作权合作开发协议张什么样子?4、软件著作权合作开发协议签署时间是什么时候?合作开发协议1、什么是软件著作权合作开发协议?软件著作权合作开发协议是指,在软件开发......
  • 软件著作权审查的各种状态
    文章目录软件著作权审查的各种状态1.待提交材料2.受理中3.审查中4.待发放5.已发放6.待递交纸质材料7.邮寄材料已接收8.待补正9.待递交补正材料10.已撤回11.撤回冻结12.已受理13.已撤销14.申请变更领取方式15.领取方式已变更16.已上传资料17.已提交材料18.不予受......
  • 【进阶教程】轻量级开源VNC本地安装与跨平台远程桌面实战分享——“cpolar内网穿透”
    文章目录前言1.安装TightVNC服务端2.局域网VNC远程测试3.Win安装Cpolar工具4.配置VNC远程地址5.VNC远程桌面连接6.固定VNC远程地址7.固定VNC地址测试前言在工作和生活中,我们经常需要跨越地理界限进行协作或处理事务。这时,远程桌面服务就成了不可或缺的好帮手......
  • 为WordPress网站设置第三方社交软件登录
    1.下载SuperSocializer外挂,为WordPress网站设置第三方社交软件登录由于wordpress配置的数据库是本地专用的,所以用户如果使用我们搭建的网站可能需要重新登陆,这无疑会是我们网站登录方面的痛点,所以使用第三方社交软件账号登录会很方便。2.使用域名登录网站昨天搭建网站的时候,使......
  • 软件测试(测试用例)—写用例无压力
    一、概念测试用例的基本概念:测试用例(TestCase)是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素。主要步骤:测试环境——测试步骤——测试数据——预期结果网易邮箱注册成功测试用例标题:邮箱注册,邮箱输入项测试:简单......
  • vscode软件基础使用教程
    visualstudiocode使用教程目录安装和配置编辑器配置推荐的插件常用的快捷键调试功能配置工作区设置比较细节的配置问题安装和配置安装地址visualstudiocode官方安装地址安装的过程中可以将添加到path中,之后就是可以在终端中通过输入code来打开visualstudio......
  • 文字处理软件 Atlantis Word Processor v4.4.1.3 注册码
    AtlantisWordProcessor 是一款专为Windows用户设计的文字处理工具,提供自定义工具栏、排版和打印设置等功能,极大地提升了文档编辑的效率和灵活性。该版本已内置注册码,可以使用全部功能。使用说明:1、将压缩文件解压到固定位置,不要随意移动。2、解压后,双击start_AWP.bat来......
  • 技术领先的基于Excel的统计学分析和机器学习软件XLSTAT®
     技术领先的基于Excel的统计学分析和机器学习软件XLSTAT® XLSTAT®是一款强大的Excel数据统计分析和机器学习插件,使您可以在Excel中轻松分析和重新格式化数据。在学术研究和私人企业业务研究中,数据是最为重要的信息来源。无论您所在的专业领域是什么,您需要强大、......