Bendi新闻
>
内网穿透工具 FRP(Fast Reverse Proxy) 真的非常好用

内网穿透工具 FRP(Fast Reverse Proxy) 真的非常好用

10月前

链接:https://juejin.cn/post/7317536477696704527

给你推荐一款非常优秀的内网穿透工具 FRP (Fast Reverse Proxy)

作为程序员为什么你必须有一款非常优秀的内网穿透工具

在计算机网络中,内网穿透是一种通过公网建立安全通道,使得位于内网的计算机和服务可以被外部网络访问。对程序员而言,内网穿透可以帮助你干什么呢?
  1. 访问内网服务
好处: 内网穿透允许程序员通过公网访问内网的服务。这对于开发者来说是极为方便的,尤其是在远程工作或需要通过云服务对内网服务进行访问的场景下。
必要性: 内网中的服务通常无法直接通过公网 IP 访问,内网穿透打破了这种限制,使得程序员可以轻松地在外部环境中访问和测试内网服务。
你想想你平时在公司的开发环境是不是都在公司的内网环境中,如果你需要在家里使用公司的内网环境的话,内网穿透是不是一个非常好的选择。
  1. 远程调试与开发
好处: 内网穿透允许程序员在远程环境中进行调试和开发。通过将本地服务映射到公网上,开发者可以在任何地方、任何设备上进行开发工作,无需局限于特定网络环境。
必要性: 对于需要不断迭代和测试的项目,远程调试是提高开发效率的关键。内网穿透为程序员提供了远程调试的灵活性,减少了时间和地域上的限制。
  1. Webhook 接收
好处: 内网穿透可以用于接收来自外部服务的 Webhook 请求。这对于处理第三方服务的回调通知、接收 GitHub Webhook 等场景非常重要。
必要性: 外部服务通常需要将回调通知发送到指定的地址,而内网环境下无法直接接收这些请求。内网穿透可以将本地服务映射到公网,使得 Webhook 回调能够正常触发本地服务。
  1. 敏感数据保护
好处: 内网穿透通过加密和身份验证机制,确保了内网服务与外部环境之间的通信安全性。开发者可以安心地在外部环境中使用内网服务,而不必担心敏感信息泄漏。
必要性: 在保护用户数据隐私和遵循安全规范的前提下,内网穿透为程序员提供了一种安全可控的远程访问方式,使得敏感数据得以有效保护。
所以我们程序员必须拥有得学会使用内网穿透,这对我们的工作有很大的帮助。

推荐一个非常好用的内网穿透工具 FRP(Fast Reverse Proxy)

为什么要推荐FRP(Fast Reverse Proxy)呢?FRP(Fast Reverse Proxy)作为一款优秀的内网穿透工具,它具有:
  1. 简单易用的配置
FRP 提供了简洁明了的配置文件,配置过程简单直观。用户可以通过简单的设置完成对内网服务的映射和穿透,无需繁琐的操作和深厚的网络知识。
  1. 多协议支持
FRP 支持多种协议,包括常见的 TCP 和 UDP 协议,以及应用层的 HTTP、HTTPS 等协议。这使得 FRP 不仅可以用于简单的端口映射,还可以适用于代理 Web 服务等更复杂的应用场景。
  1. 安全性保障
FRP 提供了可靠的身份验证和加密机制,用户可以通过设置用户名和密码,以及使用 TLS/SSL 加密通信,确保传输的安全性。这对于处理敏感数据和保护内网服务至关重要。
  1. 跨平台支持
FRP 支持多个操作系统,包括 Windows、Linux、macOS 等。这为用户提供了更大的灵活性,使其能够在不同的平台上选择适用的版本,便于部署和使用。
  1. 高性能和稳定性
FRP 的设计注重性能和稳定性,经过实际测试,在处理大量连接和数据传输时表现出色。这使得 FRP 可以在生产环境中得到可靠的应用,保证服务的稳定运行。
  1. 活跃的社区和持续更新
FRP 拥有一个活跃的开源社区,用户可以在社区中获取支持、提出问题,分享经验。同时,FRP 的开发团队也在不断进行更新和改进,保障了 FRP 的稳定性、兼容性和安全性。
  1. 灵活的应用场景
由于支持多协议和提供了丰富的配置选项,FRP 可以适用于各种不同的应用场景,包括远程调试、内网服务对外访问、Webhook 接收等,为用户提供了极大的灵活性。


FRP(Fast Reverse Proxy)的快速入门

我们使用 Linux Ubuntu 20.04.2 LTS x86_64 作为操作系统来演示 FRP (Fast Reverse Proxy)的快速搭建。
FRP需要在两台服务器搭建,一个客户端,一个服务端。
  1. FRP 服务器端:
  • 监听外部请求: 服务器端负责监听来自公网的外部请求。这些请求可以是来自不同地理位置或网络环境的客户端发起的,通过公网传输到 FRP 服务器。
  • 反向代理内网服务: 当 FRP 服务器接收到外部请求时,它会将请求转发给内网的 FRP 客户端。这种方式实现了内网服务对外的映射,即通过 FRP 服务器的公网 IP 和端口访问内网的服务。
  • 安全认证和加密: FRP 服务器通常支持安全认证机制,通过用户名和密码等方式对外部请求进行身份验证。同时,服务器和客户端之间的通信也可以采用加密手段,保障数据传输的安全性。
  1. FRP 客户端:
  • 连接 FRP 服务器: 客户端负责与 FRP 服务器建立连接,通常通过配置文件指定 FRP 服务器的地址和端口。连接建立后,客户端与服务器之间可以进行双向通信。
  • 映射内网服务: 客户端将内网的服务与 FRP 服务器进行关联,通过配置文件指定内网服务的类型、IP 地址、端口等信息。这样,来自 FRP 服务器的外部请求就能够被映射到相应的内网服务。
  • 维持心跳和保持连接: 为了保持连接的稳定性,客户端会定期向 FRP 服务器发送心跳信息,以确保连接没有中断。这对于长时间运行的服务和实时通信非常重要。
3、在服务器端配置 FRP
1、下载 FRP
你可以在 Frp 的 GitHub Release 页面 上找到最新版本的下载链接。
wget https://github.com/fatedier/frp/releases/download/v0.36.2/frp_0.36.2_linux_amd64.tar.gz
2、解压 FRP
tar -zxvf frp_0.36.2_linux_amd64.tar.gz
3、进入 FRP目录
复制一份 FRP 的示例配置文件:
cp frps.ini /etc/frp/frps.ini
然后编辑配置文件:
nano /etc/frp/frps.ini
修改配置文件中的 bind_port 为 Frp 服务器监听的端口,例如:
bind_port = 7000
4、启动 FRP 服务器
./frps -c /etc/frp/frps.ini

在客户端配置 FRP
1、下载 FRP
你可以在 Frp 的 GitHub Release 页面 上找到最新版本的下载链接。
wget https://github.com/fatedier/frp/releases/download/v0.36.2/frp_0.36.2_linux_amd64.tar.gz
2、解压 FRP
tar -zxvf frp_0.36.2_linux_amd64.tar.gz
3、进入 FRP目录
复制一份 FRP 的示例配置文件:
cp frpc.ini /etc/frp/frpc.ini
然后编辑配置文件( 注意 是 frpc.ini ):
nano ./frpc.ini
修改配置文件中的 server_addr 和 server_port 为你 FRP 服务器的地址和端口,设置 token 为服务器配置文件中的 token
[common] server_addr = your_server_ip server_port = 7000 token = your_token

添加映射规则:
FRP将本地的 127.0.0.1:80 映射到 FRP 服务器上的 your_server_ip:6000
[web] type = http local_ip = 127.0.0.1 local_port = 80 remote_port = 6000

4、启动 FRP 服务器
./frpc -c /etc/frp/frpc.ini

博主 FRP 配置仅供参考

服务端
  • 地址 47.104.77.123
[common]# Frp 服务器监听的端口,默认为 7000,这里改成 7001bind_port = 7001# 授权码,请使用更复杂和安全的令牌token = 123456
# Frp 管理后台端口,按需更改,默认为 7500dashboard_port = 7500# Frp 管理后台的用户名dashboard_user = admin# Frp 管理后台的密码,请设置为强密码dashboard_pwd = admin# 启用 Prometheus 监控enable_prometheus = true
# Frp 日志配置log_file = /var/log/frps.log# 日志级别,可以设置为 debug、info、warn、error,默认为 infolog_level = info# 日志最大保存天数log_max_days = 3
客户端

# 客户端配置[common]# 启用 TLS 加密tls_enable = true# Frp 服务器地址server_addr = 47.104.77.123# Frp 服务器监听的端口,与 frps.ini 的 bind_port 一致server_port = 7001# Frp 服务器配置的 token,与 frps.ini 的 token 一致token = 123456
# 配置 SSH 服务[ssh]type = tcp# 本地 SSH 服务地址local_ip = 127.0.0.1# 本地 SSH 服务端口local_port = 22# 自定义的远程端口,用于连接 SSHremote_port = 6000
# 配置 HTTP 服务[web]type = http# 本地 HTTP 服务地址local_ip = 127.0.0.1# 本地 HTTP 服务端口local_port = 8080# 自定义的子域名,用于访问 Web 服务subdomain = test.hijk.pw# 自定义的远程端口,例如 8080remote_port = 8080
使用
你就可以通过公网47.104.77.123连接到 ssh 远程连接到你的电脑了。
ssh 123456@47.104.77.123 -p 6000
注意 端口一定要开放
比如:博主的例子里边的 服务端 7001 7005端口。

END

官方站点:www.linuxprobe.com

Linux命令大全:www.linuxcool.com

刘遄老师QQ:5604215

Linux技术交流群:2636170

(新群,火热加群中……)

想要学习Linux系统的读者可以点击"阅读原文"按钮来了解书籍《Linux就该这么学》,同时也非常适合专业的运维人员阅读,成为辅助您工作的高价值工具书!


微信扫码关注该文公众号作者

来源:Linux就该这么学

相关新闻

内网穿透快速入门!教你从外围打点到内网穿透(零经验上手!)通过内网穿透本地MariaDB数据库,实现在公网环境下使用navicat图形化工具25年美高网申开放!超一半全美前50美高要求SSAT!(内附详细名单)爽!AI工具用得好,20分钟就能拿下1篇SCI?实战攻略来了……(内附提示词)一款轻量级、高性能、功能强大的内网穿透代理服务器如何通过内网穿透实现外部网络对 SpringBoot 接口的 HTTP 监听和调试?滴滴招聘算法实习生(内推)蚂蚁技术研究院招聘实习生<数字人建模和驱动>方向(内推)阿里巴巴通义实验室招聘视频生成学术实习生(内推)入局大模型!值得开发者好好看一看的 AI 入门法!(内附教程)| 极客时间纽约市帮你交房租!租金冻结计划开始申请 这些条件就符合(内附网址)这些事在暗中偷走你的能量,却很难被意识到(内附解决方法)硅兔独家|Emerging AI 100家公司图谱 + 介绍(内附PDF下载)字节、中信建投...200+公司开岗,最快2周拿Offer(附内推码)【2024纽约大学】周边房源合集,(内附新生群)请收好!董宇辉推荐:读书的正确顺序(内附最全书单)哆啦A梦妈妈的复活节攻略,兔子、彩蛋、游戏,一个都不能少!(内有素材包下载)必须看!24年CFA二级考纲已更新!(内附各科目详情)深圳内推 | 百度⽂⼼(ERNIE)团队招聘⼤模型算法实习⽣印尼行记(下):当出海开始内卷,长坡厚雪的创业投资机会何处寻觅?谭某一开始就是冲着胖猫的钱去的(内附事件原貌截图)超详细2025美高申请时间规划表!(内附每月任务表!)(多图视频)30秒内垮塌!巨轮撞毁美国著名大桥,7人失踪多车落水,附近房屋“震感明显”我见过真正厉害的父母,都在培养孩子的情绪内驱力(男孩家长必读)
logo
联系我们隐私协议©2024 bendi.news
Bendi新闻
Bendi.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Bendi.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。