使用场景:家里有一台7*24小时开机的黑群晖nas,用于挂博客,pt等等。

有的时候在外面,想开电脑找点东西,于是打算搞个远程唤醒,之后用远程桌面连接电脑。

这篇文章先搞定远程唤醒。

远程唤醒技术(WOL,Wake-on-LAN)是由网卡配合其他软硬件,通过给处于待机状态的网卡发送特定的数据帧,实现电脑从停机状态启动的一种技术。

--摘自百度百科

简单地说,网络唤醒就像在家里局域网大喇叭UDP广播电脑的名字MAC地址,就会把对应电脑叫醒。那么,要想在外面也能叫醒电脑,只要安一个远程喇叭就行了。

硬件方面需要网卡支持网络唤醒,不过现在百分之95的网卡都带这个功能,我一个09年的百兆垃圾网卡都支持这个功能

那么,理论成立,实践开始!

  1. 创建内网穿透隧道

frp 是一个高性能的反向代理应用,支持 tcp, udp, http, https 协议。这个软件可以很方便地进行内网穿透需求。

有不少用爱发电的大佬提供免费FRP服务,不过有条件建议开个会员支持一下。

我用的是OpenFRP,但各种frp服务配置都大同小异,可以通用。

注册实名一条龙,进入创建隧道栏,随便选一个节点,隧道名称随便填,本地端口选9,隧道类型选 UDP 本机地址填255.255.255.255 剩下的不用管,可以选“随机远程端口”或者输一个喜欢的数字,点提交

image-20230614202137433

创建完后会自动跳到隧道列表栏,记下隧道ID,等会要用

image-20230614201410965

2.服务器端部署FRPC

我的NAS使用的是黑群晖DSM6.1.7版本,本质上是个魔改的Debian系统,所以可以用Linux的程序

为了方便调试,我使用docker运行,当然也可以使用其它方案,大同小异。

OpenFrp提供了一个官方的docker镜像,可以通过访问秘钥+隧道ID连接。

安装docker,打开SSH访问等步骤不再赘述,由于Docker Hub在国内无法正常访问,但能拉取镜像,所以这里采用ssh安装的方法

首先SSH连上要部署的服务器,输入

sudo docker run -d --name OpenFRP openfrp/frpc:latest -u (你的访问秘钥) -p (隧道ID) 

比如: docker run -d --name OpenFRP openfrp/frpc:latest -u b7b***1c9 -p 1****0

安装速度取决于网速

image-20230614204200951

等一会后会显示一串字符,这就代表安装成功

3.被控电脑打开远程开机功能

3.1 Windows

网络和Internet设置-更改适配器选项,各Windows版本不同,总之要进入网络连接控制里

image-20230614204837169

右键网卡,选择“属性”,依次选“配置”-“高级”-”魔术封包唤醒“,更改为“开启”

ps:如果你电脑的网卡找不到以上选项,就找那种包含“唤醒(wake up)”文字的属性,然后全部设置成开启就是

image-20230614205207917

随后切换到电源管理,把“允许此设备唤醒计算机”打开

控制面板设置

至此,系统部分配置完毕,接下来要进BIOS里调整了。

4.修改BIOS设置

由于各个品牌进入BIOS的方法不同,建议百度搜索“电脑品牌+BIOS”,有详细的方法,一般是开机狂按某个键或者按机箱/笔记本侧边的特定按钮。
进入BIOS后,按箭头键切换到“高级”一栏(或:电源管理),选择“PCI设置”,将‘Power On By PCIE/Onboard Lan’打开,(或者叫网络唤醒之类的名字)
将其切换为enable后 按F10保存并退出。
BIOS设置

5.发送唤醒包

5.1 Windows端

首先要下载一个wol的程序。不大,是个命令行程序,方便一键执行
WOLCMD网站
下载
下载是一个压缩包,打开后选择解压到C:根目录里,方便调用命令行,或者可以修改成一个自己熟悉的文件夹,不过下面的命令就需要修改
解压缩
之后Windows+R组合键,输入CMD,打开命令行,输入

cd /d C:\ 
wolcmd (网卡MAC地址) (frp服务器地址)255.255.255.0 (隧道端口)

比如
wolcmd b8975a4d6e5b cn-hk-bgp-5.openfrp.top 255.255.255.0 11451
如果一切顺利,会提示“唤醒信号已发送至设备”,并显示frp服务器的ip地址和端口
发送成功

如果不清楚如何获取mac地址,可以看下面的5.1.1

5.1.1被唤醒电脑获取网卡MAC地址

Windows+R组合键,输入CMD,打开命令行,输入命令

ipconfig /all

会输出一大堆东西,找到名字叫以太网(有线连接)或者叫无线网络适配器(wifi连接)的,这就是此网卡的MAC地址
MAC地址获取

5.1.2 通过bat批处理实现一键开机

新建一个文本文件,把上面的唤醒命令全部复制进去
bat文件内容
随后重命名文件,将后缀修改为.bat
修改后缀
修改完后就可以通过点击这个文件进行一键唤醒

5.2 安卓安装唤醒程序

可以去各大应用商店搜索关键词“Wake On LAN”,比如谷歌商店就有
或者下载这个安装包
https://cowtransfer.com/s/3a06bd6050a64c
提取码bjtym5

右下角+号-左上角手动输入
创建
输入你的信息即可,如图
输入信息
随后保存,返回到主页,点击条目即可发送唤醒信息

5.3 微信小程序唤醒

有很多支持网络唤醒的小程序,只要填入信息也可以做到远程唤醒。
具体可微信小程序搜索“网络唤醒”,都有详细的使用方法
小程序

常见问题:

1.无法唤醒?

  • 请留意电脑关机后,路由器端网卡指示灯是否还亮着,否则可能是网卡断电,需要去BIOS的电源管理里设置
  • 电脑最后一次关机是否为正常关机(点击关机键关机),意外断电无法使用wol唤醒
  • 台式电脑是否关闭过总电源?断电会造成存储的信息丢失,需要重新开机后关机才能使用

2.网卡设置中没有唤醒选项?
可以尝试升级网卡驱动,部分非常非常古老的网卡可能没有这个功能,那也无能为力