本文转载于:
https://blog.csdn.net/qq_40903527/article/details/123850647
选取其中的frp内网穿透方式,给大家分享本此教程供大家参考。 ^ - ^
如果你有一台云服务器(有公网IP),或者有使用权,那么
在开源社区下载frp程序压缩包。
我们这次下载windows64位frp演示:
下载文件,解压之后有如下内容:
压缩包里面含有服务器程序,和电脑端程序,混在一起,大家只需要区分即可,也可以删除节省空间。
首先,我们配置服务器端,删除多余的电脑端文件,保留服务器端的所需文件::
注意:如果直接运双击运行EXE程序,会操作识别,提示我们用CMD命令操作,我们按这个来:
复制文件路径,打开CMD
像这样:
提示服务器端开启成功,它会监听7000端口消息,这个端口用于与本地端的通讯,如果需要配置其他端口,打开配置文件:
里面就只有一个配置项,表示监听服务器的 7000 端口,作为客户端通信的入口;
一般默认即可,如果出现错误,请检查“端口号入口安全配置”,一般服务器平台会让客户自己配置端口。
用华为云平台示例:
注意:一定要开启这两个端口!一个对外公网访问,一个对应本地端的访问,此时服务器理解是“跳板”!
如果你还有其他限制端口,也要开启相应权限:比如服务器上的宝塔软件
===================================================================
好的,服务器端配置完成。接下来我们进入本地电脑端的配置:
删除其他文件保留本地电脑端的文件,是这样:
这里,我们打开配置文件了,这是默认配置,我们先介绍一下内容:
server_addr : 需要填写上你个人云服务器的公网 ip 地址,这个一定要填写正确,不然无法和服务器进行通信;
server_port :就是服务器监听的端口,如果你服务器这个是默认7000,那这里就不用修改;
这两部分就是用来和我们服务器进行通信的配置。
[ssh] 这部分就是创建隧道,也就映射对应的应用,这里映射的是 ssh;
如果我们要创建web隧道,那就按我一样配置修改,如下图:
提示:内网的本地电脑需要开启7000端口
用cmd运行本地电脑端程序:
运行成功!
再看我们服务器上的CMD也会同时收到消息:
这里的意思就是把服务器的 6000 端口映射到内网机器的 80 端口上:
当我们访问公网 ip + 6000 端口时,我们服务器就会处理6000端口消息,然后将消息转到服务器7000端口,7000端口因为一直保持和我们本地电脑的长链接,那我们内网本地电脑的7000端口,就会收到服务器的7000端口消息,然后本地电脑会7000转80端口,模拟出内网电脑 80 端口的消息,这里就是 [web_http];
下面我们用外网访问:
成功通过访问公网 ip + 6000 端口,看到部署在内网的消息“=/”
也证明了我们的 HTTP 穿透也是成功的。
注意事项
-
客户端的配置项,不同的隧道需要区分开,写上不同的名字,如[ssh]、[mysql]、[web_http];
-
客户端中
remote_port
的端口号不能一样,一样会冲突; -
服务器映射的端口需要放开范围,没有放开会造成无法通信;
-
服务端和客户端都需要注意端口的冲突;
-
配置好之后,接下来我们运行 frp 的客户端程序
注意:运行过程中,CMD窗口要一直保持开启,OK,分享教程完毕,大家点个赞吧~
关注我,分享更多技术教程~
参考文章
frp 配置详解:
https://www.cnblogs.com/sanduzxcvbnm/p/8508988.html
内网穿透不同工具(Ngrok、钉钉、花生壳、frp):
https://www.it235.com/实用工具/内网穿透/pierce.html