在Ubuntu中设置网络唤醒

网络唤醒,实际上就是远程开机了,首先需要主板支持wake on lan(大部分2000年后生产的主板都支持wol),此外机器需要连接到电源。

设置BIOS

在BIOS设置中打开wol功能,通常到制造商的网站上可以找到具体操作步骤,我用的是华硕主板,设置步骤在这里:BIOS中如何开启&关闭网络唤醒

在Ubuntu系统中进行设置

  1. 安装 ethtool
    sudo apt-get install ethtool
  2. 启动ethtool
    sudo ethtool -s eth0 wol g
    这里的eth0应该根据具体的网卡名称修改。可以使用ifconfig查看当前机器的网卡。
  3. 设置开机启动ethtool
    vim /etc/rc.local

    1
    2
    sleep 5
    ethtool -s eth0 wol g
  4. sudo vim/etc/init.d/halt
    设置NETDOWN = no

  5. 记录Ubuntu机器的Mac地址

远程启动

  • For Ubuntu:sudo apt-get install wakeonlan
  • For Mac: brew install wakeonlan
  • For Windows: Wake on Lan
    以Ubuntu和Mac为例,在命令行中执行wakeonlan xx:xx:xx:xx:xx:xx (输入Ubuntu机器对应的mac地址)就可以唤醒机器了。