type
status
date
slug
summary
tags
category
icon
password
网址
前言
作为时不时就要出差的我,为了能够在外面的酒店也能玩到电脑,自然而然的打起远程操控电脑的注意。而纵观世界上任何一个远程串流软件,其必然的前提是——被控端设备一定是在开机状态(废话)。但是一直打开电脑不但费电费,而且容易被勤俭节约的同居人“好心”帮你关机。为了避免出现“想玩的时候折腾半天,发现是自己电脑关机”这种尴尬的情况,远程开机的需求自然就提了出来。
物理层面的通电开机
总所周知,现在的电子设备基本上都有插电自启的功能,我们的电脑也不例外。
因此我一开始的思路是买一个智能、可以联网开关的插座,对电脑实行物理层面的通断电而达到远程开关机的目的。
主板的通电自启功能一般是默认关闭的,因此我们需要提前在主板中打开。我们只需要在bios中开启即可。每个厂家的bios不同,开启方式也不一样,但是基本都大同小异,例如在华硕主板中,在bios进入到Advanced Mode,在Advanced选项卡中点开高级电源管理,将断电恢复改为电源开启即可。
接下来只要找一个好用的智能插座即可。一开始我瞄准的米家的智能开关插座(毕竟现在用的小米手机)


但!!!看着者这50元的售价,我的荷包在告诉我一定有其他更好的办法!对于家庭nas都是靠捡垃圾配出来的我,这么高端的插座显然不怎么符合我的气质(不是)。
既然已经装了nas,那为何不在nas上作文章呢?
Wake On Lan——网络唤醒
Wake-On-LAN简称WOL,是一种电源管理功能;如果存在网络活动,则允许设备将操作系统从待机或休眠模式中唤醒。许多主板厂商支持IBM提出的网络唤醒标准。该标准允许网络管理员远程打开PC机电源,以便进行文件升级、资源跟踪和设备清点等工作。
Wake On Lan(wol)其实在很早以前就已经诞生,广泛到现在基本是一张主板就搭载这种技术。
使用之前是一样要到bios中开启,跟之前通电自启一样,每个主板商的开启方式都不一样,但大同小异。还是以华硕主板举例:在bios进入到Advanced Mode, 点击APM Configuration, 并将Power On By PCI-E改为Enabled即可。
改完bios后,我们还需要在Windows中设置一下方可。
我们在设备管理器中打开网络适配器,右键你的网卡,点击属性

点击高级选项卡,选到魔术封包唤醒,并设置为开启

至此,被控端的设置便全部设置完成。接下来就要找一个合适的设备进行安装wol客户端,让这台设备发送数据包便可以远程唤醒了。而合适的设备——那自然是二十四小时不关机的设备啦。
openwrt wol
说到24小时不关机的智能设备,大多数人家里那肯定是路由器。而我正好有一台刷了openwrt的旁路由。
我们进入openwrt的后台,找到网络唤醒,然后选择进入被控设备的ip/mac地址,最后点一下唤醒主机即可。

Docker wol-go-web
唉,每次都要选择地址,好麻烦的,还有没有更方便,真正一键启动的办法呢?
有的兄弟,包有的。
在docker的神奇妙妙容器里面,有不少与wol相关的容器。个人觉得最方便的那就是
chishin/wol-go-web
,它可以只用一串链接就发送wol开机指令,真正做到了一键启动。部署也非常简单,以下是docker compse文件。
部署完成后我们只需要在浏览器输入
http://服务器IP或域名:9090/wol?mac=需要唤醒主机的MAC地址
即可。在外地还可以通过ddns/内网穿透来进行唤醒主机。Docker upsnap
upsnap也是一个wol服务,虽然提供了好看的webui,但是单论开机方便而言,其实不如是
chishin/wol-go-web
那种一条链接直接开机来的舒服。But!它可以输入设置关机指令!
由于曾经试过串流软件卡死导致无法连接的主机,必须要重启的情况,显然光有wol是无法做到关机的,因此upsnap自然就被我看上了。
部署upsnap也是非常简单
upsnap 开机
部署完成后在浏览器输入
http://服务器IP或域名:8090
即可进入upsnap的webui后台。
点击右上角新增, 并输入备注、ip、mac地址、子网掩码便可

当然,你也可以点击网络扫描,设定好ip网段以后便可以自动识别添加

upsnap 关机
对于关机而言,我们需要额外设置一番。Windows端最好是安装并启用openssh。
进入到
设置>系统>可选功能>添加可选功能
,点击查看功能,搜索并安装openssh
设置完成以后,我们回到upsnap,在关机指令中输入
sshpass -p "你的电脑密码" ssh -o "StrictHostKeyChecking=no" 你的电脑账号@电脑局域网ip "shutdown /s /t 0 /f”
最后拉到最下面点击保存即可。

现在,你用其他设备登陆upsnap,就可以远程控制开关机啦。
- Author:cyilin
- URL:https://cyilin.top/article/note-2
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
Relate Posts