プロジェクト

全般

プロフィール

WakeOnLan » 履歴 » バージョン 1

健二 酒井, 2019/08/07 11:15

1 1 健二 酒井
# WakeOnLan
2 1 健二 酒井
3 1 健二 酒井
## 概要
4 1 健二 酒井
5 1 健二 酒井
LANの別のノードに電源入れるための技術。管理者がクライアントメンテナンスしたりとかするとき使うらしい。
6 1 健二 酒井
特殊なイーサネットフレーム(マジックパケットとか言われる)を送ることで実現する(L2の技術)ため、ルータを超えるにはちょっと工夫が必要らしい。
7 1 健二 酒井
8 1 健二 酒井
起こされる側は機器が色々対応している必要がある、
9 1 健二 酒井
10 1 健二 酒井
- OSシャットダウンしても落ちてもNICの設定に電気を供給する電源
11 1 健二 酒井
- OSシャットダウンしてもLANポートの電源落とさないOS設定
12 1 健二 酒井
- UEFI(BIOS)での電源周りの設定
13 1 健二 酒井
- マジックパケットを受け入れるNICの設定
14 1 健二 酒井
15 1 健二 酒井
起こす側はパケット送信するだけなのでそのソフトがあれば良い。
16 1 健二 酒井
17 1 健二 酒井
## 目標
18 1 健二 酒井
19 1 健二 酒井
- Linuxからマジックパケットを送る
20 1 健二 酒井
- Windowsが受け取る
21 1 健二 酒井
- 同じスイッチに接続されている
22 1 健二 酒井
23 1 健二 酒井
## 設定色々
24 1 健二 酒井
25 1 健二 酒井
### 電源供給の確認
26 1 健二 酒井
27 1 健二 酒井
OSシャットダウン時にNICに電源が通っているかどうかは物理ポートを見ればいい。
28 1 健二 酒井
電源が通ってたらLEDランプが光ったりしているはず。
29 1 健二 酒井
家にあったものではPC側は光ったし、スイッチ側(CISCO Catalyst 3560)も光った。
30 1 健二 酒井
そして導通しない状態では光っていなかった。
31 1 健二 酒井
32 1 健二 酒井
### 送信側(Linux)設定
33 1 健二 酒井
34 1 健二 酒井
eather-wakeというコマンドを使う。これはnet-toolsパッケージに含まれているらしい。
35 1 健二 酒井
36 1 健二 酒井
```
37 1 健二 酒井
# yum install net-tools
38 1 健二 酒井
(中略)
39 1 健二 酒井
# eather-wake -i <マジックパケットを送るI/F名> <パケット受信させるNICのMACアドレス>
40 1 健二 酒井
41 1 健二 酒井
```
42 1 健二 酒井
こんな感じで使うようだ。
43 1 健二 酒井
44 1 健二 酒井
参考:  
45 1 健二 酒井
https://www.agilegroup.co.jp/technote/windows10-wol-setting.html
46 1 健二 酒井
47 1 健二 酒井
48 1 健二 酒井
### 受信側(Windows)設定
49 1 健二 酒井
50 1 健二 酒井
この記事を参考に作業:  
51 1 健二 酒井
https://www.atmarkit.co.jp/ait/articles/0602/25/news014.html
52 1 健二 酒井
53 1 健二 酒井
![設定画面](010_wake_on_lan_windows.png)
54 1 健二 酒井
55 1 健二 酒井
以下をEnableにした。
56 1 健二 酒井
57 1 健二 酒井
- Shutdown Wake Up
58 1 健二 酒井
- Wake on magic packet
59 1 健二 酒井
- Wake on pattern match
60 1 健二 酒井
61 1 健二 酒井
![設定画面](020_wake_on_lan_windows.png)
62 1 健二 酒井
63 1 健二 酒井
OSがNICの電源を落とさないようにしてあげる。
64 1 健二 酒井
65 1 健二 酒井
普通(オプションなし)でipconfigしたらMACアドレスが見えなかった。
66 1 健二 酒井
/allオプションをつけてあげる必要があるらしい。
67 1 健二 酒井
68 1 健二 酒井
```
69 1 健二 酒井
$ ipconfig /all
70 1 健二 酒井
```
71 1 健二 酒井
72 1 健二 酒井
後はアダプターの設定でも見られる。
73 1 健二 酒井
74 1 健二 酒井
### UEFI設定
75 1 健二 酒井
76 1 健二 酒井
色々見ていたらPCI、PICEから電源投入するっぽい項目があったのでそこを有効化。
77 1 健二 酒井
ノースブリッジ当たりの設定だったような気がする。
78 1 健二 酒井
確か以下があったのかな。
79 1 健二 酒井
80 1 健二 酒井
> Power On by PCI/PCIE Device
81 1 健二 酒井
82 1 健二 酒井
### WANから電源投入
83 1 健二 酒井
84 1 健二 酒井
これをやりたかった。
85 1 健二 酒井
外出中とかに「電源投入 -> リモートデスクトップツール起動して作業」とかをできるようにする。
86 1 健二 酒井
電気代が安くなる。
87 1 健二 酒井
88 1 健二 酒井
実現するために環境は以下のようになってる
89 1 健二 酒井
90 1 健二 酒井
- Windows 10 デスクトップ(電源投入対象)
91 1 健二 酒井
- Linux CentOS7(24時間通電、マジックパケット送信)
92 1 健二 酒井
- WebDavサーバ(WAN上にあり)
93 1 健二 酒井
94 1 健二 酒井
ユーザーは以下のような感じで起動を操作する。
95 1 健二 酒井
96 1 健二 酒井
- WebDavサーバに所定のファイルを置くとLinuxが取りに来てeather-wakeを実行
97 1 健二 酒井
98 1 健二 酒井
大体こんな感じのスクリプトになる。
99 1 健二 酒井
100 1 健二 酒井
```
101 1 健二 酒井
#!/usr/bin/bash
102 1 健二 酒井
103 1 健二 酒井
if [ -e /var/nfs/wol ] ; 
104 1 健二 酒井
then
105 1 健二 酒井
    rm -f /var/nfs/wol;
106 1 健二 酒井
fi
107 1 健二 酒井
        
108 1 健二 酒井
/usr/bin/curl -sf -o /var/nfs/wol  -u <ユーザー名>:<パスワード> https://dav.example.com/wol
109 1 健二 酒井
110 1 健二 酒井
if [ -e /var/nfs/wol ] ;
111 1 健二 酒井
then
112 1 健二 酒井
     echo "wake on lan";
113 1 健二 酒井
     sudo ether-wake -i enp1s0 <MACアドレス>
114 1 健二 酒井
fi
115 1 健二 酒井
```
116 1 健二 酒井
117 1 健二 酒井
後はこれを定期的に実行する。
118 1 健二 酒井
起動したい時はタブレットとか・スマホからWebDav内のディレクトリを操作してWolファイルを作ってあげる。
119 1 健二 酒井
起動した暁にはリモートデスクトップで接続できるようになる。
120 1 健二 酒井
121 1 健二 酒井
## 参考
122 1 健二 酒井
123 1 健二 酒井
- https://ja.wikipedia.org/wiki/Wake-on-LAN
124 1 健二 酒井
- https://qiita.com/gam0022/items/4c2a3fdc29ac4977b51c
125 1 健二 酒井
- https://www.atmarkit.co.jp/ait/articles/0602/25/news014.html
126 1 健二 酒井
- https://www.agilegroup.co.jp/technote/windows10-wol-setting.html