前提
作为软件技术从业者应该都有这样的痛点,在日积月累的摸爬滚索中,自己的个人计算设备越来越多,在家沉浸的环境可以让我们非常舒适的完成我们的工作或者自己搞点小东西,毕竟身边触手可及的设备比起云端服务器还是有其他的各种乐趣。甚至对于新人朋友来说,各大云服务产品并不便宜,也许新用户99一年非常良心,可是一年之后的续费价格是真的蛋疼,而且可折腾的乐趣并不高,主流的1核2G 的ECS 其实性能并不好,搭载个MySQL+web容器就捉襟见肘了(主要是内存和宽带),建议购买服务器的同学有需要上大内存比核心数更重要(非计算性)
作为个人的本地服务离开自己得到小窝却被网络限制,主流的内网穿透实际体验非常差,要好的体验还不如云上服务
在这里我只提供方案,具体的细节请自行摸索,只是作为个人的技术分享和商业目的无关
前置知识
以下知识点在你阅读博文请事先了解知晓
- IP协议
- 域名解析
- 路由器固件
- 端口映射
以下是本方案的设备和技术要求
- 正常备案域名一个(阿里云)
- 可刷梅林固件路由器
- 私人的公网IP
emmmm,也许你会说我有个人的公网IP还说个锤子啊,其实不然,这里暂不讨论你如何申请到公网IP(敏感问题)。就算你有IP其实也没用,拿电信的民用宽带来说,是肯定会周期性断网重连的,比如我这里是每天2-6点重连,彼时IP地址也将会变化,这就是最致命的问题
方案步骤
思路
阿里云域名解析提供了API接口,利用该接口我们可以推送一个IP地址指定解析,从而解决IP地址变化的问题
- 路由器脚本监听IP变化
- 路由器发现IP变化推送新IP到阿里解析接口
路由器刷梅林固件
请自行安装你的路由器型号完成,并安装koolshare软件中心,本文不做讨论
安装Aliddns插件
该插件监听路由器IP地址变化,实时推送IP地址到阿里云解析API
配置域名解析
添加一个A记录子域名解析到宽带ip地址,比如我这里用了home
记录表示家里的服务地址
配置插件推送设置
注意获取公网IP命令我的是光猫桥接模式路由器拨号,所以我获取的是ppp0网卡也就是wan口的IP地址,
curl 访问命令
ppp0 wan口
-s 字符串处理
whatismyip.akamai.com 一个获取IP地址的接口,你复制到浏览器就明白了,也就明白-s的含义了
请仔细测试命令效果
注意app secret
和app key
请自行在阿里云账户获取
端口映射
接下来你将可以将本地服务的端口在路由器端口转发
设置一下将可以了
请注意电信宽带IP 80、8080、这类 端口已被屏蔽
结语
这样的情况下你本地的服务利用域名访问就和ECS上面的服务一致了,并且IP的变化也无关紧要。不管是NAS还是你其他的IP协议服务都可以正常解析访问
方案的很多细节并没有细表,相信作为会看到照片博文的你以不要我解析细节,请事先确认是否可以申请公网IP再实施
本方案只做个人学习分享,请勿用作其他用途