porttovábbítás
Port forwardingot több különböző módon lehet megvalósítani, például routereknél, de az egyik leggyakrabban használt módszer az SSH port forwarding, amely lehetővé teszi a hálózati forgalom titkosított továbbítását az SSH kapcsolaton keresztül.
Lokális port forwarding esetén a helyi gépen nyitsz egy portot, amelyen keresztül a forgalmat egy távoli gép egy adott portjára irányítod. Ez akkor hasznos, ha egy távoli gépen futó szolgáltatást (pl. adatbázist) szeretnél elérni a saját gépedről, de az adott szolgáltatás nem érhető el közvetlenül a hálózatban.
Tegyük fel, hogy van egy MySQL szerver a távoli gépen, amely a localhost:3306
porton fut, és ezt a szolgáltatást szeretnéd elérni a helyi gépedről.
ssh -L 3307:localhost:3306 username@remote_server_ip
Magyarázat: - -L 3307:localhost:3306
: A helyi gépen a 3307-es portot nyitja meg, és ezt a forgalmat a távoli gép (remote_server_ip) localhost:3306
portjára továbbítja. - username@remote_server_ip
: A szerver, amelyhez csatlakozol SSH-n keresztül.
Ezek után a saját gépeden a 3307-es porton keresztül hozzáférhetsz a távoli MySQL szerverhez. Például:
mysql -h 127.0.0.1 -P 3307 -u db_user -p
Ez azt jelenti, hogy a localhost:3307
porton keresztül kapcsolódsz a távoli gép MySQL szolgáltatásához.
Távoli port forwarding esetén a távoli gépen nyitsz meg egy portot, amelyre érkező forgalmat továbbítasz a helyi gép egy adott portjára. Ez akkor hasznos, ha egy belső hálózati szolgáltatást kívánsz elérhetővé tenni egy távoli gép számára.
Ha a helyi gépeden fut egy webszerver a 8080-as porton, és azt szeretnéd elérhetővé tenni egy távoli gépen keresztül:
ssh -R 9090:localhost:8080 username@remote_server_ip
Magyarázat: - -R 9090:localhost:8080
: A távoli szerveren a 9090-es portot nyitja meg, és a forgalmat a helyi géped localhost:8080
portjára továbbítja. - username@remote_server_ip
: A távoli szerver, amelyhez csatlakozol.
Ezután a távoli gépen a localhost:9090
porton keresztül elérhető lesz a helyi webszervered, mintha ott futna.
A dinamikus port forwarding segítségével az SSH kapcsolat egyfajta proxyként működik, és többféle kapcsolatot továbbít különböző célpontokra. Ez a módszer leginkább akkor hasznos, ha böngészőn keresztül szeretnél biztonságosan elérni különböző hálózatokat vagy szolgáltatásokat.
Az alábbi parancs egy SOCKS proxy szervert hoz létre a helyi gépeden a 1080-as porton:
ssh -D 1080 username@remote_server_ip
Magyarázat: - -D 1080
: A helyi gépen a 1080-as porton egy SOCKS proxy szervert nyit meg. - username@remote_server_ip
: A távoli szerver, amelyhez csatlakozol.
Ezután a böngésződ proxy beállításaiban megadhatod, hogy a localhost:1080
proxy szerveren keresztül kapcsolódjon az internethez, így a forgalmad titkosítottan halad át az SSH kapcsolaton keresztül.
A router port forwarding (porttovábbítás a routeren keresztül) egy eszköz, amely lehetővé teszi, hogy a router egy adott portjára érkező külső forgalmat egy belső hálózati eszköz egy adott portjára irányítson.
Ha egy webszervert futtatsz egy belső hálózati gépen a 8080-as porton, és szeretnéd, hogy a külső felhasználók hozzáférjenek, beállíthatod a routeren a port forwardingot.
http://external_ip:80
.
A port forwarding különböző módszerekkel lehetővé teszi a hálózati forgalom titkosított vagy átirányított kezelését, legyen szó belső szolgáltatások biztonságos eléréséről vagy külső hozzáférés biztosításáról. Az SSH port forwarding segítségével biztonságosan kapcsolódhatsz távoli szolgáltatásokhoz, míg a router port forwarding lehetővé teszi, hogy a belső hálózati eszközök elérhetők legyenek az interneten keresztül.