ひゃまだのblog

ひゃまだ(id:hymd3a)の趣味のブログ

Debian PCをWake On LANで起動できるようにしたよ

(2022-01-31 初稿 - 2022-11-01 追記)

はじめに

Chrome Remote Desktopを利用すると、多くの場合ネットワークの設定を変更せずに職場や自宅のネットワークにアクセスできるようになる(職場のPCにリモート接続する場合は、許可が必要な場合がある)。

少なくとも、職場のPCから自宅のPCにアクセスできれば、ファイルの忘れ物等は防ぐことができて便利だ。

ここでは、Wake On LANで起動する側のPCを「起動PC」、起動を命令するPCを「命令PC」と呼ぶことにする。

Wake On LANの設定

以下のサイトを参照し設定した。多謝 m(__)m

設定したPCの環境(起動PC、命令PCともに)

Debian  Bullseye
Linux 5.10.0-11-amd64 #1 SMP Debian 5.10.92-1 (2022-01-18) x86_64 GNU/Linux

現状の確認

まずは、起動PC(Wake On LANされる側PC)の現在の状態を確認する。

上記のサイトに従って、ethtoolをインストール。

sudo apt install ethtool

自身のネットワークを確認する。

less /etc/network/interfaces
iface enp12s0 inet dhcp

sudo ethtool enp12s0
  Wake-on: d (dの場合は WakOnLAN不可)

Wake On LANを可にする方法は、以下のドキュメントのとおりいろいろあるが、筆者はinterfacesを変更する方法にした。

cat /etc/netword/interfaces
(省略)    
auto enp12s0
iface enp12s0 inet dhcp
        ethernet-wol g

設定したら、再起動する。

Mac Addressの調査

最近のDebianは、ifconfigではなく、ip addressでネットワークの状態を調べるので、以下のコマンドでMac Addressを調べる。

$ ip a
(省略)
2: enp12s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet 169.254.9.128/16 brd 169.254.255.255 scope link enp12s0:avahi
       valid_lft forever preferred_lft forever
(省略)

上の出力の「link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff」 の行のether直後の6つの16進数がMac Address。

これをメモしておく。

(2022-11-01 追記)

職場のASRock Z170 Extreme4で実行した結果、以下のようにBIOSを変更しないとWakeOnLANできなかったので追記。

起動時にF2またはDELキーでBIOSメニューを起動

Adbanced  -> ACPI Configureation -> PCIE Devices Power On: Enabled
(これにより、電源OFF時にもEthernetケーブルが接続されたHUBのランプが点く)
Boot -> Boot From Onboard LAN: Enabled

(追記終了)

WakeOnLANを命令する側PCの設定

$ sudo apt install wakeonlan
$ wakeonlan MAC Address

毎回MAC Addressを入力するのも面倒ですので、以下のBashスクリプトを作成。

なんと作成の日付は、2004年(・o・)。かなり以前に作ったスクリプト

ここでは、kawaとnijiというhostnameのPCを起動できるようにした。

$cat ~/bin/wol
#!/bin/sh
# wol ver0.01 2004/02/03-
# Written by H.Yamada

case $1 in
    kawa | KAWA | Kawa ) echo "Wakeup kawa"
	 wakeonlan -i 192.168.xxx.255 xx:xx:xx:xx:xx:xx ;;
    niji | NIJI | Niji ) echo "Wakeup niji"
	 wakeonlan -i 192.168.xxx.255 xx:xx:xx:xx:xx:xx ;;
    * ) echo "error:  $1 is unknown machine"
	echo "Usage: wol machinename"
	exit 1 ;;
esac
exit 0

もちろん、MAC AddressやPCの増減は、お手元の環境に合わせてね。

関連ページ