Тема: Обратный Wake On Lan
Доброго времени господа и возможно дамы . Пришёл к Вам со следующей проблемой. Пытаюсь наладить WOL (Wake On Lan) включение домашнего компа из интернета. В кратце - вся проблема в том, что GPON модем МГТС не хочет нормально:
а) передавать широковещательный UDP запросы из интернета во внутреннюю сеть.
б) создавать статическую запись в ARP таблице
Теперь по порядку. Являюсь абонентом МГТС и получаю их интернет через GPON модем ZTE F660. Возникла необходимость включать домашний компьютер из интернета. В интернете полно мануалов по настройке WOL, но большинство из них предполагают установку прошивки DD-WRT в роутер. Так как модем, выданный мне МГТС-ом, является их собственностью, то прошивать его я не имею право (да и не уверен, что в DD-WRT можно нормально настроить SIP телефонию), могу только делать нужные настройки - проброс портов, перенаправление и т.п. Первым делом я и начал делать проброс портов - добавил Port Forwarding с 7-ого и 9-ого портов внешней сети на такие же порты своего компа во внутренней сети 192.168.1.2.
Далее убедился, что в биосе включен режим WAKE ON LAN и выключил комп, отправил Magic Packet с мобильника и УРА ! Комп стартанул. Побаловавшись включениями и выключениями, я решил, что всё прекрасно. Однако на следующий день с работы комп не запустился, сколько я не отправлял пакеты. Приехав домой, я убедился, что комп действительно не реагирует. Полез с ноута в настройки модема. Там всё по прежнему. Запустил комп кнопкой и снова выключил. ЧУДО ! Опять Magic пакет работает. Полез читать интернет и выяснил, что сетевые девайсы (роутеры/модемы) периодически очищают ARP таблицу соответствия IP и MAC (если я правильно понял). В итоге через 5 минут после выключения компа, модем уже не знает кто такой IP 192.168.1.2 и ничего ему не транслирует. Полез я обратно в роутер. Увидел там возможность Enable MAC Mapping.
Добавил туда MAC своего ПК. Провёл эксперимент. Результат тот же - черезе 5 мин не включается. Стал рыть просторы интернета дальше. Нашёл несколько рекомендаций для других устройств:
1) В Port Forwarding добавить IP 192.168.1.255 (по идее это даст широковещательный запрос)
Попробовал, на ПК вообще не приходит запрос (мониторил утилитой EtherDetect) ну и просто по факту не включало это комп.
2) Попробовать в Port Forwarding добавить MAC ff:ff:ff:ff:ff:ff (по идее должен быть такой же эффект)
Попробовал, WEB интерфейс модема напрочь сопротивлялся добавлять такой MAC. Через отладку в CHROME отключил JavaScript проверку. Добавил такую запись. Бесполезно. Результат тот же что и в пункте 1. Пакет не приходит на ПК.
Порыв интернет ещё, обнаружил, что многие решают проблему через добавление статических ARP записей через линуксовые комманды IP и ARP - http://www.dd-wrt.com/wiki/index.php/WOL (если я правильно называю это коммандами. К сожалению с линуксом практически не имел опыта работы).
Для комманды "ARP":
arp -i br0 -s 192.168.1.254 FF:FF:FF:FF:FF:FF
Для комманды "IP" :
ip neigh change 192.168.1.254 lladdr ff:ff:ff:ff:ff:ff nud permanent dev br0
ip neigh add 192.168.1.254 lladdr ff:ff:ff:ff:ff:ff nud permanent dev br0
Лазая по модему, через telnet, я выяснил, что на моём девайсе "живёт" BusyBox и комманду IP он поддерживает. Добавил запись как в примерах. Действительно статика создалась, но её хватает только до первой перезагрузки модема. А так как модем иногда приходится перезагружать, бывает подвисает и не даёт инет, а иногда и сами МГТС-овцы его перезагружают, то такой вариант меня не устроил. Если у кого-то есть информация как сохранить внесённые изменения - сообщите пожалуйста.
Дабы не угробить модем, решил сделать иначе. Дома нашёлся Zyxel Keenetic GIGA II. Шикарный беспроводной роутер (не рекламирую, просто правда давно пользуюсь и очень доволен). Тем более, что 4-ёх портов модема мне не хватало для подключения всех домашних устройств + от модема в комнаты под полом растащено только по одному ETHERNET кабелю в каждую комнату, а в каждой комнате несколько устройств. На сайте Zyxel нашёл как настроить WOL для этого девайса - "http://zyxel.ru/kb/3517". Привлекло то, что запрос уходящий в сеть, широковещательный, судя по добавляемой ARP записи - "ip arp 192.168.1.254 ff:ff:ff:ff:ff:ff". Я предположил, что если транслирую магический пакет с модема на Keenetic, а тот в свою очередь разошлёт его в сети, то он таки дойдёт до ПК. Одна беда, ПК подключен не к кинетику, а к модему. А значит нужно как то из кинетика переслать магический пакет обратно во внутреннюю сеть модема. Я предположил, что если переведу кинетик в режим свича, то полученный им пакет вернётся во внутреннюю сеть. Так что я сделал следующее:
1) отключил на кинетике NAT и DHCP,
2) Задал ему статический IP 192.168.1.100, дабы видеть оба устройства в сети
3) Настроил Keenetic как в инструкции на сайте.
4) На модеме сделал Port Forwarding из внешней сети на 9-ый порт кинетика.
К сожалению и это не возымело долгожданного эффекта. Кинетик не разослал пакет по сети, судя по логам EtherDetect.
Вот собственно и вся моя история. Заранее благодарю тех, кто дочитал до конца и особенно благодарен тем, кто посоветует мне как поступить или расскажет - в чём моя ошибка.
В конце прилагаю схему своего текущего подключения: