【内网穿透】一文学会FRP的内网穿透实操

概要

FRP(Fast Reverse Proxy)是一个开源的、高性能的反向代理应用,可以实现内网穿透,让外部设备能够访问内网中的资源。通过 FRP,可以让在 NAT(网络地址转换)或防火墙后面的设备向外部提供服务。

一、整体架构流程

内网穿透示意图

云服务器(公网):
部署 FRP 服务端(frps)。
云服务器具有公网 IP,充当外部设和内网设备之间的桥梁。
配置 FRP 服务端监听指定的公网端口(如 8888),接受外部的连接请求并将其转发到内部设备。
内部网络(NAT 内网):
内部网络处于 NAT 后面,通过路由器连接到互联网,家中的设备通常没有公网 IP,无法直接被外部访问。
在家庭网络中的 Linux 机器上,部署 FRP 客户端(frpc),并配置将本地的 nginx 服务(端口 80)映射到云服务器的指定端口(如 8081)。
FRP客户端会与云服务器建立一个长期的 TCP 连接,将内部网络的nginx服务暴露给云服务器。

二、环境准备

一个云服务器用于充当公网,选择的ubuntu20.04
一个虚拟机用于充当内网,选择的 ubuntu24.04

三、操作细节

一、安装frp

frp下载链接
由于github下载速度过慢,需要下载一个提速器
Watt Toolkit
在这里插入图片描述

注意一定要下载amd架构的

安装出现的问题
frp下载Windows安全中心检测出有病毒:

一些敏感操作会被误报,比如说读取内存du,调用/执行cmd脚本,修改dll文件,注入代码等等操作”而这款软件就是会调用/执行CMD脚本,并且会将本地端口映射到公网(内网穿透不就是干这个的嘛),所以部分杀毒软件会报毒。
在这里插入图片描述

解决办法

在设置的安全中找到Windows安全中心
在这里插入图片描述
打开之后,选择病毒和威胁防护
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
把这个实时保护关掉就行了,下载完之后记得打开

二、将压缩包拖拽到云服务器解压

在这里插入图片描述
这里就把frp安装到了云服务器上,可以看看里面的内容
在这里插入图片描述
后面在云服务器上外面就操作frps和frps.toml,因为server服务器,所以就就操作s

三、将压缩包拷贝到ubuntu虚拟机上

首先需要确保win和虚拟机能够通信,外面用ping命令进行测试

虚拟机网络适配器修改为NAT模式
在这里插入图片描述

查看虚拟机的ip
在这里插入图片描述
查看win的ip
在这里插入图片描述
在这里插入图片描述
用ping命令测试是否连通
在这里插入图片描述
在这里插入图片描述

现在使用scp拷贝

找到frp压缩包在win下的位置
在这里插入图片描述
在这里插入图片描述
虚拟机创建了一个目录,便于管理
在这里插入图片描述
在这里插入图片描述
看看虚拟机内容安装没
在这里插入图片描述
这样就可以解压了
在这里插入图片描述
前置工作完成

四、进行内网穿透

这里选择用nginx来测试
在ubuntu虚拟机下下载nginx
在这里插入图片描述
启动nginx并查看nginx端口
在这里插入图片描述
在这里插入图片描述
可以看到使用的端口号是80
打开虚拟机浏览器测试能不能访问
在这里插入图片描述
在这里插入图片描述

五、配置并运行云服务器的frp

在这里插入图片描述
看到云服务器的配置文件的绑定端口是7000,我们可以修改为8888或者开放云服务器的7000端口
这里选择开放端口
选择自己的云服务器实例,选择安全组,管理规则
在这里插入图片描述
在这里插入图片描述
这里开放了7000和8081,都有用处
现在就可以运行云服务器的frp程序
在这里插入图片描述

六、配置并运行虚拟机的frp程序

在这里插入图片描述
这里我们就需要修改frpc.toml内容了,需要一点vim的操作
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
现在就明白为什么要开放2个端口了吧
这个时候就运行虚拟机的frpc程序
在这里插入图片描述
连接成功,看看服务器的响应
在这里插入图片描述

七、这个时候就已经成功了

我们用win来访问云服务器的8081端口看看效果
在这里插入图片描述
在这里插入图片描述
至此,内网穿透就成功了

八、附录

可以把frp程序都放在后台运行,这样就不会影响到正常使用了
相关操作

nohup ./frpc -c ./frpc.toml &> /dev/null &
nohup ./frps -c ./frps.toml &> /dev/null &

小结

内网穿透:通过云服务器的中转,实现 NAT 内网设备的外网访问,无需更改路由器设置。
多协议支持:FRP 支持 TCP、UDP、HTTP 等多种协议,可以扩展为其他服务的内网穿透。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值