frp技术

说明:frp(https://github.com/fatedier/frp) 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议,且支持 P2P 通信。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。(官方语)

本文介绍如何使用frp,借助阿里云公网IP访问内网应用。

下载

frp分客户端和服务器端,服务器端部署在有公网IP的阿里云服务器上,客户端部署在需要被穿透的内网设备上。

首先,去Github上(https://github.com/fatedier/frp/releases)下载程序包,我的阿里云服务器是CentOS 7,客户端设备是Windows系统,需要下载以下两个包。

一份留本地,一份上传到阿里云服务器上。

服务器端

花开两朵,各表一枝。先讲阿里云服务器上的这个,解压后如下:

frp程序包文件结构非常简单,解压后就这五个文件,两个执行程序,两个配置文件,分别对应客户端、服务器端,剩余一个是开源协议。

阿里云上我们只用得上frps,即frp服务器端,默认使用的端口是7000,输入./frps启动frp服务器。

客户端

frp客户端解压后如下

客户端只用启动frpc.exe,对应的配置文件内容如下:

properties 复制代码
serverAddr = "127.0.0.1"
serverPort = 7000

[[proxies]]
name = "test-tcp"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 6000

这个配置文件需要根据需要修改,其中

  • serverAddr,是阿里云公网IP;

  • serverPort,是阿里云上frps的绑定端口,默认7000;

  • localIP,是内网穿透的本地IP,设置127.0.0.1即可;

  • localPort,本地端口,与remotePort对应;

  • remotePort,远程端口,即部署frps的公网IP端口;

最后两个端口设置,表示使用阿里云公网IP:远程端口,映射的本地的什么端口。下面通过一个例子实践一下。

XXL-JOB

现在,我本地有个xxl-job-admin,可在浏览器上输入http://127.0.0.1:8080/xxl-job-admin/进入xxl-job任务调度中心,如下:

我现在用内网穿透技术frp,将这个应用通过阿里云公网IP映射出去,通过阿里云的公网IP访问到我本地内网下的这个xxl-job任务调度中心。

frpc配置文件frpc.toml设置如下:

properties 复制代码
serverAddr = "公网IP"
serverPort = 7000

[[proxies]]
name = "test-tcp"
type = "tcp"
localIP = "127.0.0.1"
localPort = 8080
remotePort = 6001

其中,最后两行表示使用公网IP:6001可访问到127.0.0.1:8080,设置完成后,输入下面的命令启动frpc.exe

powershell 复制代码
frpc.exe -c frpc.toml

启动完之后,使用http://公网IP:6001/xxl-job-admin/访问xxl-job任务调度中心,如下:

(注:如果无法访问,需考虑阿里云服务器7000、6001端口是否已开放)

大功告成,这个地址发给其他人,其他人就能访问你本地内网的xxl-job任务调度中心了。

总结

本文介绍了如何使用frp,实现内网穿透,借助公网IP访问内网的xxl-job任务调度中心。除此之外,如果你和前端同事联调接口,但是你们不在同一个网络下,网络不通,就能通过这种方式,配置一个公网IP地址给前端,这样就可以访问了,当然前提是你需要有一个有公网IP的服务器。

更多参考frp中文文档:https://gofrp.org/zh-cn/docs/

本文参考:使用frp实现内网穿透教程

相关推荐
你好,赵志伟3 小时前
传输层协议 TCP
网络·网络协议·tcp/ip
茯苓gao3 小时前
CAN总线学习(四)错误处理 STM32CAN外设一
网络·笔记·stm32·单片机·学习
从零开始的ops生活3 小时前
【Day 68】Zabbix-自动监控-Web检测-分布式监控
linux·网络·zabbix
遗憾随她而去.4 小时前
Uni-App 页面跳转监控实战:快速定位路由问题
前端·网络·uni-app
小胖西瓜4 小时前
[解决方案] 回顾一下业务中的网络技术演化
网络
计算机毕业设计指导5 小时前
基于Django的内部网络资产发现与管理工具
网络·python·网络安全·django
Gss7776 小时前
Nginx 核心安全配置总结
网络·nginx·安全
汪汪大队u7 小时前
IS-IS核心解析:驱动现代网络的隐形力量
网络·智能路由器
小白电脑技术7 小时前
如何自查家里宽带是否有公网IPv4?就几步。
网络
Yyyy4828 小时前
LVS TUN隧道模式
运维·网络·lvs