Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
Wake-on-LANのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
Wake-on-LAN
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:ネットワーク]] [[en:Wake-on-LAN]] Wake-on-LAN (WOL) はネットワーク接続 (インターネットまたはイントラネット) からコンピュータの電源を入れる機能です。 == ハードウェア設定 == Wake-on-LAN を使うにはコンピュータのマザーボードや [[wikipedia:ja:ネットワークカード|NIC]] が Wake-on-LAN をサポートしている必要があります。無線カードは Wake-on-LAN をサポートしていないため、ルーターや他のコンピュータに物理的に (ケーブルで) 接続しなくてはなりません。 また、Wake-on-LAN 機能は PC の BIOS で有効にする必要があります。マザーボードのメーカーによって Wake-on-LAN 機能には様々な名前がつけられています。"PCI Power up" や "Allow PCI wake up event"、あるいは "Boot from PCI/PCI-E" というような単語を追って下さい。 一部のマザーボードには厄介なバグが存在し、特定の状況下でシャットダウンの代わりに再起動を引き起こすことがあります ([https://bbs.archlinux.org/viewtopic.php?id=173648 このスレッド] などを参照)。このバグが発現しないように、マシンで以下の設定を行うことを推奨します: # USB の設定に関する "xHCI" を全て無効化する。 # EuP 2013 がオプションとして存在する場合に無効化する。 # (任意) キーボードによる WOL を有効化する。 {{Note|上記の3番目の設定については賛否が分かれておりマザーボードによっても変わります。}} == ソフトウェア設定 == ハードウェアによっては、ネットワークドライバーによって WOL がデフォルトでオフになっていることがあります。WOL の状態を確認したり、設定を変更するために、{{Pkg|ethtool}} をインストールして下さい。 次のコマンドを使ってネットワークデバイスの状態を確認します: {{hc|<nowiki># ethtool net0 | grep Wake-on</nowiki>|<nowiki> Supports Wake-on: pumbag Wake-on: d </nowiki>}} 上記の値はどのアクティビティが動作するかを定義しています: {{ic|d}} (無効), {{ic|p}} (PHY アクティビティ), {{ic|u}} (ユニキャストアクティビティ), {{ic|m}} (マルチキャストアクティビティ), {{ic|b}} (ブロードキャストアクティビティ), {{ic|a}} (ARP アクティビティ), {{ic|g}} (マジックパケットアクティビティ)。WOL を使うには {{ic|g}} が必要です。 ドライバーの WOL 機能を有効化するには: # ethtool -s net0 wol g 上記のコマンドは再起動してしまうと効果を失ってしまうため、何らかの方法で自動的に実行されるようにする必要があります。以下のサブセクションに一般的な方法を載せています。 === netctl を使う === netctl を使う場合、以下の設定を netctl のプロファイルに追加することで永続化させることができます: {{hc|/etc/netctl/''profile''|2= ExecUpPost='/usr/bin/ethtool -s net0 wol g' }} === systemd.link を使う === systemd を使うことでリンクレベルの設定ができます。実際の設定は systemd に組み込まれている {{ic|net_setup_link}} udev によって行われます。ネットワークリンクファイルに {{ic|WakeOnLan}} オプションを追加してください: {{hc|/etc/systemd/network/50-wired.link|2= [Link] WakeOnLan=magic ... }} {{Note|上記の設定はリンクレベルにしか適用されません。[[NetworkManager]] や [[systemd-networkd]] などネットワーク層のデーモンとは無関係です。}} 詳しくは [[systemd-networkd#link ファイル]]や {{ic|man systemd.link}} を参照。 === systemd サービスを使う === 上述の {{ic|systemd.link}} オプションと同じ効果がありますが、スタンドアロンの systemd サービスを使っています。 {{hc|/etc/systemd/system/wol@.service|2= [Unit] Description=Wake-on-LAN for %i Requires=network.target After=network.target [Service] ExecStart=/usr/bin/ethtool -s %i wol g Type=oneshot [Install] WantedBy=multi-user.target }} もしくは {{AUR|wol-systemd}} パッケージをインストールして下さい。 その後 {{ic|wol@''interface''.service}} を[[起動]]することで新しいサービスを有効にして下さい。 === udev を使う === [[udev]] を使うことでデバイスが認識されたときにコマンドを実行することができます。以下のルールは {{ic|enp*}} にマッチする全ての[[ネットワークインターフェース]]で WOL を有効にします: {{hc|/etc/udev/rules.d/99-wol.rules|<nowiki> ACTION=="add", SUBSYSTEM=="net", NAME=="enp*", RUN+="/usr/bin/ethtool -s $name wol g" </nowiki>}} {{ic|$name}} はマッチしたデバイスの {{ic|NAME}} 変数の値に置き換えられます。 {{Note|設定ファイルの名前は重要です。systemd v197 から[[ネットワーク設定#デバイス名|固定的なデバイス名]]が導入されたことで、特定のネットワークインターフェイスにマッチするルールは {{ic|80-net-name-slot.rules}} よりもアルファベット順で後に来るようにして、デバイスに名前が割り当てられた後に適用する必要があります。}} {{Warning|[[udev]] はデバイスが認識されたときにマッチを行います。実行されるのは (ルートディレクトリに制御が移る前の) [[initramfs]] あるいはメイン環境のどちらかになります。順番は必ずしもいつも同じとは限りません。initramfs に必要な udev ルール ({{ic|/etc/udev/rules.d}}) と補助バイナリ ({{ic|/usr/bin/ethtool}}) が含まれていることを確認してください。}} === cron を使う === crontab で "@reboot" を使うことでコンピュータを起動するたびにコマンドを実行させることができます。まず、[[Cron#インストール|cron]] をインストールして、それから root ユーザーの [[cron#基本的なコマンド|crontab]] を編集して以下の行を記述して下さい: @reboot /usr/bin/ethtool -s [net-device] wol g === NetworkManager === バージョン 1.0.6 から NetworkManager には Wake-on-LAN の制御が追加されました [https://www.phoronix.com/scan.php?page=news_item&px=NetworkManager-WoL-Control]。nmcli を使ってマジックパケットで Wake-on-LAN を有効にできます。 まず、有線接続の名前を検索してください: {{hc|# nmcli con show|2= NAME UUID TYPE DEVICE wired1 612e300a-c047-4adb-91e2-12ea7bfe214e 802-3-ethernet enp0s25 }} Wake-on-LAN の現在の設定は以下のようにして確認できます: {{hc|# nmcli c show "wired1" <nowiki>|</nowiki> grep 802-3-ethernet.wake-on-lan|2= 802-3-ethernet.wake-on-lan: default 802-3-ethernet.wake-on-lan-password: -- }} マジックパケットを使って Wake-on-LAN を有効にするには: # nmcli c modify "wired1" 802-3-ethernet.wake-on-lan magic 設定したら再起動してください。設定を有効にするには再起動が2回必要な場合があります。 バージョン 1.2.0 から {{Pkg|nm-connection-editor}} を使ってグラフィカルに Wake-on-LAN の設定を変えることも可能です。 == 電源の投入 == マシンの WOL を実行するには、マシンの MAC アドレスと外部・内部 IP が必要です。 コンピュータの内部 IP アドレスと MAC アドレスを取得するには、次のコマンドを実行: {{hc|$ ip addr| 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp1s0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UP group default qlen 1000 link/ether '''48:05:ca:09:0e:6a''' brd ff:ff:ff:ff:ff:ff inet '''192.168.1.20/24''' brd 192.168.1.255 scope global br0 valid_lft forever preferred_lft forever inet6 fe80::6a05:caff:fe09:e6a/64 scope link valid_lft forever preferred_lft forever }} 上記の場合、内部 IP アドレスは {{ic|192.168.1.20}} で MAC アドレスは {{ic|48:05:ca:09:0e:6a}} です。 WOL を実行するためにマジックパケットを送信できるプログラムとして {{Pkg|wol}} が存在します。 === 同一の LAN 上にある場合 === ネットワークケーブルによって他のコンピュータと直接接続している場合、または LAN の中の通信がファイアウォールで遮断されていない場合、ポートのリダイレクトについて考える必要がないため簡単に Wake-on-LAN を使うことができます。 一番シンプルなケース、デフォルトのブロードキャストアドレス {{ic|255.255.255.255}} を使用: $ wol ''target_MAC_address'' 特定のサブネットやホストにだけマジックパケットを送信するには、{{ic|-i}} スイッチを使用: $ wol -i ''target_IP'' ''target_MAC_address'' {{Tip|If you intend to continue using Wake-on-LAN, it is recommended to assign a static IP address to the target computer.}} === インターネットを経由する === 送信元と送信先のコンピュータがルーターで区切られている場合、[[wikipedia:Port forwarding|ポートフォワーディング]]によって Wake-on-LAN を使うことができます。 2つの方法が考えられます: * 別のポートを送信先のマシンに転送するようにルーターを設定 (LAN 上で送信先のマシンに固定 IP アドレスを割り当てる必要があります)。 * 特定のポートを[[wikipedia:ja:ブロードキャストアドレス|ブロードキャストアドレス]]に転送するようにルーターを設定 (ルーターによっては設定できない場合があります)。 どちらの場合でも電源を投入するには以下のコマンドを実行します: $ wol -p ''forwarded_port'' -i ''router_IP'' ''target_MAC_address'' ==== ポートをブロードキャストアドレスに転送する ==== ほとんどのルーターはブロードキャストアドレスへの転送を設定できませんが、ルーターにシェルでアクセスすることができれば以下のコマンドで転送させることができます (192.168.1.0/24 と net0 はネットワークに合わせて適切なアドレス・インターフェイスに置き換えてください): $ ip neighbor add 192.168.1.254 lladdr FF:FF:FF:FF:FF:FF dev net0 上記のコマンドで UDP のポート 9 は 192.168.1.254 に転送されるようになります。Tomato ファームウェアの Linksys WRT54G や Verizon FIOS ActionTec ルーターで上手く行くことを確認済みです。 DD-WRT ルーターで設定する方法については [http://www.dd-wrt.com/wiki/index.php/WOL#Remote_Wake_On_LAN_via_Port_Forwarding こちらのチュートリアル] を見てください。 == その他 == === バッテリーが食われる問題 === ノートパソコンによってはシャットダウン後にバッテリーを消費する問題が存在します [https://ubuntuforums.org/archive/index.php/t-1729782.html]。WOL が有効になっているのが原因です。問題を解決するには、''ethtool'' を使って無効化して下さい: # ethtool -s net0 wol d === WOL サンプルスクリプト === 以下は複数のマシンで自動的に WOL を使うスクリプトです: {{bc|<nowiki> #!/bin/bash # definition of MAC addresses monster=01:12:46:82:ab:4f chronic=00:3a:53:21:bc:30 powerless=1a:32:41:02:29:92 ghost=01:1a:d2:56:6b:e6 while true; do echo "Which PC to wake?" echo "p) powerless" echo "m) monster" echo "c) chronic" echo "g) ghost" echo "b) wake monster, wait 40sec, then wake chronic" echo "q) quit and take no action" read input1 case $input1 in p) /usr/bin/wol $powerless ;; m) /usr/bin/wol $monster ;; c) /usr/bin/wol $chronic ;; g) # this line requires an IP address in /etc/hosts for ghost # and should use wol over the internet provided that port 9 # is forwarded to ghost on ghost's router /usr/bin/wol -v -h -p 9 ghost $ghost ;; b) /usr/bin/wol $monster echo "monster sent, now waiting for 40sec then waking chronic" sleep 40 /usr/bin/wol $chronic ;; Q|q) echo "later!" break ;; esac done echo "this is the (quit) end!! c-ya!" </nowiki>}} == トラブルシューティング == === Realtek === Realtek 8168 8169 8101 8111(C) が搭載された NIC (カード/オンボード) を使っている場合、起動時に NIC が無効になってしまって接続ランプが灯らないことがあります。[[ネットワーク設定#Realtek が使えない / WOL の問題]]を見て下さい。 MSI B85M-E45 マザーボード (BIOS バージョン V10.9) のオンボードチップセット Realtek 8111G では、コンピュータの電源が切れているときにネットワークスイッチのリンクライトは光っているのに Wake-on-LAN が機能しない場合、一度 {{Pkg|r8168}} カーネルモジュールを使ってシステムを起動してから、カーネルに組み込まれている r8169 に戻すことで問題が解決する場合があります。 === サスペンド/復帰 === [[TLP]] を使っている場合に、サスペンド・ハイバネート後にコンピュータが立ち上がらないときは {{ic|/etc/default/tlp}} で {{ic|WOL_DISABLE}} の値を {{ic|N}} に設定してください。 == 参照 == * [http://www.depicus.com/wake-on-lan/woli.aspx Wake-On-Lan]
このページで使用されているテンプレート:
テンプレート:AUR
(
ソースを閲覧
)
テンプレート:Bc
(
ソースを閲覧
)
テンプレート:Hc
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:Note
(
ソースを閲覧
)
テンプレート:Pkg
(
ソースを閲覧
)
テンプレート:Warning
(
ソースを閲覧
)
Wake-on-LAN
に戻る。
検索
検索
Wake-on-LANのソースを表示
話題を追加