通过SSH唤醒局域网


9

多年来,我已经为许多Linux设备成功使用了Wake-on-LAN。它运作良好。

但是,我在家也有Mac Mini。我注意到它进入睡眠状态,并且具有两个与我在睡眠状态下拥有的Linux机器不同的属性:

  1. 它仍然响应网络上的ping。

  2. 它将在进入ssh连接时自动唤醒,而无需局域网唤醒。

第2个属性最终非常好:它在不使用时会自动进入睡眠状态并节省电量,并且在我要插入它时不需要任何额外的考虑即可开机。它只是自动唤醒。在我注销后,十五分钟后它将再次进入睡眠状态。

我的假设是因为Apple控制着硬件和软件堆栈。因此,虽然业界范围内的Wake-on-LAN是基于魔术包(不需要操作系统交互)的网络设备功能,但是Mac的魔术“ LAN唤醒并且仍然可以响应ping”是因为它们实际上并没有使整个操作系统进入睡眠状态和/或使单独的网络堆栈仍在睡眠模式下运行。但这只是一个猜测。

我很好奇,是否有人在Linux机器上看到或实现过这种“ Wake-on-incoming-SSH”?还是仅在通过硬件控制软件的Apple设备上才能找到这种特殊的魔力,而其他设备却无法以其他方式做到这一点?


1
@Vlastimil由于该问题与Linux功能有关,以复制Apple在LAN上实现Wake的方式,因此我认为这不是题外话。
mjturner '18

@mjturner好,我撤回了近距离投票。
LinuxSecurityFreak

Answers:


5

ethtools将为您提供帮助,但是硬件必须满足您的需求。

# ethtool interface | grep Wake-on

# ethtool eth0 | grep Wake-on
    Supports Wake-on: pumbag
    Wake-on: d

根据ArchLinux的Wiki

唤醒值定义了哪些活动触发唤醒:

  • d(已禁用),
  • p(PHY活动),
  • u(单播活动),
  • m(多播活动),
  • b(广播活动),
  • 一个(ARP活动),和
  • g(魔术包活动)。

如果您需要某种“ Wake-on-incoming-SSH”,请尝试

# ethtool -s interface wol u

问候

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.