67 lines
1.9 KiB
Markdown
67 lines
1.9 KiB
Markdown
---
|
||
title: "Wake-on-LAN"
|
||
type: concept
|
||
tags: [网络, 远程管理, 电源管理]
|
||
---
|
||
|
||
# Wake-on-LAN
|
||
|
||
> Wake-on-LAN(WoL/WOL)是一种网络标准,允许管理员通过发送特定格式的"魔法包"(Magic Packet)远程唤醒处于关机或深度睡眠状态的计算机。
|
||
|
||
## 概述
|
||
|
||
Wake-on-LAN 通过网卡在系统关闭或深度睡眠时仍保持最低功耗监听,接收特定格式的广播包后触发开机。在 Home Server 场景中,配合 `pmset -a womp 1` 启用后,Mac Mini 关机后仍可通过网络被远程唤醒。
|
||
|
||
## 工作原理
|
||
|
||
1. **待机状态**:网卡在系统关机后仍保持低功耗,监听网络
|
||
2. **Magic Packet**:发送包含目标 MAC 地址的 UDP 数据包(端口 9)
|
||
3. **触发开机**:网卡收到 Magic Packet 后通过主板信号触发开机
|
||
|
||
## macOS 配置
|
||
|
||
```bash
|
||
# 启用 Wake-on-LAN
|
||
sudo pmset -a womp 1
|
||
|
||
# 验证状态
|
||
pmset -g | grep womp
|
||
```
|
||
|
||
## Linux 配置(ethtool)
|
||
|
||
```bash
|
||
# 查看网卡是否支持 WoL
|
||
ethtool eth0
|
||
|
||
# 启用 WoL(需 sudo)
|
||
ethtool -s eth0 wol g
|
||
|
||
# 持久化配置(写入 systemd 或 udev 规则)
|
||
```
|
||
|
||
## Home Server 场景
|
||
|
||
| 场景 | 说明 |
|
||
|------|------|
|
||
| [[Mac Mini M4]] | `pmset -a womp 1` 启用,通过 Magic Packet 从关机状态唤醒 |
|
||
| Ubuntu Server | `ethtool` 配置,配合 systemd 网络服务实现持久化 |
|
||
|
||
## Magic Packet 格式
|
||
|
||
Magic Packet 是 UDP 数据包(通常端口 7 或 9),包含:
|
||
- 6 字节的 `0xFF`
|
||
- 随后 16 次重复目标 MAC 地址
|
||
|
||
发送工具:`wakeonlan`(Linux/macOS)、`wol.exe`(Windows)、路由器管理界面
|
||
|
||
## 相关概念
|
||
|
||
- [[pmset]] — macOS WoL 启用方式
|
||
- [[系统睡眠管理]] — 睡眠模式与 WoL 的兼容性
|
||
- [[Headless 服务器]] — WoL 的典型应用场景
|
||
|
||
## 相关实体
|
||
|
||
- [[Mac Mini M4]] — WoL 的 macOS 配置对象
|