Wake-on-LAN përmes VPN ndalon së punuari? Rregullo hyrjen ARP
Paketat magjikë kalojnë tunelin, por ruteri i hedh poshtë kur skadon hyrja ARP e tij. Krahasoni tre rrugë dërgimi, pastaj fiksoni përgjithmonë adresën MAC.
Dërgoni një paketë zgjimi menjëherë pas fikjes dhe PC-ja kthehet; i njëjti komandë të nesërmen në mëngjes nuk bën asgjë. Asgjë në konfigurimin e VPN nuk ka ndryshuar, dhe përcjellja e portit vazhdon të tregojë adresën e saktë. Ndryshimi është koha: tabela e fqinjëve e ruterit ka harruar makinën në gjumë, prandaj nuk ka adresë MAC për të vendosur në kornizë. Pikërisht ky skadim, jo tuneli, shpjegon shumicën e dështimeve të Wake-on-LAN përmes VPN.
Zgjimi i parë funksionon dhe i radhës jo
Një ruter përcjell një kornizë në një adresë private duke kërkuar destinacionin në tabelën e fqinjëve. Sa kohë makina punon, ajo përgjigjet ndaj ARP, prandaj hartëzimi mbetet i freskët. Kur fiket, asgjë nuk përgjigjet, hyrja plaket pas disa minutash, dhe kornizat e mëvonshme për atë adresë hidhen poshtë edhe pse IP-ja dhe përcjellja e portit mbeten të vlefshme.
Modeli ju tregon se cili dështim keni. Një zgjim që nuk funksionon kurrë tregon dërgimin: port i gabuar, destinacion i gabuar ose një firewall që e hedh paketën para se të arrijë në LAN. Një zgjim që funksionon një herë dhe pastaj dështon për orë të tëra tregon hyrjen e fqinjit. Një zgjim që funksionon derisa ndryshon qiraja DHCP tregon adresimin, të cilin e rregullon një rezervim.
Konfirmoni se adresa është e qëndrueshme përpara se të prekni ARP. Nëse makina në gjumë merr një adresë të re pas skadimit të qirasë, një hyrje fqinji e fiksuar për adresën e vjetër do të jetë njëkohësisht e përhershme dhe e padobishme. Së pari vendosni një rezervim DHCP që adresa t'i mbijetojë rindezjeve.
Çfarë i nevojitet paketës magjike nga rrjeti
Ngarkesa është e thjeshtë: 102 bajt nga gjashtë bajt 0xFF të ndjekur nga adresa MAC e synuar gjashtëmbëdhjetë herë, zakonisht të dërguara në portin UDP 9. Në një LAN të sheshtë del si transmetim, çdo port e merr atë, dhe karta e rrjetit e fikur njeh adresën e vet.
Përmes një VPN paketa arrin në ruter si unicast drejt një adrese private ose si transmetim i drejtuar drejt nënrrjetit. Në rastin unicast ruteri duhet ta zgjidhë destinacionin në një adresë MAC para se ta vendosë kornizën në LAN, dhe pikërisht ajo zgjidhje dështon sa kohë hosti fle.
Disa mjete dërgojnë në portin 7 në vend të 9, dhe disa pajisje bllokojnë si parazgjedhje transmetimin e drejtuar. Këto janë dështime dërgimi, jo ARP, prandaj kontrolloni destinacionin dhe portin përpara se të ndryshoni tabelën e fqinjëve.
Tre rrugë drejt një hosti në gjumë
Keni tre mënyra praktike për ta çuar kornizën në LAN, dhe zgjedhja e saktë varet nga ajo që kontrolloni.
| Method | What it needs | Where it breaks |
|---|---|---|
| Subnet-directed broadcast | A wake tool that accepts a broadcast address and a router that forwards it | Broadcast filtering, or a tool that only takes a MAC |
| Helper on the LAN | An always-on host such as the VPN server | No suitable host, or the host cannot reach the target VLAN |
| Permanent neighbour entry | Router shell access and the target MAC | NIC replacement or address change |
Zgjidhni hostin ndihmës kur ekziston, sepse transmeton në lidhje dhe nuk kërkon asnjë përjashtim në ruter. Zgjidhni transmetimin e drejtuar kur ruteri tashmë e lejon dhe mjeti i zgjimit pranon një adresë. Zgjidhni hyrjen statike kur asnjëra nuk është e disponueshme dhe mund të ekzekutoni një komandë në ruter.
Këto nuk përjashtojnë njëra-tjetrën. Një hyrje e përhershme lejon edhe rrugën unicast të mbijetojë gjumin, që është e dobishme kur klienti VPN mund të dërgojë vetëm në një adresë të caktuar.
Bëni të përhershme hyrjen e fqinjit
Në një ruter me shell Linux, një komandë e fikson hartëzimin. Vlerat këtu i përkasin një LAN shembull dhe duhet të zëvendësohen me tuajat:
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.23Gjendja nud permanent e mban hyrjen përtej afateve ARP dhe e përdor për përcjellje sa kohë makina është e fikur. Komanda e dytë provon që hyrja ekziston dhe tregon ndërfaqen të cilës i përket, që ka rëndësi në ruterat me një urë mysafirësh ose VLAN të veçantë.
Bëjeni rezistente ndaj rindezjes përmes çdo grep që ofron firmware-i: një skript në /jffs/scripts në Asuswrt-Merlin, një njësi systemd oneshot në një server Linux si portë, një Neighbor= stanza në systemd-networkd, ose një hyrje në /etc/ethers që mjetet lokale e lexojnë. Një komandë e shtypur në shell zhduket në rindezjen tjetër, dhe kjo është arsyeja më e zakonshme pse një rregullim që funksionon duket se ndalon.
Testojeni nga jashtë dhe dini kur ta hiqni
Vini makinën në gjumë dhe prisni të paktën dhjetë minuta, mjaftueshëm që çdo hyrje dinamike të skadojë. Pastaj dërgoni kërkesën e zgjimit nga klienti VPN dhe vëzhgoni të dy anët e ruterit:
tcpdump -ni tun0 udp port 9
tcpdump -ni br0 ether proto 0x0806 or udp port 9Kapja e parë provon që paketa erdhi nga tuneli; e dyta provon që ruteri vendosi një kornizë në LAN. Një paketë magjike e vlefshme shfaqet si 102 bajt me MAC të përsëritur, prandaj kontrolloni gjatësinë dhe destinacionin. Nëse korniza largohet nga ura LAN dhe makina mbetet e fikur, problemi i mbetur është në pajisje: nisje e shpejtë, gjumë i thellë ose një cilësim BIOS që ndërpret energjinë e kartës së rrjetit.
Hiqni hyrjen kur ndryshon karta e rrjetit, dhe përditësojeni kur e zhvendosni makinën në një adresë tjetër. Një hartëzim i përhershëm është një përjashtim i qëllimshëm, dhe një përjashtim që askush nuk e mban mend është mënyra se si një laptop i ardhshëm fillon të marrë korniza të destinuara për një desktop të pensionuar.