Название говорит само за себя, но вот длинная версия:
Я пытаюсь настроить способ автоматического включения домашнего сервера с помощью WakeOnLan, когда клиент пытается получить к нему доступ. Моя идея состоит в том, что маршрутизатор (OpenWRT 14.07, Barrier Breaker) отслеживает любые попытки подключения к хосту, который я хочу разбудить, используя iptables
и в случае, если он регистрирует такое событие, он отправляет волшебный пакет для пробуждения хоста. После многих попыток и помощи по SF, я получил iptables для работы с мостовым устройством и, следовательно, с локальной сетью (см. Здесь).
К сожалению, теперь я столкнулся с проблемой, что, если хост выключен, для него не существует записи ARP, и, следовательно, локальные клиенты не будут отправлять пакеты, если они не могут разрешить IP (если я правильно понял проблему). Для внешних клиентов, получающих доступ из Интернета, это работает.
Если я правильно понимаю, решение должно заключаться в создании статической записи ARP, чтобы маршрутизатор отвечал на любые запросы, а затем клиенты отправляли свой пакет. После этого я попытался с помощью ip neigh add 192.168.1.20 lladdr 00:de:ad:be:ef:00 nud permanent dev br-lan
и запустив arp
Я вижу запись для сервера, но она все равно не работает.
Я подтвердил, что когда сервер включен или недавно был выключен (несколько минут до начала ), у клиентов посылать пакеты, которые записываемые iptables
Итак, вопросы:
1) Что я делаю не так?
2) Как мне добиться статической / постоянной записи ARP на?