虚拟化容器,大数据,DBA,中间件,监控。

如何 Linux 命令唤醒计算机 -局域网唤醒 ( WOL )

22 09月
作者:admin|分类:系统运维

如何 Linux 命令唤醒计算机 -局域网唤醒 ( WOL )


wake-on-LAN (WOL) 是一种以太网网络标准,允许通过网络消息打开服务器。您需要将“幻数据包”发送到启用 LAN 唤醒的以太网适配器和主板,以打开被叫系统。确保将网卡(eth0 或 eth1)与主板连接并启用 BIOS 的 WOL 功能。这是在RHEL / Fedora / CentOS / Debian / Ubuntu Linux下启用WOL的快速指南。

客户端软件

最好使用软件将 WoL(局域网唤醒)幻数据包发送到目标系统。你会发现所有现代操作系统的各种工具,包括MS-Windows 8 / 10,Apple macOS和OS X,所有现代Linux发行版,FreeBSD,OpenBSD,NetBSD和许多智能手机。

Linux Install etherwake Under Debian / Ubuntu Linux

我们使用etherwake命令在Linux操作系统下发送局域网唤醒“魔术数据包”。键入以下 apt-get command/apt 命令以在 Debian / Ubuntu Linux 桌面下安装相同的命令:

会话:
## apply all patches on Debian/Ubuntu ##
sudo aptitude install etherwake
## OR ##
sudo apt install etherwake

[sudo] password for vivek: 
Reading package lists... 
DoneBuilding dependency tree       
Reading state information... 
DoneE: Unable to locate package etherwak

[vivek@nixcraft-wks01 backups]$ sudo apt install etherwake

安装一个工具以在 RHEL/CentOS Linux 上发送 LAN 唤醒“魔术包”

还有Perl脚本来唤醒计算机。我们可以在Debian / Ubuntu Linux上安装如下:

sudo apt-get install wakeonlan

在 Fedora/RHEL/CentOS/Rocky 和 AlmaLinux 系统上键入以下 dnf command/yum 命令。例如:我的 RHEL 8 盒子的输出:

sudo yum install net-tools

Red Hat Linux 和朋友用户应该使用 net-tools 软件包,默认情况下可能会安装该软件包。命令名称为以太唤醒。

在 macOS Unix 上安装 wakeonlan

首先,在 macOS 上安装 Homebrew,然后运行:

有关详细信息,请参阅“macOS – 使用 LAN 唤醒 (WOL) 命令实用程序唤醒服务器”。
brew install wakeonlan

如何在 Linux 下发送 WOL 魔术包?

键入以下命令:



RHEL / Centos / Fedora Linux 用户,请尝试: 如果您的 MAC 地址是 xx:yy:zz:11:22:33,您将键入:





在哪里,
wakeonlan MAC-Address-Hereetherwake MAC-Address-Here
etherwake -D MAC-Address-Here
ether-wake MAC-Address-Herewakeonlan xx:yy:zz:11:22:33etherwake xx:yy:zz:11:22:33

  • xx:yy:zz:11:22:33 是远程服务器的 MAC 地址。您可以使用 ping 命令和 arp 命令的组合来获取 mac 地址:
    ping -c 4 server3 && arp -n

例子

以下是使用受限广播地址 (255.255.255.255) 的方法: 使用子网广播地址: 我们也可以使用另一个目标端口

我们可以使用文件作为硬件和 IP 地址的来源:





以下是包含硬件地址 (mac) 的文本文件的示例。让我们使用 more 命令或 cat 命令/less 命令来显示它: 示例配置文件:

wakeonlan mac
wakeonlan mac-1 mac-2
wakeonlan -i 192.168.1.255 macwakeonlan -i 192.168.1.255 -p PORT mac
wakeonlan -i 192.168.1.255 -p 4242 mac
wakeonlan -f homelab.wol
wakeonlan -f homelab.wol mac
more homelab.wol

如何验证远程 Linux 服务器是否支持局域网唤醒 (WOL)?

首先,重新启动远程服务器并转到 BIOS >电源管理>“局域网唤醒”。请打开 WoL。接下来,保存并关闭 BIOS 设置。在网络接口卡的 BIOS 硬件选项中激活局域网唤醒 (WoL) 后,还需要使用 ethtool 激活它。ethtool 命令将配置 eth0 以响应魔术数据包:

其中,
ethtool -s eth0 wol g

  1. -s eth0:您的网卡。随意将 eth0 替换为您的实际网络接口设备名称。

  2. wol g:使用魔术包设置 LAN 唤醒选项。

键入以下命令以查看 eth0 的 wol 的当前状态: 从我的 NAS 服务器输出:

ethtool eth0

如果您使用的是 RHEL / SL / Fedora / CentOS Linux,请编辑 /etc/sysconfig/network-scripts/ifcfg-eth0:添加/修改以下行:


vi /etc/sysconfig/network-scripts/ifcfg-eth0

ETHTOOL_OPTS="wol g"

ETHTOOL_OPTS="wol g autoneg off speed 100 duplex full "

保存并关闭文件。如果您使用的是 Debian / Ubuntu Linux,请编辑 /etc/network/interfaces:将以下内容附加到 eth0:

vi /etc/network/interfaces

auto eth0

iface eth0 inet static

address 192.168.1.1

netmask 255.255.255.0

gateway 192.168.1.254

        post-up /sbin/ethtool -s eth0 wol g

        post-down /sbin/ethtool -s eth0 wol g



如何在备份脚本中使用唤醒局域网


下面是一个示例 shell 脚本,它将从我的 rsnapshot Linux 备份服务器唤醒我的笔记本电脑(IP 192.168.2.25 和 mac 48:2a:e3:5c:16:bc):

#!/bin/bash

# load ssh keys from keychain 

. /home/backups/.keychain/backup-ssh-key

 

# Try to wake up sleeping laptop at night and odd time as per cronjob

/usr/bin/wakeonlan 48:2a:e3:5c:16:bc

 

# Sleep for 30 seconds to that laptop comes online

/bin/sleep 30

 

# Verify and start backup

/sbin/ping -q -c 30 192.168.2.25 >/dev/null

if [ "$1" != "" ]

then

     # start backup

     /usr/local/bin/rsnapshot "$1"

     # push everything offsite to aws-s3 buckets and exit this session due to slow upload links

     echo '/home/backups/push-mirror-to-aws-s3' | /usr/bin/at now + 5 minute

else

     echo "Usage: $0 [hourly|daily|montly|weekly|yearly]"

     exit 1

fi



总结

我解释了如何将“魔术数据包”设置为启用局域网唤醒 (WoL) 的以太网适配器和主板以打开 PC 或服务器。当您的系统处于挂起或深度睡眠模式时,魔术包也可以工作。例如,我的备份 FreeBSD 和 Linux 服务器可以在午夜唤醒我的笔记本电脑并备份文件。当然,您的 BIOS 必须支持 WoL 选项。否则,它将不起作用。使用 man 命令查看以下手册页:

另请参阅有关 WoL 的维基百科页面
man wakeonlan
man ethtool


浏览416 评论0
返回
目录
返回
首页
转载-Openeuler2203 Linux db2V10.5命令行安装超详细图文教程(附下载地址) weathermap应用接入local cse2方法