下载帮

您现在的位置是:首页 > 网络 > 路由器

路由器

软路由OpenWrt开启https远程访问

2021-04-01 15:40路由器

自从购买了LinksysWRT1900这个智能路由之后,折腾就没停止过,遇到的坑已经比我走过的桥要多了都。

之前我已经实现了用域名远程访问的功能,趁着最近有空闲的时间,顺便把开启https也给解决了。记录一下折腾的经过。

openwrt要实现远程访问,首先要有一个域名,但是网上那些所谓的教程都是写得不清不楚的,甚至连思路都给搞错了。真是感叹中文互联网环境的恶劣。

比如,他们会教你,要实现远程访问,需要做内网穿透,用什么frp,nps,花生壳…等等不靠谱的东西。几十万粉丝的UP主讲的东西纯属娱乐,但那些可以忽悠小白。

实现远程访问路由器管理界面有这么复杂么,比如用frp做内网穿透的,首先你得有一台vps做跳板,访问路由器的流量全部都要经过vps,如果这台vps在国外,那么你访问自己家的路由器界面,电信号绕了半个地球才到路由器,速度肯定慢很多,还浪费流量 浪费钱。

那么,有没更简单的方法呢?当然有,只是很多人没想到而已,其实要解决这个问题很简单,写个脚本即可搞定,不需要什么frp nps 花生壳…等等内网穿透。。

只需要有一个域名即可。

我用的是Godaddy的域名

实现原理如下:

首先去狗爹界面申请一个API备用

然后写个自动更新IP地址的脚本上传路由器,并赋予执行的权限。

在路由器设置定时任务,比如每隔十分钟执行一次脚本检查路由器的IP地址有没改变,如果IP地址改变了,脚本则执行狗爹的API更改IP地址,IP地址缓存在路由器里,每次脚本执行检查之后,会对比缓存中上一次的IP地址,如果IP地址没变化,则不执行api改变域名中的地址。

这就实现了很多人只能通过ddns工具才能实现的功能——即把一个动态的IP和域名进行绑定。

我观察过,电信的IP最长是5天左右就会自动更换一次,当然,如果重启了路由器,重新拨号的时候会立刻改变。

然后在防火墙设置一下端口转发,即可通过外网访问路由器的管理界面了,如下图:

但是现在只是能通过域名http+端口访问,还不能通过https的方式访问,

要解决这个问题,openwrt还需要安装Acme、Acme-dnsapi、openSSL、uHTTPd

之前为了安装这几个ipk,折腾了好久都是各种报错,装不上去。一怒之下自己编译了一个固件,直接把这些ipk编译进去,就解决了。必备的ipk还包括:bash、curl

编译openSSL的时候也踩到了一个坑,就是因为OpenSSL和另外一个SSL有冲突,死活编译不过去。要取消其中一个才行。如下图:

当Luci界面有了Acme和uHTTPd以上这几个组件时,开启https就变得简单多了,设置如下图:

经过以上的设置,证书脚本会定期自动更新,你无需再操心证书的续期了,一切都是自动化。真棒!

然后我们就可以愉快的通过https来访问路由的管理界面啦!我还配置了电脑的网络唤醒功能,以后可以远程把家里的电脑开机,然后用远程桌面连接上去,这样就可以远程用手机操控电脑了。感觉自己好棒 哈哈~

另外还在路由器挂了一个4TB的硬盘,有什么资料都可以随时远程怼进去或者取出来,相当于有了一个随身携带的4TB硬盘。要下载小姐姐什么的,直接用路由器里面的Aria2下载,24小时在线不关机 哈哈~

Luci https

文章评论