Akinek van otthon egy routere (útválasztója), és próbálkozott már valami olyasmivel, hogy az otthoni belső hálózatában lévő eszközöket fizikailag egy külső helyszínről elérje, az bele-beleszaladhatott már a „porttovábbítás” alias „port forwarding” témakörbe.
Nem segít túl sokat a dolgon, hogy vannak routerek / rendszerek, ahol ezt tunnelingnek hívjuk, van ahol virtuális szervernek(!), nat forwardingnak, csak hogy 1-2 példát említsek.
Sokan egy misztikumként tekintenek a témára, pedig valójában nagyon nem az, ha valaki megértette, hogy miről is van szó pontosan, és tudja, hogy mit keressen, akkor akkor utána már gyerekjáték lesz a beállítás.
Mikor találkozhattál vele?
- Ha próbáltál valaha a számítógépeden webszervert, ftp szervert, vagy bármilyen szolgáltatást indítani, amire házon kívülről szerettél volna csatlakozni
- Ha van egy NAS-od, és szeretnéd a routeren kívülről elérni a tartalmakat
- Amikor a router mögött lévő IP-kamerádhoz távolról szeretnél hozzáférni
- Régen mikor DC++-tál, vagy aktív módban torrenteztél
Igazából hosszú listát lehetne írni, de most nem ez lenne a cikk lényege.
A definíció
Egy olyan eljárás, amely a számítógép-hálózatokban lehetővé teszi bizonyos belső hálózati címek külső elérését egy megadott porton keresztül. A port forwarding rendkívül hasznos minden olyan feladat esetében, ahol egy adott lokális hálózat (LAN) egyik belső IP-címét akarjuk elérni egy külső gépről (WAN).
https://hu.wikipedia.org/wiki/Porttov%C3%A1bb%C3%ADt%C3%A1s
Például ha egy belső hálózatban valamelyik munkaállomáson webszervert üzemeltetünk, akkor a két hálózat között kapcsolatot teremtő routeren az alapértelmezett 80-as port forwardolásával (átirányításával) nyílik lehetőség a belső gép elérésére a külső hálózatból.
Kezdjük az egyszerűsített magyarázatot egy kis hálózati gyorstalpalóval
- van otthon egy alhálózatod, méghozzá a 192.168.X.Y tartmányt használod (ez elég gyakori)
- a routered lesz az alapértelmezett átjáró (default gateway), aminek a címe a belső eszközök számára példánk kedvéért 192.068.0.1
- a mobilod, tableted, notebookod mind mind általában DHCP-n kersztül kap egy dinamikus IP címet, pl 192.168.0.77, vagy 0.103, stb. (Minden eszközöd kap egy ilyet egyenként)
Ez volt eddig a te LAN-od, azaz helyi hálózatod. Node a Te routered csatlakozik egy internetszolgáltatóhoz, ami azt mondja, hogy hé, Te router, a te címed WAN (ez a következő szintje a hálózati architektúráknak) viszonylatában az lesz, hogy „90.176.117.151”. Na erre varrjunk gombot.
Akkor most mi az én IP címem?
A Te Laptopodnak ebben a pillanatban valószínűleg (ha router mögül netezel) van egy külső, és egy belső IP címe. Ha beírod a böngésződbe azt, hogy „whatismyip.com„, akkor gyorsan ki fog derülni számodra, hogy mi a Te címed mindenki más számára, aki a világban internetezik.
Ha viszont elindítod a windows parancssort (windows menüben bepötyögöd, hogy „cmd”), és beírod, hogy „ipconfig”, akkor meg fogod kapni a laptopodban lévő hálózati (Ethernet) csatolók alapbeállításait. Itt érdemes az Ethernet adapterre, vagy a Vezetéknélküli helyi hálózati kapcsolat részleteire fókuszálni.
Alapértelmezett átjáró
Látni fogod, hogy az IPv4 Címed 192.168.0.XY (vagy valami hasonló), illetőleg látni fogod az alapértelmezett átjáró azaz a routered címét is. Ez azt jelenti, hogy ha a Te PC-d valamit akar a világtól, akkor odacsörög a routernek, és ledumálják, hogy mit szeretne. Így működik leegyszerűsítve a hálózat.
Csókolom Attila otthon van?
No de mi van akkor, ha a Te routerednek kívülről csörög oda valaki, mondjuk a szomszéd, hogy mondjuk a laptopodról letöltsön valamit? Ahhoz hogy ez megtörténhessen, több dolog egyidejű megvalósulására van szükség:
A szomszédnak kell tudni első körben a pontos címet, utcanevet, házszámot, a mi példánkban ez lesz a külső IP cím.
Ha ez megvan, akkor portán beszélnie kel a nyelvet, hogy szót lehessen vele érteni, tudnia kell bemutatkoznia, hogy kit keres, és mit szeretne, aztán lehet hogy rajta kell lennie a vendéglistán, néha még egy titkos jelszót is kell tudna a továbbiakhoz, elvégre Nem engedünk be mindenkit ész nélkül, szóval ha a fentieket nem tudja valaki, akkor gond van.
Szóval a fenti eset a mi példánkban úgy történhetne, hogy a szomszéd tudja a címünket (külső IP cím), egy megfelelő szoftverrel szeretne dolgozni (például egy FTP kliens szoftver [FTP = File Transfer Protocol, fájlátvitelre létrehozott hálózati protokoll]), és tudja azt, hogy az én PC-m melyik csengővel érhető el ilyen célból. A 17-essel. De azt nem tudja, hogy melyik emelet hányas ajtó az enyém. Ki fogja útbaigazítani, és hogyan?
Szóval kell egy jó portás
Ha a fentieket mind tudja a látogató, az jó dolog, viszont szükség egy jó portásra, és arra, hogy a portásnak meglegyen az útbaigazításhoz szükséges információja. A portás lesz a router. Az útbaigazításhoz szükséges információ pedig egy táblázat, ahol ilyesmiket látni:
- ha Tibi keresi Attilát, és weboldalt szeretne olvasni, ehhez a 44-as csengőt nyomja, akkor irányítsa a 80-as ajtóhoz, földszint/80-as szoba
- ha István keresi Reginát, és fájlokat szeretne másolni ezért a 17es csenegőt nyomja, akkor irányítsa a 21-es ajtóhoz, harmadik emelet/21-es szoba
- ha János jön, és nem tudja mit szeretne, akkor küldje a főnökhöz / vagy az Adminisztrációs irodába / hajtsa el
- ne engedjen be senkit semmikor, akármilyen csengőt is nyomnak
- engedjen be mindenkit, aki Rudolfot szeretné látni és a 999es csengőt nyomja, és küldje őket a 666-os számú purgatóriumba/666
Ahogy látod, van több verzió, annak függvényében hogy ez egy fogorvosi rendelő, egy pékség, vagy egy médiaügynökség (vagy bármi más. :D) A portás azaz a router a fenti infok alapján fog mindenkit útbaigazítani.
Na ezt a fajta átirányítást nevezzük Port továbbításnak.
Egy FTP kliens szoftver (pl. FileZilla) meghív egy IP címet (pl.: 90.176.117.151)
Eléri az azon az IP címen lévő routert
A routernek azt mondja hogy 17 porton keresztül szeretne FTP-zni
A router pedig a 17-es portra beérkező FTP kérést átirányítja a belső hálózati IP cím irányába (pl a 192.168.0.100-as címre)
És megmondja, hogy a belső hálózati IP-n levő eszköznek melyik csengőjét (21-ese) kell nyomni a sikeres kommunikációhoz.
Ugye, hogy nem bonyolult?
Hol lehet Port forwardingot beállítani?
A router adminisztrációs felülete alapesetben a webböngészőből meghívható, itt kell keresni bejelentkezés után a menüt. Ha nem találjuk, érdemes weben tájékozódni, mert gyártónként változó, hogy mit kell keresni pontosan, márpedig minden egyes routerben van ilyen funkció.
UPnP – a könnyítés
Vannak olyan eszközök, amelyek képesek UPnP-re (Universal Plug and Play). Ha neked van egy UPnP képes Nas-od, és egy Routered, akkor például a NASban beklikkeled, hogy milyen portokat szeretnél „nyittatni”, és a NAS az UPnP-n keresztül mindent intéz a routereddel, nincs szükséged arra, hogy a router beállításaiban mélyebben elmerülj.
Biztonság
Fontos az, hogy a routerünkben feleslegesen ne legyen nyitva/továbbítva portok, mert ez a hálózatunk sebezhetőségét jelentné. Minél kevesebb nyitott port, annál jobb. A legbiztonságosabb verzió talán az lenne, hogy egy különleges, titkosított VPN-n kapcsolatod éred el a belső hálózatodon lévő eszközöket kívülről, és minden más portot totálisan letiltasz tűzfal segítségével.
Ezen a linken lévő tool segítségével például lehet azt vizslatni, hogy mely portok vannak nyitva. Ha nem tudjuk, hogy mik ezek, akkor érdemes kiderítenünk,és bizony SOS-ben bezárogatni az, amire nincs szükség, még mielőtt gond lesz!