第十一篇:没有公网ip?不要慌。FRP实现内网穿透

前言

要搬家了,前面得瑟的公网ip没了。

参考

卡尺:第四篇:群晖218+公网ip,起飞18 赞同 · 14 评论文章

本来已经想好了替代方案——准备用ipv6来折腾。

结果今天一问工作人员,移动不支持公网IP,也不支持IPv6,一下子头都大了。

【此处不得不吐槽下移动,网速遭人诟病就算了,ipv6也不支持】

只能在网上寻找解决方案。

花了一下午搞定了用 FRP 实现内网穿透。

什么是FRP

简单的说,frp就是一个反向代理软件,可以使处于内网或者防火墙后的设备对外界提供服务,支持HTTP,TCP,UDP等众多协议。

今天我们仅讨论,和群晖设置相关的内容。

如果你需要更详细的介绍

fatedier/frp​github.com/fatedier/frp文档​gofrp.org/docs/

你需要的东西

一台能跑frp server服务端的机子 可以用下面我说的免费的,但是速度感人。 建议还是最好有自己的服务器最好了。在你需要访问的目标设备上,跑起来frp client客户端

思路

和网上的教程大多不一样的,大家都是先把frp s(server 服务端)起来,然后进行,frp c(client 客户端)的配置。

在搜索攻略的时候,找到了一个免费的frp内网穿透服务。

Free FRP 免费 FRP 内网穿透​freefrp.net/docs.html

本人之前由于没有使用过frp的相关东西,想着我先在客户端上,把frpc在群晖的docker上跑起来,然后能用先?

要是能用我们再去折腾阿里云上面的服务端的设置。

1. 跑起来frpc客户端

基本上是参考这个文章折腾的。

群晖NAS使用Docker安装配置frpc内网穿透教程 - 思有云 - IOIOX​www.ioiox.com/archives/26.html

因为他文章中用到的就是我上面说的,免费的frp服务。

注意,高级设置中,可以开启自启动服务。

这样子群晖重启了也不怕客户端没跑起来。

最后成功的用 custom_domains 里面的域名加端口号,访问到群晖的后台系统,感觉已经成功了一半。

具体frpc.ini文件里面的配置,放在第三步。

2. 跑起来frps服务端

客户端搞定了我们来尝试配置,服务端的东西。

搭建的过程基本上是参考这个文章折腾的。

sugood:(Frp第一篇)Frp内网穿透安装教程#Frps服务端一键安装脚本#7 赞同 · 0 评论文章

一键教程,基本上就是照着教程来。

如果端口已经被占用,基本会提示,不用担心。

最最重要的点,网上都说,要去阿里云开放端口,我也老早就设置了。但是吧。跑起来服务之后,一直都访问不了。

最后在网上看到,宝塔也有防火墙!

所以开放对应的端口,有两处地方需要开放

阿里云的安全策略宝塔的防火墙

最后成功进入 dashboard 就算可以啦。

阿里云很少重启,所以没有开启自启动服务。需要可以网上搜索设置。

3. 将客户端连上来

如果前面第一步你已经折腾了。明白了各个参数、字段的含义。那么其实这一步,不用花费太多功夫。

你可能需要知道的是,像正常群晖的应用,都是,tcp连接,像客户端里面只是配置了http 和https 还是不够用的。

你需要增加一下你的想要打开应用的对应端口。例如说,driver的6690端口

frpc.ini 的配置如下

[common] server_addr = 域名或者是阿里云的地址 server_port = 前面阿里云上开启frps服务的对应端口 token = 自定义客户端链接token ​ [nas_dsm_http] type = http local_ip = 192.168.3.117 local_port = 5000 custom_domains = 域名或地址 ​ [nas_dsm_https] type = https local_ip = 192.168.3.117 local_port = 5001 custom_domains = 域名或地址 ​ [DSM, Download Station, Audio Station, Video Station] type = tcp local_ip = 192.168.3.117 local_port = 5000 remote_port = 5000 ​ [Driver] type = tcp local_ip = 192.168.3.117 local_port = 6690 remote_port = 6690

需要详细的教程再留言细写。

不说了,搬家去了。