Lähetä herätyspaketti heti sammutuksen jälkeen ja kone palaa; sama komento seuraavana aamuna ei tee mitään. VPN-asetuksissa ei muuttunut mikään, ja portin uudelleenohjaus osoittaa yhä oikeaan osoitteeseen. Ero on ajassa: reitittimen naapuritaulu on unohtanut nukkuvan koneen, joten sillä ei ole MAC-osoitetta, jonka se voisi laittaa kehykseen. Juuri tuo vanheneminen, ei tunneli, selittää useimmat Wake-on-LAN-virheet VPN:n yli.

Ensimmäinen herätys toimii, seuraava ei

Reititin välittää kehyksen yksityiseen osoitteeseen etsimällä kohteen naapuritaulustaan. Kun kone käy, se vastaa ARP-kyselyyn, joten kartoitus pysyy tuoreena. Kun se sammuu, mikään ei vastaa, merkintä vanhenee muutamassa minuutissa ja myöhemmät kehykset tuohon osoitteeseen pudotetaan, vaikka IP ja portin uudelleenohjaus pysyvät voimassa.

Kuvio kertoo, mikä vika sinulla on. Herätys, joka ei koskaan toimi, viittaa toimitukseen: väärä portti, väärä kohde tai palomuuri, joka pudottaa paketin ennen kuin se saavuttaa LAN-verkon. Herätys, joka toimii kerran ja epäonnistuu sen jälkeen tunteja, viittaa naapurimerkintään. Herätys, joka toimii siihen asti kun DHCP-vuokraus vaihtuu, viittaa osoitteistukseen, jonka varaus korjaa.

Varmista, että osoite on vakaa, ennen kuin kosket ARP:hen. Jos nukkuva kone saa uuden osoitteen vuokrauksen päätyttyä, vanhaan osoitteeseen kiinnitetty naapurimerkintä on samaan aikaan pysyvä ja hyödytön. Aseta ensin DHCP-varaus, jotta osoite säilyy uudelleenkäynnistysten yli.

Mitä taikapaketti tarvitsee verkosta

Hyötykuorma on yksinkertainen: 102 tavua, jotka koostuvat kuudesta 0xFF-tavusta, jota seuraa kohde-MAC-osoite kuusitoista kertaa, yleensä lähetettynä UDP-porttiin 9. Tasaisessa LAN-verkossa se lähtee lähetyksenä, jokainen portti vastaanottaa sen ja sammutettu verkkokortti tunnistaa oman osoitteensa.

VPN:n yli paketti saapuu reitittimelle yksilähetyksenä yksityiseen osoitteeseen tai aliverkkoon suunnattuna lähetyksenä. Yksilähetyksen tapauksessa reitittimen on ratkaistava kohde MAC-osoitteeksi ennen kuin se voi laittaa kehyksen LAN-verkkoon, ja juuri tuo ratkaisu epäonnistuu, kun isäntä nukkuu.

Jotkin työkalut lähettävät porttiin 7 portin 9 sijaan, ja jotkin laitteet estävät suunnatun lähetyksen oletuksena. Ne ovat toimitusvirheitä, eivät ARP-virheitä, joten tarkista kohde ja portti ennen naapuritaulun muuttamista.

Kolme reittiä nukkuvalle isännälle

Kehyksen saa LAN-verkkoon kolmella käytännöllisellä tavalla, ja oikea valinta riippuu siitä, mitä hallitset.

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

Valitse apuisäntä, kun sellainen on, koska se lähettää linkillä eikä tarvitse reitittimeen poikkeusta. Valitse suunnattu lähetys, kun reititin jo sallii sen ja herätystyökalu tukee osoitetta. Valitse staattinen merkintä, kun kumpaakaan ei ole saatavilla ja voit ajaa komennon reitittimellä.

Nämä eivät sulje toisiaan pois. Pysyvä merkintä mahdollistaa myös sen, että yksilähetysreitti selviää unesta, mikä on hyödyllistä, kun VPN-asiakas voi lähettää vain tiettyyn osoitteeseen.

Tee naapurimerkinnästä pysyvä

Linux-kuorta käyttävässä reitittimessä yksi komento kiinnittää kartoituksen. Tässä olevat arvot kuuluvat esimerkki-LAN-verkkoon ja ne on korvattava omillasi:

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

Tila nud permanent pitää merkinnän ARP-aikakatkosten yli ja käyttää sitä välitykseen, kun kone on pois päältä. Toinen komento todistaa, että merkintä on olemassa, ja näyttää liitännän, johon se kuuluu, millä on merkitystä reitittimissä, joissa on erillinen vierassilta tai VLAN.

Tee siitä uudelleenkäynnistyksen kestävä millä tahansa laiteohjelmiston tarjoamalla koukulla: komentosarja hakemistossa /jffs/scripts Asuswrt-Merlinissä, systemd oneshot -yksikkö Linux-palvelimella yhdyskäytävänä, Neighbor= stanza systemd-networkdissa tai merkintä tiedostossa /etc/ethers, jonka paikalliset työkalut lukevat. Kuoreen kirjoitettu komento katoaa seuraavassa uudelleenkäynnistyksessä, ja se on yleisin syy siihen, miksi toimiva korjaus näyttää lakkaavan toimimasta.

Testaa ulkopuolelta ja tiedä, milloin se poistetaan

Laita kone nukkumaan ja odota vähintään kymmenen minuuttia, tarpeeksi kauan, jotta mikä tahansa dynaaminen merkintä vanhenee. Lähetä sitten herätyspyyntö VPN-asiakkaasta ja seuraa reitittimen molempia puolia:

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

Ensimmäinen kaappaus todistaa, että paketti saapui tunnelista; toinen todistaa, että reititin laittoi kehyksen LAN-verkkoon. Kelvollinen taikapaketti näkyy 102 tavuna, jossa MAC toistuu, joten tarkista sekä pituus että kohde. Jos kehys lähtee LAN-sillalta ja kone pysyy sammuksissa, jäljellä oleva ongelma on laitteessa: pikakäynnistys, syvä uni tai BIOS-asetus, joka katkaisee virran verkkokortilta.

Poista merkintä, kun verkkokortti vaihtuu, ja päivitä se, kun siirrät koneen toiseen osoitteeseen. Pysyvä kartoitus on tarkoituksellinen poikkeus, ja poikkeus, jota kukaan ei muista, on se tapa, jolla tulevaisuuden kannettava alkaa vastaanottaa kehyksiä, jotka oli tarkoitettu eläkkeelle jääneelle pöytäkoneelle.

Aiheeseen liittyvät artikkelit