Bizonyára sokan kerültünk már olyan helyzetbe, hogy otthoni, munkahelyi, vagy máshol szunnyadó számítógépünket be kellett volna indítani, de senki nem volt a gép közelében, aki ezt megtehette volna nekünk. Az alábbi cikkem ennek egy megoldására ad tanácsokat.

A megoldás egy általánosan (és informatikai körökben gyakran) használt Wake On LAN (röviden WOL), azaz helyi hálózaton történő ébresztésnek nevezett eljárás.

Ahhoz, hogy a használhassuk, néhány fogalmat meg kell, hogy értsünk! Akik nem annyira jártasak a számítógép-hálózati fogalmak terén, azoknak annyi segítséget adok egy közigazgatási hasonlattal élve, hogy az IP-cím a hálózati eszköznek (számítógép, Router...stb.) olyan, mint a lakásnak a postai címe és a tulajdonos neve, a MAC-address a hálózaton kommunikáló eszközök közt pedig olyan, mint a lakás helyrajzi száma. A DNS (doménnév szolgáltatás) pedig talán olyan, mint a lakcím nyilvántartó a Belügyminisztériumban, mely megmondja, hogy milyen helyrajzi szám milyen lakcímhez és tulajdonoshoz (név) tartozik...

Egy lakás címe változhat (pl. politikai okokból), de a helyrajzi szám sokkal stabilabb dolog, ritkán változik.

Ebből már sejthető, hogy a MAC-address (MAC-cím) néhány kivételtől eltekintve a gyárban beállításra kerül, és nem is változtatható meg, kivéve az újabb Router-ekben. De IP-cím (lakcím) és doménnév (háztulajdonos neve) összerendelés akárhányszor módosítható... A MAC-address-ről itt nem szólok többet, csak a tisztább érthetőség miatt említettem meg.

Egy számítógép IP-címe, mely a hálózaton őt azonosítja attól függ, hogy az melyik hálózatban lett bekapcsolva, hogy a hálózati IP-címeket nyilvántartó és kiosztó szolgáltatás (ami otthon a Router-ben üzemel és DHCP a neve) milyen egyedi címet oszt ki a gépnek. Szabály, hogy egy helyi hálózatban minden IP-címből csak egy darab lehet, különben nem lennének egyértelműen azonosíthatók a gépek!

Előfordulhat tehát, hogy otthon a laptopunk például a 192.168.0.123 címet, míg a munkahelyi hálózatra dugva a 10.12.2.46 címet kapja. Két fontos dolog van ebben. Az egyik az, hogy az IP-cím (IPV4, tehát a manapság többnyire használatos hálózati mód esetén)  mindig 4 darab 0..255-ig terjedő pontokkal elválasztott számból áll. A másik, hogy a szabványok szerint a 10 és 192 kezdetű címek mindig helyi (lokális) hálózatokat jelentenek. Tehát otthon, illetve a munkahelyen a hálózati címek vélhetően így kezdődnek. Az olyan hálózat, amely nem helyi (pl. egy Internet szolgáltató cég hálózata), amihez a Router-ünk is csatlakozik, ha van előfizetésünk, más kezdetű címet kap (pl. 89.132.30.178 a UPC-nek). A Router tehát többek közt annyit csinál, hogy összeilleszti az alábbi módon a kinti világot a helyi hálózattal, mivel e két világ IP-címzése különböző. Az automatikus IP-cím kiosztást és nyilvántartást a Router-ben helyi hálózati szinten egy DHCP-nek hívott szolgáltatás végzi. Ha ez nincs (pl. letiltották a Router-ben), akkor a gépeknek előre, kézzel be kell állítani az EGYEDI IP-címet! Ha véletlenül mégis két egyforma IP-cím jelenik meg a hálózaton, akkor az elsőként bekapcsolt gépen az IP-cím ütközést jelző hibaüzenet jelenik meg ha a másodikat is bekapcsolják.

Az Interneten minden Router önálló számítógépként szerepel, így tehát IP-címet kap. Nem lokálisat (192-vel, vagy 10-zel kezdődőt), hanem globálisat. Tehát, ha egy Router-re négy számítógép kapcsolódik a lokális oldalon, azok mind ugyanezen az IP-címen kommunikálnak a kifelé a külvilággal! Ezt nagyon fontos megértenünk és megjegyeznünk!

Amikor egy gép felébresztő üzenetet küld egy az Interneten lévő másik távoli gépnek, akkor az üzenethez tartozó fejlécben (ami automatikusan kezelődik) belekerül a helyi IP-cím, a helyi MAC-address (fizikai azonosító), a távoli gép MAC címe és IP címe, valamint a port sorszáma.

No igen, a port (kapu). Erről még nem beszéltünk. A számítógépünket úgy is felfoghatjuk, mint egy több üggyel is foglalkozó hivatalt, hatóságot. Minden ott lévő, különböző fajta ügyekkel foglalkozó osztály más szobaszámon található. Tehát más az építési osztály, más a vállalkozásokkal kapcsolatos, más a bírságokat behajtó... stb irodájának szobaszáma.

A számítógépünkben futnak programok, szolgáltatások és mindegyik más és más port-számmal van azonosítva. Pl. ha weblapokat szolgáltatunk a külvilág számára, akkor 80-as a port, a kapu, amin elérhető. Míg ha a Skype üzemel, az meg esetenként a 443-as porton érhető el ugyanazon a gépen. Amikor az Internetről egy üzenet érkezik a helyi hálózat egyik számítógépéhez (mert ugyebár több gép is lehet a helyi hálózatunkon beleértve a mobil telefonokat és tableteket is), a Router az üzenet fejlécében tárolt IP-cím alapján dönti el, hogy melyik gép a címzett és a gép pedig a port-szám alapján tudja, hogy az üzenet melyik programnak szól. Amikor a program válaszol, szintén egy portot és címet tesz a fejlécbe, ami alapján a másik gép elérhetővé válik a számára.

A Router-ben (biztonsági okokból) beépítettek egy lehetőséget, amivel a Router át tudja fordítani a külvilág felé használatos portokat a helyi portokká. Például önkényesen dönthetünk úgy is, hogy a helyi hálózaton a szolgáltatott weblapjaink ne a 80-as porton legyenek elérhetők, hanem például (a hasamra ütöttem) a 10342-esen. Ezt a Router-ben beállíthatjuk, és akkor az összerendelés alapján a Router mindig tudni fogja, hogy az a csomag, ami a 10342 porton jött, a 80-as porton figyelő programnak küldendő tovább. A portok száma 0..65535-ig terjedhet (két byte) és az alsó 1024 port az idők során kialakult sztenderd. Pl. a weblap a 80-as... stb. Ezeket a port számokat nem kell fejből tudni. Jól beállított rendszer automatikusan kezeli a háttérben ezeket. Egy-egy esetben akkor kell mégis pontosan tudnunk egy portot, ha valamilyen szolgáltatást magunk szeretnénk bekonfigurálni...

A hálózati kommunikáció ennél jóval összetettebb, de ennyi már elég ahhoz, hogy megértsük a teendőket.

A WOL (Wake On LAN) a gépeket MAC-address alapján találja meg! Miért? Azért mert gépek IP-címmel csak éber állapotban, amikor már üzemelnek és címet kaptak, akkor rendelkeznek. Alvó gépnek (hasonlattal élve - forgalomból kivont autónak nincs rendszáma) nincs IP-címe! Csak a fizikai cím (MAC-address, csak alvázszám) alapján szólítható meg. Kérdezhetné valaki, ha a gép alszik, miként tudja értelmezni a neki küldött felébresztő csomagot? Nos a mai gépeknek létezik több kikapcsolt állapota is. Az egyik az, mikor áramtalanítjuk. Ekkor nem ébreszthetők fel. Aztán van, mikor csak leállítjuk (a Start menüből pl. Windows-ban). Ilyenkor a gép leáll, de a hálózati kommunikációt végző pici kis számítógépecske a hálózati kártyán továbbra is áramot kap és üzemel. Üzemel és árgus szemekkel figyel a 9-es porton. Amikor ezen a 9-es (vagy még a 11-es is használatos) porton egy adott, szabványban meghatározott adatsorozat (Magic packet, azaz mágikus csomag) érkezik, a hálózati kártya rögvest felébreszti a gépet.

Helyi hálózaton is felébreszthetik egymást a gépek. Erre lehet szükség például akkor, ha az ágyban lévő laptopunkkal szeretnénk a letöltött filmek közül egyet megnézni, de a filmek egy másik gépen tárolódnak és az a másik kollégiumi épületben lévő gép ki van kapcsolva. Ekkor nem kell kimászni az ágyból és átmenni az udvaron át a másik épületbe, hanem csak felébresztjük, várunk pár percet, míg rendesen beindul és kész. A felébresztéshez egy speciális programot, vagy parancsot kell használnunk. Linux-on a Gwakeonlan, míg Windows-on a (cikk alján letölthető) Wolcmd nevű programocskák ilyenek. Előre beállítjuk rajtuk a felébresztendő gép IP-címét (ha globális, azaz távoli, akkor azt), MAC-address-ét, és a port számot (9). Ezek után csak egy gombot kell a programon megnyomni a távoli ébresztéshez. A Wolcmd parancssori módot tud csak, ezért utána kell írni az iménti paramétereket az indításhoz.

Léteznek olyan honlapok is, ahol beírjuk a szükséges adatokat (IP-cím, MAC-address, 9-es port) és megnyomva a gombot a TÁVOLI honlap elküldi az ébresztő parancsot. A kezdeti próbákhoz és beállításokhoz ez a legkényelmesebb megoldás. Ilyenkor nem kell senki segítségét kérnünk...

Honnan tudható meg az ébreszteni kívánt gép MAC-addresse? A parancssorból kiadott ifconfig parancs kiírja. Linuxon ilyenkor például a HWaddr 00:1e:8c:74:4b:46 szövegrészlet jelenti a MAC-addrest. Ebből a kettőspontokkal elválasztott számsorozatot kell felírnunk magunknak és elvinnünk az ébresztő parancsot kiadó géphez. Windows-on a cmd.exe parancssori ablakba írjuk be az ipconfig /all parancsot. Itt ugyanígy kiírásra kerül a MAC-address...

Távoli, az Interneten át való ébresztésnél viszont szükség van a Router globális címére is , amelyik mögött az ébresztendő gép is szunnyad. Honnan tudható ez? A megoldáshoz több lehetőségünk is kínálkozik. A legegyszerűbb az, ha a szolgáltatónktól fix IP-címet vásárlunk. Ez költséges és nem is mindig járható út (pl. munkahelyi gép). A másik pedig a DynDNS használata, aminek megértéséhez egy másik cikkem nyújthat segítséget. A harmadik az, hogy reménykedünk, hogy a szolgáltató nem változtatja az IP-címünket egy darabig, illetve a Router nem veszti el egy időre a kapcsolatot. Egy adott router IP-címét (a külvilág felé) a Router admin felületén, vagy a http://www.myipaddress.com/show-my-ip-address/ oldalon nézhetjük meg (azon az hálózaton, ahol a szunnyadó gép van). Az így kinyert globális IP-címet kell megadni az ébresztést végző programoknak.

Még egy fontos dolog van, amit meg kell értenünk. Gondoljunk bele! Kintről jön a Router-en át egy kis ébresztő üzenet, egy MAC-address-el és a 9-es porttal megjelölve. A Router mögötti helyi hálózaton van több gép. Honnan fogja tudni szegény Router, hogy melyik gépnek szól az ébresztő parancs? Szerencsés esetben a Router a mögötte lévő összes gépnek megküldi az ébresztést. Akire ez vonatkozik, az magára ismer a saját MAC-címére ismerve és felébred.

De azt is lehet, hogy csak az adott gép kapjon üzenetet. Ekkor a DHCP-ben be kell állítanunk, hogy az adott MAC-address-hez mindig egy általunk megadott IP-cím osztódjon ki! Ez azt jelenti majd, hogy akárhányszor beindítjuk azon a hálózaton azt a gépünket, mindig az általunk előre beállított, fix IP-címet fogja az megkapni. Ha a gépet másik hálózatba visszük (mert mondjuk az egy laptop), ott persze ez nem lesz igaz!

A router-ekben és a számítógépekben üzemelnek tűzfalak. Ezek olyan falaknak foghatók fel, amelyeken csak ott van lyuk, ahol a szolgáltatásokat végző osztályoknak vannak az ajtói (a korábbi, hivatalt használó hasonlatom szerint). Tehát a 0...65535-ig terjedő portok közül a tűzfal azokat a portokat (kapukat) tartja nyitva, amelyek mögött valóban léteznek figyelő programok. Ilyen figyelő például a 9-es porton a WOL a hálózati kártyában.

Mik kellenek tehát ahhoz, hogy egy távoli számítógépet beindíthassunk?

  • Legelőször is az kell, hogy adminisztrátori jogunk legyen az indítani kívánt gép oldali Router-hez! Ha ez nincs, akkor trükközéshez kell folyamodnunk, melynek ismertetése túlmutat e cikk keretein.
  • Ennek a (távoli) routernek támogatnia kell a mágikus csomag átengedését! Rengeteg router van, ami erre képtelen, ott nincs lehetőség külső (WAN), csak helyi (LAN) indításra!!! Kár is tovább kínlódni a dologgal. Ilyen router például a T-online által telepített (Technicolor) fajta. És bármit is engedélyezünk, a csomag, akkor sem jut át (a szolgáltató miatt)! Még DMZ használata esetén sem! Kivéve, ha a szolgáltatónál kérjük a NAT-olás kikapcsolását.
  • Kell egy program (pl. gwakeonlan), ami kiadja a WOL-parancsot a távoli gépnek.
  • Tudnunk kell a távoli gép MAC-address-ét és be kell állítanunk ebben a programban. Tehát fel kell írnunk azt egy papírra és a másik helyen ezt kell beállítani az ébresztő gépen.
  • A távoli (ébresztendő gép oldali) Router-ben a tűzfalon be kell állítani, hogy melyik IP-címhez tartozik (fixen) a MAC-address, amit ébreszteni akarunk (DHCP beállításoknál).
  • Ugyanezen a Router-en az ébresztendő gép IP-címét fixen össze kell rendelnünk a 9-es porttal (a Port Forwarding menüpontban).
  • A távoli gépnek ébreszthető módon kell kikapcsolva lenni!
  • A távoli gép BIOS-ában engedélyezni kell a WOL-t!
  • Ha szükséges, Operációs rendszerben is engedélyezni kell (pl. Windows 7, 10 és 11 ilyenek)
  • Amikor a gép beindul, a tűzfalon engedélyezve kell legyenek azok a portok, amiken keresztül a gépet használni szeretnénk az ébresztést követően. 22-es port ssh esetén, 5900-as VNC esetén, 21-es FTP esetén...stb.

Fontos! A kizárólag csak Wi-Fi hálózatra kapcsolt gépet többnyire nem lehet WOL-al felébreszteni! Ezért érdemes vezetékkel (UTP-kábellel) csatlakoztatni azt.

Mi van, ha nem működik, ha nem indul be a távoli gép? Ilyenkor indítsa be valaki az ébreszteni kívánt gépet (skype-n történő kapcsolattartás mellett) és indítson el rajta egy Windows-os, Wake on Lan Monitor/Sniffer nevű programot (letölthető a cikk alján)! Ez kiírja, mikor az ébresztő parancsot kiadták és az megérkezik. Ha nem ír ki semmit, akkor a felébresztő mágikus csomag (Magic Packet, ahogyan angolul hívják) nem érkezett meg. Ilyenkor a gépet tegyük ki egymagában a Router helyére (vagy esetleg DMZ-be) és próbáljuk meg úgy elküldeni neki a mágikus csomagot! Ha ez sem megy, akkor nézzük meg, hogy helyi hálózaton egy másik számítógép fel bírja-e ébreszteni az ébresztendőt!

Linux alatt sokkal egyszerűbb a mágikus csomag monitorozása terminálból (Ctrl + Alt + T)  kiadva az alábbi kis parancsot:

sudo nc -ul 9

ahol a 9 a port száma.

Erre az alábbi ákombákom jelenik meg a kiadott parancs alatt, amikor egy másik gépről elküldjük a mágikus csomagot:

�������P�N�X�P�N�X�P�N�X�P�N�X�P�N�X�P�N�X�P�N�X�P�N�X�P�N�X
�P�N�X�P�N�X�P�N�X�P�N�X�P�N�X�P�N�X�P�N�X

Ezek után hiába küldünk újabb csomagokat, nem jelenik meg újabb sor. Ctrl + C-vel ki kell belőle lépnünk és újra beírni a parancsot a további figyeléshez!

Mi van akkor, ha a Port forwarding-ot jól állítottuk be és Internet felől, mobil telefonos applikációval (pl. VolON), helyesen kiválasztva rajta a WAN WOL opciót, mágikus csomagot küldve mégsem látjuk a fenti csomag megérkezését a gépünkre? Nos ebben az esetben hívjuk fel internet-szolgáltatónk technikai segítségét és kérjük, hogy kapcsolják ki a NAT-ot! Jelenleg erre többnyire még hajlandók. Fontos, hogy ezt csak indokolt esetben kérjük akkor, ha valamilyen olyan szolgáltatást üzemeltetünk a helyi hálózatunkon, ami e-nélkül nem érhető el! A NAT-ot a szolgáltatók az IP-címtartománnyal való helyes gazdálkodás miatt alkalmazzák. Ha mindenki kérni fogja a kikapcsolását, ha kell, ha nem, az azt fogja eredményezni, hogy mindenkinek bekapcsolják a NAT-ot. Az pedig cudar világot fog eredményezni. A kérdés némelyekben felmerülhet, hogy ez a NAT dolog miért teszi lehetetlenné szolgáltatásaink, vagy a WOL funkció elérését? A válasz egyszerű. Ez a cikk bemutatta, hogy saját router-ünkön hogyan állítsuk be a Portforwarding-ot (NAT-ot). Ha a szolgáltató betesz a mi router-ünk elé egy olyan Portforwarding-ot, amire mi már nem lehetünk hatással, akkor hiába állítottunk be mindent helyileg jól.

Mi van akkor, ha a routerünk nem támogatja a mágikus csomagok átengedését (a fogadó oldalon)? Akkor érdemes egy kis fogyasztású számítógépet (Raspberry PI, vagy valamilyen Barebone) folyamatosan üzemeltetni. Arra bejelentkezve és onnan kiadva az ébresztő parancsot, az helyi hálózaton (LAN-on) már biztosan el tudja érni a célját! Persze akkor erre a kis fogyasztású kis gépecskére fel kell telepíteni valamilyen életképes operációs rendszert is (DD-WRT, vagy valami Linux, esetleg Windows 10). Persze nagy luxus, ha csak az időnként elküldendő mágikus csomag miatt működtetünk egy ilyen kis gépet. Érdemes egyéb szolgáltatásokat is telepíteni rá (pl. saját NextCloud felhőt) De ennek elkészítése már túlmutat e cikk keretein.

Ha sikerül a távoli ébresztést rendesen beállítanunk és az működik is, örülhetünk. De ha egyszerre több gépet is fel kívánunk ébreszteni és ezt egy mágikus csomagokat "egyszerre" küldő szkripttel kívánjuk megtenni, az egyes gépek ébresztése közé feltétlenül tegyünk be 10 másodperces várakozásokat! Ugyanis, ha erre nem ügyelünk, a sok csomag hirtelen szinte egyszerre ébreszti a gépeinket, azok nagy indulási áramfelvételt előidézve leverhetik a biztosítékot és onnantól már semmivel nem lehet őket felébreszteni, csak ha kézzel visszakapcsoljuk az áramellátást... wink

Aki tud angolul, annak itt van egy nagyszerű leírás a szükséges műveletekről.

A fenti leírás első olvasatra talán kissé bonyolultnak tűnhet. Ha valaki mégsem tud megbirkózni ilyesmivel, kérje szakember segítségét!

Sok sikert kívánok!

Attachments:
Download this file (wakeonlanmonitor.zip)wakeonlanmonitor.zip[Mágikus csomag megérkezést ellenőrző program Windows-ra]184 kB
Download this file (wolcmd.zip)wolcmd.zip[WOL parancssorból]27 kB
We use cookies

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.