用frp开源工具,实现内网穿透(详细教程)
Posted 都是地址而已
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用frp开源工具,实现内网穿透(详细教程)相关的知识,希望对你有一定的参考价值。
上一篇文章,讲了“穿透届的骨灰级软件工具”,点击查看。
选取其中的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
FRP内网穿透工具
参考技术Afrp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。主要他是一个开源的。
https://github.com/fatedier/frp
http://getfrp.yzxx-soft.com/index.html
具体配置以及使用方法我这里就不过多介绍了,官方文档有详细说明。
这里我贴出我的配置内容如下:
假如服务端的IP地址为:121.35.99.12
在多人同时使用一个 frps 时,通过自定义二级域名的方式来使用会更加方便。
通过在 frps 的配置文件中配置 subdomain_host,就可以启用该特性。之后在 frpc 的 http、https 类型的代理中可以不配置 custom_domains,而是配置一个 subdomain 参数。
只需要将 *.subdomain_host 解析到 frps 所在服务器。之后用户可以通过 subdomain 自行指定自己的 web 服务所需要使用的二级域名,通过 subdomain.subdomain_host 来访问自己的 web 服务。
**
假如域名为:abc.com
去域名的控制面板添加解析 *.javen 到 121.35.99.12
**
http://mac.javen.abc.com:9988/user
映射到本地的
http://localhost:8080/user
通过浏览器查看 frp 的状态以及代理统计信息展示。
http://121.35.99.12:9999
登录的用户名以及密码为服务端配置的
dashboard_user = javen
dashboard_pwd = javen
这里我们 使用Nginx将9988端口映射到80端口 供微信开发调试使用
以上是关于用frp开源工具,实现内网穿透(详细教程)的主要内容,如果未能解决你的问题,请参考以下文章