Решил один из компьютеров отправлять на ночь в спячку ака Stand by. А потом пришла еще одна хорошая идея. Когда-то давно настраивал BIOS чтобы компьютер просыпался только от кнопки питания т.к. пару раз ночью он просыпался от мышки или клавиатуры. Теперь, чтобы включить комп, нужно идти на балкон и тыкать кнопку питания. А мне, конечно же, лень 🙂
WOL – Wake-on-LAN
Включил на сетевой карте wake-on-LAN и поставил флажок “будить только административным пакетом”, иначе он просыпался от сетевой активности, что мне не нужно. А будить решил с гостевой FreeBSD, которая на второй машине крутится в VMWare. Для гостевой машины я настроил “bridged” доступ в сеть, на роутере присвоил личный IP-адрес и она “напрямую” может видеть адрес первого компа по внутренней сети.
Софтину выбрал wol:
~> cd /usr/ports/net/wol ~> make install clean ~> rehash ~> cd
Усыпил 🙂 первый компьютер и… понял, что нужно посмотреть какой там MAC-адрес (командой arp –a). Разбудил, попинговал с гостевой машины, усыпил снова, отправил магический пакет:
~> wol --verbose 00:11:11:11:11:11
…и обломался. Машинка не проснулась =/ Посмотрел man, попробовал указать IP-адрес – и чудо произошло!
~> wol --ipaddr=192.168.7.100 --verbose 00:11:11:11:11:11
Однако позже выяснился один момент, если в таблице маршрутизации нет адреса первого компьютера, разбудить его нельзя. Добавил:
~> arp -s 192.168.7.100 00:11:11:11:11:11 ~> netstat -rn | grep 192.168.7.100 192.168.7.100 00:11:11:11:11:11 UHLS 1 576 em0
Пробую снова:
~> wol --ipaddr=192.168.7.100 --verbose 00:11:11:11:11:11 Waking up 00:11:11:11:11:11 with 192.168.7.100:40000...
Работает, комп проснулся.