YAMAGUCHI::weblog

土足で窓から失礼いたします。今日からあなたの息子になります。 当年とって92歳、下町の発明王、エジソンです。

Ubuntu 15.04のサーバをWake on LANできるようにした

はじめに

最近、とある用途のために眠ってたマシンを引っ張り出してきた。こいつがまたいい働きをしてるんだけど、いくらファンが静か目とはいえうるさい。ということでWoLの設定をして、いい感じに必要なときだけ起動できる下地を作っておこうと思った。

BIOSの設定

まずBIOSの設定だけど当然使ってるマザーボードによって設定は違う。俺のおんぼろマザボ785GM-P45) の設定だと Power Management Setup → Wake Up Event Setup → Resume By PCI-E Device で Enable の設定をするだけ。

OSの設定

Ubuntu 15.04の方での設定は ethtool で実施。apt-getしようと思ったらすでに入ってた。

% sudo ethtool -s p5p1 wol g
% sudo ethtool p5p1
Settings for p5p1:
    Supported ports: [ TP ]
    Supported link modes:   10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
                            1000baseT/Full
    Supported pause frame use: No
    Supports auto-negotiation: Yes
    Advertised link modes:  Not reported
    Advertised pause frame use: No
    Advertised auto-negotiation: Yes
    Speed: 1000Mb/s
    Duplex: Full
    Port: Twisted Pair
    PHYAD: 0
    Transceiver: internal
    Auto-negotiation: on
    MDI-X: Unknown
    Supports Wake-on: pg
    Wake-on: g
    Current message level: 0x0000003f (63)
                   drv probe link timer ifdown ifup

Wake-onが g になってるのを確認。このままだと再起動したら設定消えちゃうので、initスクリプトを新規作成。

% sudo vim /etc/init.d/wakeonlanconfig
#!/bin/bash
### BEGIN INIT INFO
# Provides:          wakeonlanconfig
# Required-Start:    $local_fs
# Required-Stop:     $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: wakeonlanconfig
### END INIT INFO
ethtool -s p5p1 wol g
exit
% sudo chmod +x /etc/init.d/wakeonlanconfig

これで再起動して起動後にちゃんとWake on LANが有効になってるか確認。

% sudo reboot
% sudo ethtool p5p1
Settings for p5p1:
...
    Wake-on: g
...

テストのために終了する。

% sudo shutdown -h now

MacWake on LANのクライアントの設定

MacPortsを使ってるんで探してみると便利なパッケージがあった。

% port info wol
wol @0.7.1 (net)
Variants:             universal

Description:          wol can send a Wake-On-Lan magic packet to a target ethernet address
Homepage:             http://wake-on-lan.sourceforge.net

Build Dependencies:   autoconf, automake, libtool
Platforms:            darwin, freebsd
License:              GPL-2+
Maintainers:          jeremyhu@macports.org, openmaintainer@macports.org

これをインストールして、試してみる。

% sudo port install wol
% wol <UbuntuマシンのMACアドレス>
Waking up XX:XX:XX:XX:XX:XX....

Ubuntuのマシンが起動した。便利。

Raspberry PiのWake on LANのクライアントの設定

Raspbianを使ってるんでaptで探してみると発見。

$ apt-cache show wakeonlan
Package: wakeonlan
Version: 0.41-11
Installed-Size: 56
Maintainer: Thijs Kinkhorst <thijs@debian.org>
Architecture: all
Depends: perl, perl-modules
Size: 11510
SHA256: d93c21fe7023fd98ec9461047a67f1099addae6a46278e2fb0aea97d55d73f60
SHA1: 988ce3c2f1c6d04f715da153b8a7bfc74dac895a
MD5sum: 6d4c609468083aeedc329a2df9b77079
Description: Sends 'magic packets' to wake-on-LAN enabled ethernet adapters
Homepage: http://gsd.di.uminho.pt/jpo/software/wakeonlan/
Description-md5: 1f4cb6ce85d821307a46719513c54d04
Tag: admin::boot, implemented-in::perl, interface::commandline,
 network::configuration, protocol::ethernet, protocol::udp,
 role::program, scope::utility, use::transmission
Section: net
Priority: optional
Filename: pool/main/w/wakeonlan/wakeonlan_0.41-11_all.deb

これをインストールして試してみる。

% sudo apt-get install wakeonlan
% wakeonlan <UbuntuマシンのMACアドレス>
Sending magic packet to 255.255.255.255:9 with XX:XX:XX:XX:XX:XX

起動した。

結論

便利なのでWoLをもっと気軽に使えるシステムを作りたい。