自制frp服务器实现内网穿透

自制frp服务器实现内网穿透,第1张

购买一个极路由,极路由可以安装应用,而且有提供域名解析,可以被用来作为本次内网穿透的实验。

随后给路由器安装frp的应用,在有广域网IP的自己家的路由器上安装frps,在内网安装frpc。

frp的源码可以在 github 上获取,页面上有关于frp的介绍:

服务器端设置,选择版本,服务器地址保持默认的 0.0.0.0 ,设置特权密码,用于客户端的连接,设置查询用户名和密码。

在客户端进行设置,选择与服务器对应的版本,填入服务器的域名或者IP,因为极路由自己有域名解析非常方便。添加自己设定的密码:

再加入配置文件,比如下面的内容将148和5两台主机的22端口做了分配:

运行客户端,查看运行状态:

以下通过ssh登陆到内网的树莓派上,这个板用安装了moodeaudio系统,可以看到相关的信息:

打开状态网页 http://xxxxxxxxxxxx.jios.org:7500/ ,也可以看到连接信息:

bind_port是服务器的端口,一般默认这个端口就行,但是如果有其他进程占用这个端口请使用其他端口

6.至此服务器端配置就完成了✅

表示客户端启动成功,此时可以在其他任意计算机上通过远程连接访问你的服务器ip测试是否成功连接

标签(空格分隔): 开发工具 前端

[toc]

前端开发,有时候需要给外网的测试人员浏览,此时若没有专门的测试服务器,那么使用内网穿透就是最简便通用的方式了。一个常见的选择就是 ngrok 。 也有 frp

ngrok官网

本地客户端跑起,搭建内网端口隧道给外网服务器,用户访问外网服务器对应地址,自动映射到本地对应地址。

这个方案很简单,也很慢,超慢,无法忍受的慢。

官网教程参看 https://github.com/inconshreveable/ngrok/blob/master/docs/SELFHOSTING.md

从零搭建参看, https://morongs.github.io/2016/12/28/dajian-ngrok/

已经写好的搭建脚本,参看 https://www.jianshu.com/p/b81bb6a3c0b9

如果脚本安装失败,可能是有些依赖没有,例如 apt-get

如果脚本失败,可能是依赖没装好,一般就是 go 没装,试下下面

安装 go

如果没有 apt-get yum,使用下面

按教程的做法是这样的

开启服务后,服务端报错 Failed to read message: remote error: bad certificate , 客户端端报错 x509: cannot validate certificate for xx.xx.xx.xx because it doesn't contain any IP SANs

搜索客户端报错,按 此文解决 ,在最后一句生成证书的命令前加上以下命令,就解决了

ngrok 客户端会自动生成一个随机子域名或者用户自定义一个,总之无论如何都会有一个域名,这就会导致 ip 域名无效, 例如 http://92832de0.1.1.1.1 ->localhost:80 , 解决办法就是改源码,去掉随机生成的 subdomain

删掉 %x. rand.Int31() , 以及该文件第一行引入的 math/rand ,重新编译出服务端与客户端即可。这样不加 -subdomain 选项就不会有子域名


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/586236.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-07-07
下一篇2023-07-07

发表评论

登录后才能评论

评论列表(0条)

    保存