该文章书写匆忙, 尚未配图, 后续会补上且更新ubuntu下的配置方法
我有一台带有GTX1080显卡的计算机, 当时买的时候计划着搞机器学习, 后来呵呵...
有时候经常出差在外, 或者在图书馆, 需要用到你自己电脑里面的资料或者是需要比较好的硬件跑一跑程序, 怎么办? 电脑如果总开着就太费电了. 如果可以在外网控制它的开启与关闭就好了.
WAKE ON LAN (WOL)
局域网唤醒. 这是一个黑魔法. 电脑关机的状态下可以让网卡处于低功耗的待机状态. 如果外网发送了一个指定的数据包(Magic Package, 又叫魔法包)则可以唤醒计算机, 使之开机.
WINDOWS 10 开启 WOL
首先任意计算机要开启WOL, 都需要BOIS开启对它的支持, 开机的时候进入到bios的配置下, 修改高级设置中的从网卡启动
或者从PCIe/PCI启动
为开启状态.
而后, 进入到windows下, 管理
>>设备管理器
>> 网卡
>> 你的有线网卡
>> 属性
>> 电源管理
选项卡, 三个复选框统统打钩, 然后进入到高级
选项卡,wake on lan
/本地唤醒
都设置为开启, 网卡节能
设置为关闭.
同时, 需要禁用windows的快速启动功能, 因为windows[8-10]的快速启动会使得网卡在关机时候处于彻底关闭的状态, 控制面板
>>电源选项
>>修改关机按键的功能
>>修改不可用选项
, 启动模式从快速启动改为普通模式.
这个时候, 使用同一个网络下的其他计算机就可以通过任意wake on lan的客户端通过这台电脑的mac地址启动它了.
外网启动
我们到了外网之后, 肯定就不能和这台电脑在同一个局域网下, 怎么办?
笔者的计算机是通过一台普通的无线路由器拨号上网的(当然是用的网线连接), 想要在外网开机需要完成两个动作:
- 找到该路由器的公网ip
- 让路由器转发魔法包到主机.
所幸的是我用的路由器获取的ip直接就是公网ip而且路由器带有ddns
功能(动态域名服务, 即可以动态的把当前的ip绑定到固定的域名). 假定我的域名是abc.ddns.com, 那么我只需要把魔法包发送到该域名路由器即可收到该包.
至于第二点, 如何让魔法包转发到主机, 一般的无线路由器有端口转发的功能, 如果你的路由器的转发支持广播地址, 那么祝贺你, 你只需要绑定任意一个外网端口的地址到局域网广播地址的9号udp端口即可. 如果路由器不支持广播地址转发, 那么可以通过ip-mac绑定让路由通过ip-mac表的方式把接受到的指定端口的数据包转发到指定的mac地址, 比如我的主机的网卡的mac为AA:BB:CC:DD:EE:FF, 可以绑定的ip假设为192.168.1.2, 那么通过ip-mac绑定, 路由器接受到的所有ip为192.168.1.2的数据包都会转发到AA:BB:CC:DD:EE:FF的mac地址. 然后再配置外网指定端口如9000转发到内网192.168.1.2的9端口即可.这样直接wakeonlan abc.ddns.com的9000端口即可开启计算机.
teamviewer
其实有很多远程控制的工具, 但是teamviewer针对个人免费, 而且功能强大, 速度也比较快, 个人认为它应该使用了某种链路优化技术. 所以比较推荐使用它来进行远程控制.使用是建议登录账号, 并把计算机加入到账号下进行控制.
需要注意的是:
- 要把teamviewer设置为随系统启动
- 有些计算机显示器不打开的情况下连接teamviewer黑屏, 这个时候需要在机器上设置扩展屏幕.
在外网需要使用台式计算机的时候, 我一般会先打开teamviewer, 然后使用wake on lan, 这个时候就能看到teamviewer下你的计算机从offline状态变成online状态. 至此大功告成.
如有其他问题, 比如不支持ddns等问题, 请留言回复, 我会按照问题更新文章.