Я успешно реализовывал это у себя. Есть несколько условий.
1. Провайдер в динамический диапазон дает "белый", т.е. публичный ip-адрес.
2. Сетевая карта и материнка компьютера обе поддерживают включение по сигналу из сети. "Мама" должна уметь просыпаться, а также питать сетевую. Сетевая должна уметь распознать пакет и подать материнке сигнал.
3. Эта функция должна быть включена в bios.
4. Эта функция должна быть включена в операционной системе. Здесь я могу немного путаться в показаниях, но на win 10 при всех прочих равных, пока не включил в настройках сетевой карты в операционке, работать не хотело.
5. Домашний рутер поддерживает функцию "виртуального сервера" или иными словами проброс портов.
6. На рутере сконфигурирован проброс нужного порта либо на адрес целевой машины, либо на широковещательный ip адрес домашней сети (это тот, что заканчивается на .255, типа 10.0.0.255 или ему подобный)