Пошаљите пакет за буђење одмах након искључивања и рачунар се враћа; иста команда следећег јутра не ради ништа. Ништа у VPN конфигурацији се није променило, а прослеђивање порта и даље показује на исправну адресу. Разлика је у времену: табела суседа рутера је заборавила успавану машину, па нема MAC адресу коју би ставила у оквир. Управо то истекивање, а не тунел, објашњава већину неуспеха Wake-on-LAN преко VPN-а.

Прво буђење ради, следеће не

Рутер прослеђује оквир на приватну адресу тако што тражи одредиште у својој табели суседа. Док машина ради, она одговара на ARP, па мапирање остаје свеже. Када се искључи, ништа не одговара, унос застари после неколико минута, и каснији оквири на ту адресу се одбацују иако IP и прослеђивање порта остају важећи.

Образац вам каже који неуспех имате. Буђење које никада не ради указује на доставу: погрешан порт, погрешно одредиште или заштитни зид који одбацује пакет пре него што стигне до LAN-а. Буђење које проради једном и затим сатима не ради указује на унос суседа. Буђење које ради до промене DHCP закупа указује на адресирање, које резервација исправља.

Потврдите да је адреса стабилна пре него што додирнете ARP. Ако успавана машина добије нову адресу по истеку закупа, причвршћен унос суседа за стару адресу биће истовремено трајан и бескористан. Прво подесите DHCP резервацију да адреса преживи поновна покретања.

Шта магичном пакету треба од мреже

Носиви терет је једноставан: 102 бајта од шест 0xFF бајтова, за којима шеснаест пута следи циљна MAC адреса, обично се шаљу на UDP порт 9. У равној LAN мрежи излази као емитовање, сваки порт га прима, а искључена мрежна картица препознаје сопствену адресу.

Преко VPN-а пакет стиже до рутера као једносмерно слање на приватну адресу или као емитовање усмерено на подмрежу. У случају једносмерног слања рутер мора да преведе одредиште у MAC адресу пре него што стави оквир у LAN, и управо тај превод не успева док домаћин спава.

Неки алати шаљу на порт 7 уместо на 9, а неки уређаји подразумевано блокирају усмерено емитовање. То су неуспеси доставе, не ARP-а, зато проверите одредиште и порт пре него што промените табелу суседа.

Три пута до успаваног домаћина

Имате три практична начина да ставите оквир у LAN, а исправан избор зависи од тога шта контролишете.

MethodWhat it needsWhere it breaks
Subnet-directed broadcastA wake tool that accepts a broadcast address and a router that forwards itBroadcast filtering, or a tool that only takes a MAC
Helper on the LANAn always-on host such as the VPN serverNo suitable host, or the host cannot reach the target VLAN
Permanent neighbour entryRouter shell access and the target MACNIC replacement or address change

Изаберите помоћни домаћин када постоји, јер емитује на вези и не захтева изузетак на рутеру. Изаберите усмерено емитовање када га рутер већ дозвољава и алат за буђење прихвата адресу. Изаберите статични унос када ниједно није доступно и можете да извршите команду на рутеру.

Ови избори се не искључују. Трајан унос такође омогућава да једносмерни пут преживи спавање, што је корисно када VPN клијент може да шаље само на одређену адресу.

Учините унос суседа трајним

На рутеру са Linux љуском једна команда причвршћује мапирање. Вредности овде припадају примеру LAN-а и морају се заменити вашим:

ip neigh replace 192.168.50.23 lladdr 3c:7c:3f:12:9a:4e dev br0 nud permanent
ip neigh show dev br0 | grep 192.168.50.23

Стање nud permanent одржава унос кроз ARP тајм-ауте и користи га за прослеђивање док је машина искључена. Друга команда доказује да унос постоји и показује интерфејс коме припада, што је важно на рутерима са одвојеним гостујућим мостом или VLAN-ом.

Учините га отпорним на поновно покретање кроз било коју куку коју фирмвер нуди: скрипта у /jffs/scripts на Asuswrt-Merlin, systemd oneshot јединица на Linux серверу као мрежни пролаз, Neighbor= stanza у systemd-networkd, или унос у /etc/ethers који локални алати читају. Команда откуцана у љусци нестаје при следећем покретању, и то је најчешћи разлог зашто исправка која ради изгледа као да је престала да ради.

Тестирајте споља и знајте када да је уклоните

Успавајте машину и сачекајте најмање десет минута, довољно да сваки динамички унос истекне. Затим пошаљите захтев за буђење са VPN клијента и посматрајте обе стране рутера:

tcpdump -ni tun0 udp port 9
tcpdump -ni br0 ether proto 0x0806 or udp port 9

Прво снимање доказује да је пакет дошао из тунела; друго да је рутер ставио оквир у LAN. Исправан магични пакет изгледа као 102 бајта са поновљеном MAC адресом, зато проверите дужину и одредиште. Ако оквир напусти LAN мост, а машина остане искључена, преостали проблем је у уређају: брзо покретање, дубок сан или подешавање у BIOS-у које прекида напајање мрежне картице.

Уклоните унос када се промени мрежна картица и ажурирајте га када преместите машину на другу адресу. Трајно мапирање је намерни изузетак, а изузетак којег се нико не сећа пут је којим будући лаптоп почиње да прима оквире намењене пензионисаном сточном рачунару.

Повезани чланци