WoLで遠隔からPCを起動し操作できるようにする
3 min read
新年あけましておめでとうございます!
無能です。
自宅鯖は一旦実家に置いていくことにしたことと、もはや高速インターネット契約しなくても実家の自宅鯖のネットワークを使えばあんまり困ること無い気がしてきたのでビルドやデスクトップ環境のリモート環境(VNCサーバー)として使っているRyzenマシンを使えるようにしておきたいです。
でも、常にマシンの起動Onにしておきたくもないので遠隔起動出来るようにしておきます。
リモート構成イメージ
メインの自宅サーバは常に起動させておくのでそのマシンから経由でRyzen機の起動とSSHすることを想定します。
では、その自宅サーバにはどうアクセスするの?ということになりますが、VultrのVPNサーバを経由してVPNネットワーク内から自宅サーバにアクセスし、Ryzen機の起動とSSHクライアントとして使います。
- Vultr - FreeBSD鯖から自宅鯖にSSH
- 自宅鯖からWoLでRyzen機を起動
- 自宅鯖からRyzen機にSSH
という流れです。
Ryzen機側の準備
Ryzen機でWake on Lanを有効化
Wake on Lanは標準ではオフにされているはずです。
特定のパケット、マジックパケットを受け取ったときに起動を行ってくれるものです。
Ryzen機のBIOS画面から有効化します。
Ryzen機で認識されたか確認
ethtool
を使いWake on Lanが有効化されているか確認します。
sudo pacman -S ethtool
sudo ethtool eth0
以下のような感じでWake-on: g
となっていればOKです。
alleycat:[hrtaro]:~$ sudo ethtool eth0
[sudo] hrtaro のパスワード:
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: Symmetric
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: Symmetric
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Speed: 1000Mb/s
Duplex: Full
Auto-negotiation: on
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
MDI-X: off (auto)
Supports Wake-on: pumbg
Wake-on: g
そして、このマシンのMACアドレスをメモしておきます。
ip link show eth0
これで一度シャットダウンします。なお、-h
オプションが無いとメンテナンスモードとなるシングルユーザモードとなってしまうので気をつけてください。
sudo shutdown -h now
これでRyzen機側は一度おしまいです。
クライアント側の準備
wake on lanを入れる
起動させるマシン側はDevuanですので、apt
で検索してみます。
$ sudo apt search wakeonlan
ソート中... 完了
全文検索... 完了
gwakeonlan/stable 0.8.5-1 all
Wake on LAN を用いてマシンを起こすツール
wakeonlan/stable 0.41-12.1 all
wake-on-LAN が有効なイーサネットアダプタに 'マジックパケット' を送信
ありました! インストール
sudo apt install wakeonlan
wakeonlanで起動
それでこれで起動出来ちゃいます。
$ wakeonlan {macAdress}
Sending magic packet to 255.255.255.255:* with {macAdress}
重い腰をあげてやったつもりが思った以上にすんなり行って我ながら感動です!
あとは、ping -c 5 起動したマシンのIP
なりでping
通り始めたらSSHしましょう。 それでは。
みなさま良い一年になりますように。