Vekkje ein sovande heime-PC over VPN: kvar pakken kjem frå
Ein tunnel kan ikkje vekkje maskina han sjølv avsluttar. Legg magic packet på heime-LAN-et, stadfest adapter og straumtilstand, og kople til etterpå.
Du koplar til, rutaren svarar, og stasjonæren blir mørk. Tunnelen er i orden; pakken som skulle ha vekt maskina, nådde aldri segmentet der maskina lyttar. Går du vegen baklengs frå rutaren, ser du kvar han døyr.
Tre einingar har tre oppgåver. Å blande dei saman er den vanlege grunnen til at eit vekkeforsøk går i ring for evig.
Start ved fjernklienten og følg vegen
Frå eit hotellnettverk koplar du til heimerutaren, som er det einaste alltid aktive endepunktet i biletet. Ein vekkeførespurnad du skriv på laptoppen, blir vanleg tunneltrafikk, adressert til kva som helst destinasjon du har namngitt. Den destinasjonen avgjer alt som følgjer.
Viss du sende han til LAN-adressa til heimerutaren på magic-packet-porten, kan rutaren godta datagrammet og aldri senda ut ei ramme på heimesegmentet, fordi ingenting der lyttar på den porten. Viss du kringkastar han inne i tunnelen, stoppar han ved tunellgrensesnittet. Ein ruta tunnel er ikkje ei utviding av lag 2 i leidningsnettet i huset. Følg vegen hopp for hopp, og blindvegen blir tydeleg.
Kontrollen som avgjer dette, krev éin kommando frå fjernsida og éin frå heimesida. Send førespurnaden, og følg deretter med på heimesegmentet etter ramma.
Flytt avsendaren inn på heimesegmentet
Rutaren kan gjere vekkinga sjølv når du først er autentisert gjennom tunnelen. OpenWrt dokumenterer ein Wake-on-LAN-teneste som køyrer på eininga og sender ut ramma lokalt, og det er nøyaktig den forma som trengst: fjernautentisering utanfor, lokal kringkasting innanfor.
Den ordninga held også vekkefunksjonen unna det offentlege internettet. Ingenting nytt blir eksponert mot internettet, fordi utløysaren går over VPN-en du allereie stolar på. Alternativet, ein vekketeneste med vidaresend port, byter litt komfort mot eit internettvendt endepunkt som kven som helst kan sondere.
Den sirkulære avhengnaden er verdt å nemne rett ut. Ein VPN-klient installert på stasjonæren kan ikkje vekkje den stasjonæren, fordi klientprosessen treng at maskina køyrer. Hald fjerninngangspunktet på rutaren eller ein annan alltid aktiv boks, og lat stasjonæren vere berre eit mål.
Stadfest målet før du gir tunnelen skulda
Denne delen blir avgjord av maskinvara, ikkje av VPN-en, og straumtilstanden avgjer han først. Adapteren må støtte vekking, fastvaren må la adapteren vere straumforsynt i dvale, og operativsystemet må vere konfigurert til å tillate det. Ei maskin som er suspendert, er eit anna tilfelle enn ei som er slått av, og begge skil seg frå ei maskin der straumforsyninga er slått av ved veggen. Avklar den tilstanden før du går gjennom resten av lista.
Les maskinvareadressa frå adapteren som faktisk tek imot ramma. Ein stasjonær med både Ethernet og Wi-Fi har ofte to adresser, og berre éi av dei er kanskje i stand til å vekkje. Trådlaus vekking er ein eigen eigenskap med eigne fastvarekrav, så ei fungerande Ethernet-vekking seier ingenting om vekking over Wi-Fi.
Prov den lokale vegen først. Send magic packet frå ei anna eining på same svitsj og sjå maskina kome opp. Viss det feilar, hjelper inga mengd tunnel-feilsøking, og feilen ligg i fastvaren, adapterinnstillingane eller straumtilstanden.
Etter oppvakning, kople til tenesta du ønskte
Vekking er ikkje fjernåtkomst. Når maskina tek til att, må ho framleis starte tenestene sine, få ei adresse og godta økta du faktisk treng. Gi ho tid til å nå den tilstanden før du konkluderer med at vekkinga feila.
# 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
Lina arp er den nyttige. Ei oppføring som skiftar frå ufullstendig til ei ekte maskinvareadresse, tyder at maskina tok til att og svara; ein førespurnad som aldri blir løyst opp, peikar tilbake på vekketrinnet snarare enn på tenesta du prøvde å nå.
Skil fasane i notata dine: vekking, oppstart, teneste. Ein feil i fase to ser identisk ut med ein feil i fase éin frå eit chatvindauge, og berre det lokale beviset skil dei.