Испратете пакет за будење веднаш по исклучувањето и компјутерот се враќа; истата команда следното утро не прави ништо. Ништо во 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 што го прекинува напојувањето на мрежната картичка.

Отстранете го записот кога ќе се смени мрежната картичка и ажурирајте го кога ќе ја преместите машината на друга адреса. Постојаното мапирање е намерен исклучок, а исклучок што никој не го памети е начинот на кој иден преносен компјутер почнува да прима рамки наменети за пензиониран работен компјутер.

Поврзани статии