У меня есть небольшая домашняя сеть с маршрутизатором, способным работать с OpenWRT, есть ли какая-либо утилита или правило брандмауэра, которое можно использовать для пробуждения по локальной сети по запросу. Что я думаю - если я хочу получить доступ к своему медиацентру (используя, например, SSH или HTTP), и он приостановлен, можно ли перехватить ICMP-пакет (говоря, что компьютер не подключен) и отправить WOL-пакет для пробуждения компьютера и повторно отправить запрос SSH или HTTP? Спасибо
2 ответа
Я тоже хочу сделать что-то подобное, и до сих пор Apple "Sleep Proxy" был единственным вариантом, который я мог найти. "Sleep Proxy" встроен в Bonjour. Была некоторая попытка поддержать это в OpenWRT, но я не уверен, как далеко это зашло.
Вот несколько ссылок:
http://en.wikipedia.org/wiki/Sleep_Proxy_Service
http://support.apple.com/kb/HT3774
Microsoft также сорвал это:
http://www.networkworld.com/news/2010/061010-microsoft-sleep-proxy.html
Но идея iptables QUEUE выглядит довольно мило. Если вы поэкспериментируете с этим, не углубляясь в C, здесь есть несколько симпатичных привязок Python:
http://www.swende.se/index.php/2010/01/python-packet-play/
Цель iptables QUEUE
позволяет обрабатывать пакеты программой пользовательского пространства, написанной с использованием libnetfilter_queue. Указанная программа может проанализировать пакет и затем запустить ethtool
для отправки пакета WoL в соответствующую систему.