Linux
通過 SSH 喚醒 LAN
多年來,我一直在為我的許多 Linux 設備成功使用 Wake-on-LAN。它工作得很好。
不過,我家裡也有一台 Mac Mini。我注意到它進入睡眠狀態並且有兩個不同的屬性,與我在睡眠時使用的任何 Linux 機器不同:
- 它仍然響應網路上的 ping。
- 它會在傳入
ssh
連接時自動喚醒,無需網路喚醒。這個第二個屬性最終非常好:它會在不使用時自動進入睡眠狀態並節省電量,並且當我想要 ssh 進入它時不需要任何額外的想法來打開電源。它只是自動喚醒。在我註銷後,15 分鐘後它會再次進入睡眠狀態。
我的假設是這是因為 Apple 控制著硬體和軟體堆棧。因此,雖然行業範圍內的 LAN 喚醒是一種基於魔術包(不需要作業系統互動)的網路設備功能,但 Mac 的魔術“LAN 喚醒並且仍然響應 ping”是因為它們實際上並沒有讓整個作業系統進入睡眠狀態和/或讓一個單獨的網路堆棧仍在睡眠模式下執行。但這只是一個猜測。
我很好奇是否有人曾經在 Linux 機器上看到或實現過這種“Wake-on-incoming-SSH”?或者這種特殊的魔法只能在蘋果設備上找到,他們通過軟體控制硬體,並且可以以其他行業無法做到的方式做到這一點?
ethtools 會幫助你,但硬體必須滿足你的需求。
# ethtool interface | grep Wake-on # ethtool eth0 | grep Wake-on Supports Wake-on: pumbag Wake-on: d
喚醒值定義什麼活動觸發喚醒:
d
(已禁用)p
(物理層活動)u
(單播活動)m
(組播活動)b
(廣播活動)a
(ARP 活動)g
(魔術包活動)如果您需要某種“Wake-on-incoming-SSH”,請嘗試
# ethtool -s interface wol u