Имеется:
Роутер Xiaomi AC2350
Домашний недосервер на китайплате с зеоном с ОС ubuntu server
Белый статический ip
Проброшенный порт на роуетере
Что требуется:
Иметь возможность дистанционно включать ПК
Что сделано:
Материнка поддерживает WOL, я его настроил, в локальной сети magic packet отправляется спокойно (через броадкаст) и включает сервер
В чем проблема:
Проблема с отправкой пакета из WAN, спустя ~30 секунд после выключения ПК wol-пакет не включает сервер. (но отправка пакета broadcastom из той же сети все же включает ПК)
В сетях и прочем разбираюсь плохо, из того что я понял - роутер спустя некоторое время удаляет из ARP таблицы связку mac+ip и не знает, куда ему слать пакет
В чем нужна помощь
Я не нашел в панели управления своего роутера возможность внесения изменений в ARP таблицу. Можно ли как-то это обойти?
Или сделать как-то так, чтобы при отправки пакета на роутер по определенному порту, роутер броадкастом рассылал этот пакет всем устройствам в LAN
Ну или, может кто знает, еще варианты включения ПК дистанционно из другой сети...
пока 2 варианта придумал:
Умная розетка
Мини-плата с ethernet портом, которая будет броадкастом отправлять WOL пакет в LAN
Петровский, Ваши ссылки очень помогли, мега-спасибо!
Установил прошивку mod6 (пока решил не ставить OpenWRT)
Но не совсем понимаю, как мне имея доступ по ssh к роутеру через него послать broadcastом мэджик пакет
Петровский, Вы просто чудо, спасибо
OpenWRT прошил, сеть настроил (ну, как смог, выдал статичный ip на машину, пробросил порт)
Теперь просто посылая magic packet на свой ip из другой сети бужу машину (правда вопрос, долго ли это будет...)
Я правильно понимаю, что Luci - это gui, которое как-то (еще интересно, как) поверх обычного OpenWRT ставится? (хотя вроде она уже там есть, снизу есть ссылка на git LuCI openwrt-23.05 branch (git-23.236.53405-fc638c8))
Просто я на роутер через ssh поставил luci-app-wol, не совсем еще разобрался, как оно работает
UPD 1.
Нашел вкладку wake-on-lan в GUI, работает)))
UPD 2.
Подскажите пожалуйста, я сделал вход только по ssh-ключу (ключ с паролем)
Насколько это безопасно - использовать 1 пару ssh ключей для сервера и для роутера?
luci — это веб-интерфейс так называется. "Одна пара" ключей — безопасно, а вот Luci наружу — нет. У меня Wireguard до роутера, также можно ssh-тоннель кидать.
поиск wol+с+пробросом+порта дает множество вариантов.
там есть одно обстоятельство, которое предположу пропустил - привязка в dhcp-сервере ip-адреса получателя к mac-адресу.
при динамически выдаваемом ip видать через 30 секунд связка ip и mac стирается и роутер не может послать пакет.
Не пропустил…
К сожалению уже не дома, не могу показать скрин
Но каждому устройству через панель управления роутера выдал статический ip с привязкой к mac-адресу
Теоретически при настройке проброса можно отправлять широковещательный пакет, а не на конкретный адрес. В таком случае привязка к МАСу может и не понадобится. Когда-то экспериментировал с WOL, по моему такой вариант работал.
Но если без широковещательной рассылки, то надо еще дополнительно в ARP кэш на роутере добавить статическую запись MAC-IP для включаемого компа. Настроить привязку в DHCP сервере не достаточно.
res2001, вот да, и про проброс и ARP кеш написал в теме.
Но (по крайней мере, на заводской прошивке) роутер не дает возможности изменять ARP таблицу.
А вот как сделать так, чтобы запрос на определенный порт потом передавался на широковещательный адрес я не совсем понял…
Подскажете, что искать в настройках роутера/как вопрос в Гугле сформировать?)))
res2001, тож так думал, спробовал пробросить udp на широковещательный адрес в подручном keenetic omni 2 - не прокатило, выдает ошибку :)
т.е. как свезет.
Но (по крайней мере, на заводской прошивке) роутер не дает возможности изменять ARP таблицу.
Проверил сейчас на своем домашнем асусе.
1. Проброс порта с широковещательным адресом не работает. С адресом хоста - работает.
2. Добавить записи в ARP таблицу роутера можно через консоль роутера с помощью стандартной линуксовой команды arp (см. arp --help). Правда после перезагрузки роутера запись исчезает, но, по крайней мере, таймаут на нее уже не действует.
3. В консоль можно попасть включив ssh или телнет или в меню администрирование есть некое подобие консоли.
Сейчас на роутере прошивка заводская, возможно с openwrt было бы больше возможностей.
res2001, я уже поставил OpenWRT, там есть возможность посылать wol пакет как через консоль, так и через gui. Спасибо!
Мой китайский зверь не давал пробрасывать на broadcast, а чтобы получить доступ по ssh к нему - нужно было ставить китайскую прошивку))
А чтобы не сбрасывались ssh ключи нужно было ставить поверх китайской прошивку энтузиастов)
В итоге поверх этого добра поставил Owrt, работает)
Но что-то OpenWRT мне скорость порезал на 5ГГц, возможно откачусь назад и попробую собственноручно модифицировать ARP таблицу
Ну или, может кто знает, еще варианты включения ПК дистанционно из другой сети
Из области умных розеток, но специально для включения компов, если с WOL не попрёт - https://aliexpress.ru/item/1005002553679249.html
А на счёт WOL, как мне кажется, многое ещё от роутера зависит. Некоторые умеют слать пакет широковещательно, как например вот здесь описано Настройка Wake on LAN через интернет-центр серии K...
Теоретически вроде как и с конкретным адресом должно работать, но, как Ваш опыт показывает, не обязано.
Пару часов поиска в интернете навели на мысль, что после отключения ПК роутер удаляет связку IP/MAC из ARP таблицы и не может послать запрос на нужный мне локальный ip. Типо как он просто не знает куда именно перенаправлять запрос
(Что мне кажется странным, ведь сетевая карта ПК как бы «прослушивает» приходящие пакеты и ждет свой magic packet, но в сетях я ни-бум-бум, как это происходит понимаю слабо)