新浪新闻客户端

抄作业啦!超好用的WOL方法,NAS远程唤醒家中电脑

抄作业啦!超好用的WOL方法,NAS远程唤醒家中电脑
2022年05月12日 14:23 新浪网 作者 什么值得买

  作者:Designer_Fanfan

  大家好,我是fanfan。本文是在公网ip下进行操作的,请确保你使用的是公网IP,或者能够远程访问家中nas的方法,不管是内网穿透,还是虚拟网络(VPN)都可以,原理基本上一致。

  本次带来的方法无需任何第三方软件,无需登陆路由器后台即可完成远程唤醒,手机电脑可以通用,而且有很多玩法。欢迎大家集思广益,碰撞出更多的想法。

  主要依赖于docker镜像来实现。点击前往了解详情

  背景

  因为最近研究公网ip无法自拔,之前说到家里的路由器无法arp绑定,只能实现内网进行局域网唤醒。后来我仔细一想,如果路由器不行,家里的NAS基本上是24小时开机状态,跟路由器的在线时间也貌似也差不多。所以我就有了一个想法,既然很多路由器能唤醒局域网的设备,那如果我的路由器没有WOL的功能,是不是能通过NAS去唤醒局域网设备呢?

  于是我开始自己的验证,没想到真的被我找到方法了,完美实现远程(外网)开机。这个方法真的爽到我了,当我验证成功的时候,我兴奋了一个晚上,这也许就是垃圾佬的成就感吧。

  对于部分有wol的路由器来说,使用的时候要么使用第三方的WOL软件,要么远程登录路由器后台进行唤醒。如下图所示的两种方法。              

  基本知识探讨

  在说具体怎么操作之前,得先弄清几个概念。首先,什么样的网络布局才能实现唤醒呢?一开始我认为的是这样的,很快就被证明我是错误的了。       

  实际上远程唤醒的过程是局域网设备之间的通信,如果要让nas唤醒局域网中的其他设备,只需要局域网内能够互通即可。所以后来我才有一点明白了,画出了下面的这个图来帮大家理解一下,也可能不太对,这是我的理解。       

  我家里的nas是爱速特的5202T,x86架构的双盘位nas,性能对我来说已经足够了,目前使用的是西数的红盘PLUS,感觉噪音稍微有点大,不知道其他人的硬盘噪音怎么样。 

  当然,因为本文基于docker,所以基本上支持docker的nas都可以实现本文的wol功能,不管是arm架构还是x86都可以,像威联通的212p3,群晖的DS220j,爱速特的AS1102T这些arm架构的NAS都能胜任。

  我家的网络布局如下图所示,使用的是领势的领势 Velop MX5502,一对路由组成mesh网络,家里的各个角落基本上信号都可以满格。交换机使用的是TP-link的交换机,因为买的比较早就是普通千兆的交换机,后续准备升级2.5G,不知道大家有没有推荐的品牌。可以评论区推荐一波。       

  电脑BIOS开启WOL

  另外一点需要知道的是,WOL的硬件门槛,电脑必须支持WOL,要想知道是否支持,就要去BIOS设置里的电源管理中是否有相关的WOL选项。如下图所示,不同品牌主板的界面不一样。常见品牌进BIOS设置的方法如下图,不是很全面,建议大家根据自己的实际情况搜索设置方法。

  笔记本       

         台式机       

         进入BIOS之后,在电源设置里面找到Wake on Lan的选项,选择Primary,然后F10保存重启即可。       

         我的联想台式机,如果选择Automatic的话,能远程使用路由器点亮电脑,但是系统加载会出现失败的情况,如下图所示,我不知道什么原因,总之选择Primary没有问题。       

  另外需要记录需要被唤醒电脑的mac地址。可以在网络连接处查看(如下图),也可在cmd里面使用ipconfig/all命令查看。 都是些基本知识,别喷我!到此,电脑端就操作结束了。       

  NAS端

  这个折腾的方法是基于NAS来进行功能实现的,NAS的应用商店里面没有相关的应用。我在找这个docker之前,很少搜到有品牌直接支持启动局域网中的其他设备的相关信息。大都是NAS被远程唤醒的教程。不断的搜索之后,终于找到了一个方法。是一个叫WolGoWeb的Docker,部署Docker来实现WOL的功能。

  点击前往       

  虽然dockerhub有不少wol的镜像,对比之后我发现接下来介绍的这个非常方便。部署完成之后,无需第三方应用,无需登陆nas后台即可一键远程开机,不管是在什么操作系统的机器上,只要有浏览器可以访问网页,就可以实现外网一键开机,超级神奇。

  WolGoWeb是一款远程唤醒WebAPI工具,主要用于搭建在局域网服务器或NAS中,实现WebAPI唤醒局域网内主机。而且作者还提供了win、linux等操作系统的客户端。       

  他的原理,我的理解就是通过DDNS向要被唤醒的电脑网卡(需要记住网卡的mac地址)发送开机指令。

  Docker部署(本文核心)

  这里以爱速特AS5202T为例,来介绍具体的部署方法,部署方法有两种:portainer和ssh,ssh只需要一条指令即可完成。关于如何开启ssh我就不再介绍了。

  直接在ssh界面运行这个命令即可完成部署。

  docker run -d --net=host chishin/wol-go-web

  爱速特使用的是Portainer图形化界面,如果使用portainer的话,其实也相对比较简单,先拉取镜像。如果你理解上面的 命令,那么可以直接填写相关信息即可。如果不理解的话,可以去站内搜一下,有大佬写的很详细。       

         输入以下信息       

         注意:网络选择host       

  环境变量添加PORT 9090(可以修改,不冲突即可),这个端口号就是后续我们访问的时候需要用到的,而且我们需要在路由器界面开启9090(如果修改了,请使用修改后的端口号)的端口映射。然后点击Deploy the container就可以完成部署了。       

  部署完毕,自动运行如下图。       

  远程唤醒操作

  完成部署工作即可开始使用,首先使用浏览器访问 http://服务器IP或域名:端口号。结果如下图所示,表示已经部署成功了。       

  唤醒请求:http://服务器IP或域名:9090/wol?mac=需要唤醒主机的MAC地址 

  可以先尝试一下内网ip能否唤醒要唤醒的电脑,唤醒请求如下

  http://192.168.50.176:9090/wol?mac=(之前记下来的mac地址,格式00-00-00-00-00-00,不含括号)

  浏览器输入,会车,马上就唤醒了,喜出望外的感觉。

  当然我们需要将9090端口映射出去,这样我们才能实现在外网远程开机。完成映射之后,电脑连接手机热点,访问http://DDNS域名:9090/wol?mac=(mac地址,不含括号)

  当出现以下界面表示唤醒命令发送成功。再看看要被唤醒的电脑,屏幕已经被点亮了。       

  远程开机小技巧

  1、因为我们使用的是网页指令让电脑开机,最简单方便的方法就是在手机/电脑浏览器中将地址添加书签到桌面,这样我们就可以直接点击进行远程开机了。     

  2、更有甚者你还可以讲这个网址创建一个二维码,通过扫码进行开机。

  3、使用ios的快捷指令,创建快捷指令,放在桌面上,可以通过快捷指令开机。也可以通过siri,语音运行快捷指令,然后语音唤醒电脑。

  应该还有更多方法,我个人想法也有限,大家可以集思广益,有新方法的朋友可以分享给我,我愿意进行尝试学习新的知识。

  以上就是本次的所有分享,希望对大家的远程唤醒有帮助。我是Fanfan,一个拖更很久的数码领域作者,你们的支持和互动是我最大的东西,希望能帮到所有人,也希望疫情早日散去。                                   

特别声明:以上文章内容仅代表作者本人观点,不代表新浪网观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与新浪网联系。
路由器NAS电脑
权利保护声明页/Notice to Right Holders

举报邮箱:jubao@vip.sina.com

Copyright © 1996-2024 SINA Corporation

All Rights Reserved 新浪公司 版权所有