Гаразд, в мережі є не так багато хорошої інформації, тому ось моя мудрість:
Як працює функція Wake-on-LAN
Отже, вся суть WoL - ввімкнути комп'ютер віддалено за допомогою мережі. Очевидно, якщо ваш комп’ютер був фактично повністю вимкнений, то це не може працювати, тож коли сучасні комп’ютери вимкнені "вимкнено", Ethernet-карта фактично залишається увімкнутим (сподіваємось), що має низьку потужність, слухаючи пакети WoL.
Коли WoL був створений вперше, ви можете встановити свою мережеву карту, щоб сигналізувати BIOS, щоб увімкнути ваш комп'ютер, коли була мережа. Тобто, кожен раз, коли мережева карта бачить ефірний кадр (або, можливо, IP-пакет; я не впевнений на 100%). Здається, це розумно, але насправді це марно, оскільки періодично випадкові пакети, що пролітають по мережі, розбудять ваш комп’ютер без причини. Щоб виправити це, хтось винайшов MagicPacket ™! Встановивши вашу карту в режим MagicPacket ™, комп'ютер розбудить комп'ютер лише тоді, коли він побачить дані, що містять MAC-адресу вашої мережевої картки, повторену 6 разів (наскільки я пам’ятаю). Тепер випадкові пакети не дратують ваш комп'ютер. Це також причина, що вам потрібно ввести свою MAC-адресу в інструменти WoL; щоб він міг сконструювати MagicPacket ™.
Можливо, ви помітили невеликий недолік у MagicPacket ™: Усі в мережі можуть побачити вам MAC-адресу, тому, якщо ви намагаєтесь використовувати WoL у ненадійній локальній мережі (наприклад, університеті), дратівливі люди можуть продовжувати розбуджувати ваш комп’ютер. Не ethtool
цитуйте мене на цьому, але дивлячись на сторінку чоловіка, схоже, хтось "винайшов" SecureOn ™ для MagicPacket ™. Це, очевидно, дозволяє встановити MAC-адресу, яку слухає ваша карта, фактично перетворюючи її в приватний пароль.
Як пакет потрапляє на ваш комп'ютер
Тепер ось складна частина. Ethernet був розроблений для передачі даних між увімкненими комп'ютерами. Це не добре грає з WoL, який хоче надсилати пакети на вимкнені комп'ютери.
Перша перешкода полягає в тому, що на комп’ютерах насправді немає IP-адрес. Тому ви не можете надіслати пакет WoL на IP-адресу (інструменти, які дозволяють ввести вашу IP-адресу, дійсно запитують IP-адресу маршрутизатора, на якій він включений). Натомість пакети WoL транслюються на кожен підключений Ethernet-пристрій. Ви можете - в хороших маршрутизаторах - вручну пов'язувати IP-адресу з MAC-адресою, але більшість маршрутизаторів цього не дозволяє, і вони скидатимуть IP-пакети, які надсилаються на комп’ютери.
Трансляція пакетів працює, але є проблема ...
Чому це не дуже добре
Проблема полягає в тому, що більшість маршрутизаторів не дозволяють пересилати пакети на широкомовні адреси. В ідеалі те, що ви хочете в своєму типовому "Я на роботі, і я хочу речі з домашнього комп'ютера", налаштування WoL - це переслати з зовнішнього порту 9 (наприклад, див. Нижче) до 255.255.255.255:9. Маршрутизатори просто не зроблять цього. Я насправді дізнався, як це зробити для маршрутизатора ADSL speedtouch, але це стосується конфігураційних файлів вручну.
Напевно, єдиний реальний спосіб, як ви змусите це працювати, встановивши пристойну мікропрограму маршрутизатора сторонніх виробників, наприклад, томат або DD-WRT. У них інструменти WoL вбудовані у веб-інтерфейс. Це не зовсім так охайно, оскільки тоді ви не можете робити цікавих речей, як-от використання телефону, щоб автоматично розбудити комп’ютер, повертаючись додому. Але все ж. Я насправді не намагався, але ви, можливо, зможете змусити цих прошивок зробити перегляд вперед. Хто знає.
Порт 7 і Порт 9
Багато посібників кажуть, що ви повинні використовувати порт 7 або ви повинні використовувати порт 9, і ви думаєте «чому?», «Який?». Відповідь - це не має значення. Ви можете використовувати будь-який порт; 80, 666, це не має значення. Мережева карта на вашому комп'ютері не має значення, до якого порту надсилається MagicPacket ™, доки він не отримує, і в ньому повторюється MAC-адреса. І якщо вам вдасться змусити переадресацію WoL працювати, ви можете також використовувати будь-який порт там (а потім помістити відповідний порт у свій інструмент WoL).
Причина 7 та 9 рекомендується в тому, що вони були портами, якими користувалися кілька абсолютно непотрібних серверів, які ніхто не використовував з 80-х років. Так само, як порт 80 - порт для Інтернету, порт 7 - порт для сервера "ехо", який повторює все назад відправника, і є масовою вразливістю безпеки, а порт 9 - порт для "скидання" сервера, який просто відкидає всі отримані дані і ніколи нічого не надсилає назад. Вони зараз абсолютно марні, але, мабуть, можливо, вони були хорошими для тестування в мережі, коли Інтернет був новим (70-ті роки).
Виправлення неполадок - Мій комп'ютер не вмикається!
Перше, що потрібно перевірити, це те, що ви отримуєте MagicPacket ™, коли ваш комп'ютер увімкнено . Для цього завантажте wireshark (google it), скажіть йому прослуховувати порт 9 (або 7 чи будь-який інший) та надішліть пакет WoL. Ви повинні це побачити. Якщо цього не зробити, проблему буде відносно легко виправити або принаймні поставити діагноз.
Якщо ви отримаєте пакет, але ваш комп'ютер все ще не буде включатися, він стає трохи складніше.
Спочатку перейдіть до BIOS / UEFI та переконайтесь, що включена опція "Дозволити PCI пробуджувати комп'ютер" чи подібне. Також увімкніть опцію PCIe. По-друге, за допомогою Linux ethtool
для включення WoL для вашої мережевої карти. Щось подібне ethtool -s eth0 wol bgm
. У вікнах ви знайдете опцію "Дозволити цьому пристрою розбудити комп'ютер", і, можливо, десь є варіанти MagicPacket ™. Я не знаю, що зараз не використовую Windows.
Тепер, сподіваємось, це спрацює. Але, можливо, це працює лише кілька хвилин (або навіть секунд) після того, як ви вимкнете комп’ютер! О ні! Це проблема з маршрутизатором. Я рекомендую вам придбати інший. Серйозно, Tomato-USB є приголомшливим.