環境
lsb_release -aでOSのバージョンが確認できました。
1 2 3 4 5 6 |
$ lsb_release -a No LSB modules are available. Distributor ID: Raspbian Description: Raspbian GNU/Linux 9.13 (stretch) Release: 9.13 Codename: stretch |
インストール可能なパッケージの検索
apt-cache searchでインストール可能なパッケージを検索してみます。
1 2 3 4 5 6 7 8 9 |
$ sudo apt-cache search wake on lan between - game about consciousness and isolation crossroads - open source load balance and fail over utility for TCP based services emacs-goodies-el - Miscellaneous add-ons for Emacs etherwake - tool to send magic Wake-on-LAN packets fusioninventory-for-glpi - FusionInventory Server embedded as a plugin into GLPI gwakeonlan - wakes up your machines using Wake on LAN shutdown-at-night - System to shut down clients at night, and wake them in the morning wakeonlan - Sends 'magic packets' to wake-on-LAN enabled ethernet adapters |
今回はetherwakeを使ってみようと思います。
ちなみにgwakeonlanはGUIで操作できるツールのようです。
今度試してみよう。
etherwakeのインストール
インストールを行います。
1 |
$ sudo apt install etherwake |
コマンドの場所を確認してみます。
1 2 |
$ which etherwake /usr/sbin/etherwake |
etherwakeの使い方
etherwake -uで確認することができます。
個人的にはman etherwakeよりも見やすいと感じます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
$ etherwake -u usage: etherwake [-i ] [-p aa:bb:cc:dd[:ee:ff]] 00:11:22:33:44:55 This program generates and transmits a Wake-On-LAN (WOL) "Magic Packet", used for restarting machines that have been soft-powered-down (ACPI D3-warm state). It currently generates the standard AMD Magic Packet format, with an optional password appended. The single required parameter is the Ethernet MAC (station) address of the machine to wake or a host ID with known NSS 'ethers' entry. The MAC address may be found with the 'arp' program while the target machine is awake. Options: -b Send wake-up packet to the broadcast address. -D Increase the debug level. -i ifname Use interface IFNAME instead of the default 'eth0'. -p Append the four or six byte password PW to the packet. A password is only required for a few adapter types. The password may be specified in ethernet hex format or dotted decimal (Internet address) -p 00:22:44:66:88:aa -p 192.168.1.1 |
オプションがいくつか用意されていますが、単純なWake on LANだけなら以下のように実行すればOKです。
1 |
$ sudo etherwake [ターゲットMACアドレス] |
WOLしてみる
UbuntuをインストールしたAcer Aspire XC603に対して、マジックパケットを送信してみます。
1 2 |
$ sudo etherwake f8:0f:41:XX:XX:XX コマンドを実行したらあっさりと起動しました。 |
WOL直前と直後のping結果も記載します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# WOL直前の結果<br>$ ping -c4 [宛先IPアドレス] PING [宛先IPアドレス] ([宛先IPアドレス]) 56(84) bytes of data. From [送信元IPアドレス] icmp_seq=1 Destination Host Unreachable From [送信元IPアドレス] icmp_seq=2 Destination Host Unreachable From [送信元IPアドレス] icmp_seq=3 Destination Host Unreachable From [送信元IPアドレス] icmp_seq=4 Destination Host Unreachable --- [宛先IPアドレス] ping statistics --- 4 packets transmitted, 0 received, +4 errors, 100% packet loss, time 3137ms pipe 4 # WOL直後の結果 $ ping -c4 [宛先IPアドレス] PING [宛先IPアドレス] ([宛先IPアドレス]) 56(84) bytes of data. 64 bytes from [宛先IPアドレス]: icmp_seq=1 ttl=64 time=825 ms 64 bytes from [宛先IPアドレス]: icmp_seq=2 ttl=64 time=0.637 ms 64 bytes from [宛先IPアドレス]: icmp_seq=3 ttl=64 time=0.606 ms 64 bytes from [宛先IPアドレス]: icmp_seq=4 ttl=64 time=0.668 ms --- [宛先IPアドレス] ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3003ms rtt min/avg/max/mdev = 0.606/206.942/825.857/357.330 ms |
ちなみに、etherwakeはroot権限で実行しないと怒られます。
1 2 |
$ etherwake f8:0f:41:XX:XX:XX etherwake: This program must be run as root. |
MACアドレスが分からないとき
ターゲットPCのMACアドレスが分からないときの確認方法を書きます。
他にも方法はあると思いますが、一例です。
ターゲットPCにPingする
ターゲットとなるPCに対してpingします。
1 2 3 4 5 6 |
ping -c4 [IPアドレス] PING [IPアドレス] ([IPアドレス]) 56(84) bytes of data. 64 bytes from [IPアドレス]: icmp_seq=1 ttl=64 time=2.05 ms 64 bytes from [IPアドレス]: icmp_seq=2 ttl=64 time=0.954 ms 64 bytes from [IPアドレス]: icmp_seq=3 ttl=64 time=0.939 ms 64 bytes from [IPアドレス]: icmp_seq=4 ttl=64 time=0.930 ms |
arpテーブルを確認します。
1 2 3 |
$ LANG=C arp | grep [IPアドレス] Address HWtype HWaddress Flags Mask Iface [IPアドレス] ether f8:0f:41:XX:XX:XX C eth0 |
これで、ターゲットPCのMACアドレスが分かります。
最後に
私の環境ではルーターのRT-AX56Uの機能にWake on LANがあるので、わざわざRaspberry Piからマジックパケットを送出する必要はありません。
しかし、RT-AX56Uのようなルーターがない環境であればRaspberry Piのような省電力PCにWake on LAN機能を持たせることは非常に有効だと思います。
スクリプトを作ればわざわざ人間が操作しなくてもWake on LANができるようにもなります。
宅外からWake on LANできるようになると素敵ですね。
今度やってみようかな。
Raspberry Pi はじめてガイド―[Raspberry Pi 4完全対応]
これ1冊でできる! ラズベリー・パイ 超入門 改訂第6版 Raspberry Pi 1+/2/3/4/Zero/Zero W対応
TRASKIT Raspberry Pi 4 Model B Starter Kit/ラズベリーパイ4B(4GB RAM)技適マーク付/MicroSDHCカード32GB NOOBSプリインストール/簡単に取り付けるケース/5.1V/3A Type-C スイッチ付電源/2つのMicroHDMI-to-HDMIケーブルライン/3つヒートシンクと2つの静音冷却ファン/カードリーダ /GPIOリファレンスカード/日本語取扱説明書/2年保証付
コメント