Te conectezi, routerul răspunde, iar desktopul rămâne întunecat. Tunelul este în regulă; pachetul care ar fi trezit mașina nu a ajuns niciodată la segmentul unde mașina ascultă. Dacă parcurgi drumul înapoi de la router, vezi unde moare.

Trei dispozitive au trei sarcini. Amestecarea lor este motivul obișnuit pentru care o încercare de trezire se învârte la nesfârșit.

Începe de la clientul de la distanță și urmează calea

Dintr-o rețea de hotel te conectezi la routerul de acasă, care este singurul punct final mereu activ din imagine. O cerere de trezire scrisă pe laptop devine trafic obișnuit de tunel, adresat oricărei destinații pe care ai numit-o. Acea destinație decide tot ce urmează.

Dacă ai trimis-o la adresa LAN a routerului de acasă pe portul magic packet, routerul poate accepta datagrama și nu va emite niciodată un cadru pe segmentul de acasă, pentru că nimic de acolo nu ascultă acel port. Dacă o difuzezi în interiorul tunelului, se oprește la interfața tunelului. Un tunel rutat nu este o extensie de nivel 2 a cablajului casei. Urmează calea salt cu salt și fundătura devine evidentă.

Verificarea care lămurește asta cere o comandă din partea îndepărtată și una din partea casei. Trimite cererea, apoi urmărește segmentul de acasă pentru cadru.

Mută expeditorul pe segmentul de acasă

Routerul poate face trezirea el însuși după ce te-ai autentificat prin tunel. OpenWrt documentează un serviciu Wake-on-LAN care rulează pe dispozitiv și emite cadrul local, și exact aceasta este forma necesară: autentificare la distanță afară, difuzare locală înăuntru.

Această aranjare ține și funcția de trezire departe de internetul public. Nimic nou nu este expus internetului, pentru că declanșatorul merge pe VPN-ul în care ai deja încredere. Alternativa, un serviciu de trezire cu port redirecționat, schimbă un mic confort pe un punct final orientat spre internet pe care oricine îl poate sonda.

Dependența circulară merită numită direct. Un client VPN instalat pe desktop nu poate trezi acel desktop, pentru că procesul clientului are nevoie de mașina în funcțiune. Ține punctul de intrare la distanță pe router sau pe o altă cutie mereu activă, și lasă desktopul să fie doar o țintă.

Confirmă ținta înainte de a da vina pe tunel

Această parte este decisă de hardware, nu de VPN, iar starea de alimentare o decide prima. Adaptorul trebuie să accepte trezirea, firmware-ul trebuie să lase adaptorul alimentat în somn, iar sistemul de operare trebuie configurat să permită asta. O mașină suspendată este un caz diferit de una oprită, iar ambele diferă de o mașină a cărei alimentare este întreruptă la perete. Lămurește acea stare înainte de a parcurge restul listei.

Citește adresa de hardware de la adaptorul care va primi efectiv cadrul. Un desktop cu Ethernet și Wi-Fi are adesea două adrese, și doar una dintre ele poate fi capabilă de trezire. Trezirea fără fir este o capacitate separată cu propriile cerințe de firmware, așa că o trezire Ethernet care funcționează nu spune nimic despre trezirea prin Wi-Fi.

Dovedește mai întâi calea locală. Trimite magic packet de pe alt dispozitiv din același comutator și privește mașina ridicându-se. Dacă asta eșuează, nicio cantitate de depanare a tunelului nu va ajuta, iar defectul este în firmware, în setările adaptorului sau în starea de alimentare.

După revenire, conectează-te la serviciul dorit

Trezirea nu este acces la distanță. După ce mașina revine, ea tot trebuie să-și pornească serviciile, să obțină o adresă și să accepte sesiunea de care ai nevoie cu adevărat. Dă-i timp să ajungă în acea stare înainte de a concluziona că trezirea a eșuat.

# remote side: trigger the wake through the already-authenticated tunnel
ssh [email protected] 'wol -i br-lan 3c:7a:8f:2b:11:04'

# home side: is the target answering on the LAN?
ping -c 3 10.10.0.42
arp -n 10.10.0.42

Linia arp este cea utilă. O intrare care se schimbă din incompletă într-o adresă de hardware reală înseamnă că mașina a revenit și a răspuns; o cerere care nu se rezolvă niciodată indică înapoi spre pasul de trezire, nu spre serviciul pe care încercai să îl atingi.

Separă etapele în notițele tale: trezire, pornire, serviciu. O defecțiune în a doua etapă arată identic cu una în prima dintr-o fereastră de chat, și doar dovada locală le distinge.

Articole similare