返回介绍

PART Ⅰ : 容器云OPENSHIFT

PART Ⅱ:容器云 KUBERNETES

PART Ⅲ:持续集成与持续部署

PART Ⅴ:日志/监控/告警

PART Ⅵ:基础

PART Ⅶ:数据存储、处理

PART VIII:CODE

PART X:HACKINTOSH

PART XI:安全

主机的网络唤醒WOL服务

发布于 2024-06-08 21:16:46 字数 6715 浏览 0 评论 0 收藏 0

为了实现远程控制主机的开关机,现在大部分主板及网卡支持网络接收信号唤醒关机状态的主机的功能。

1、BIOS设置

  • 确保在 BIOS 中的电源管理设置下启用 WOL。

  • 确保在 BIOS 中禁用深度睡眠(不适用于所有系统)。此节能设置会关闭 NIC。

  • 确认系统电源关闭时链路指示灯保持亮起状态。如果没有链路指示灯,则 NIC 无法接收到用于唤醒系统的魔术包。

2、网卡配置允许接收魔幻数据包

注意无线网卡可能无法接收魔幻数据包,所以不支持网络唤醒

Windows

有的网卡需要更新最新驱动才能看到电源管理配置

Linux

# 查看网卡是否支持网络唤醒
ethtool eth0

    Supports Wake-on: g
    Wake-on: g
    # 如果显示g,表示wol功能已经开启

# 使用ethtool设置网卡接受什么形式的网络唤醒
ethtool -s eth0 wol g

a  -- wake on ARP
b  -- wake on broadcast messages
d  -- disable (wake on nothing)
f  -- wake on filter(s)
g  -- wake on MagicPacket(tm)
m  -- wake on multicast messages
p  -- wake on phy activity
s  -- enable SecureOn(tm) password for MagicPacket(tm)
u  -- wake on unicast messages
  • 确认发送魔术包的系统可以对客户端系统执行 ping 命令。
  • 确认魔术包中使用的 MAC 地址与客户端系统上用于以太网 1 的 MAC 地址相匹配。
  • 如果您在魔术包中指定了 IP 地址,则网络交换机可能无法将其正确广播到整个网络。您可能需要更改地址,以将该包广播到整个网络。例如,如果客户端地址为 192.168.1.12,则该包中使用的广播地址将是 192.168.1.255。

命令行

  • MAOS:brew install wakeonlan

  • Linux:apt/yum install -y wakeonlan

由于主机在关机状态,其他主机无法通过arp协议主动探测其IP地址与MAC地址的映射关系,所以先手动添加ARP记录,再使用唤醒工具发送魔幻数据包。

arp -s IP地址 MAC地址

wakeonlan命令有个zsh插件wakeonlan,创建~/.wakeonlan/Test文件,写入MAC地址 IP地址,即可使用wake Test快捷命令唤醒主机。或者手动使用以下命令

wakeonlan -i 192.168.1.9 -p 9 AA:BB:CC:DD:EE:FF

手机APP

  • IOS:RemoteBoot

Python脚本

#!/usr/bin/env python
import socket
import sys
if len(sys.argv) < 3:
    print "Usage: wakeonlan.py <ADR> <MAC>     (example: 192.168.1.255 00:11:22:33:44:55)"
    sys.exit(1)
mac = sys.argv[2]
data = ''.join(['FF' * 6, mac.replace(':', '') * 16])
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
sock.sendto(data.decode("hex"), (sys.argv[1], 9))
python wake.py 192.168.1.255 00:11:22:33:44:55

Synology NAS

使用IPKGui搜索下载wakelan,默认安装在/opt/bin/路径下

下图是使用Wireshark抓到的魔幻数据包

  1. https://apple.stackexchange.com/questions/95246/wake-other-computers-from-mac-osx

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文