用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内网穿透工具

参考技术A

frp 是一个可用于内网穿透的高性能的反向代理应用,支持 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开源工具,实现内网穿透(详细教程)的主要内容,如果未能解决你的问题,请参考以下文章

FRP 内网穿透服务免费使用的详细教程

没有公网ip 也可以实现内网穿透的工具

FRP内网穿透部署

使用frp配置内网(穿透[保姆级教程])

树莓派使用FRP实现内网穿透教程

内网穿透神器frp